问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

请问zabbix如何监控freenas磁盘信息?

发布网友 发布时间:2022-04-21 19:12

我来回答

1个回答

热心网友 时间:2023-09-21 17:56

自动寻找磁盘

说到底,所有的自动判断都是人为的设置好所有的可能性,然后根据实际情况从中选择,方法有很多,看大家具体要求。在这里,我要对磁盘监控,首先要找出有哪些磁盘,这里使用shell脚本实现。由于zabbix的discovery需要固定的格式,具体可以参考这里,最下面部分。

脚本如下:

1 #!/bin/bash 2 #written by lenwood 3 #mail:ccyhaoran@live.cn 4 diskarray=(`cat /proc/diskstats |grep -E "\bsd[abcdefg]\b|\bxvd[abcdefg]\b"|grep -i "\b$1\b"|awk '{print $3}'|sort|uniq   2>/dev/null`) 5 length=${#diskarray[@]} 6 printf "{\n" 7 printf  '\t'"\"data\":[" 8 for ((i=0;i<$length;i++)) 9 do10         printf '\n\t\t{'11         printf "\"{#DISK_NAME}\":\"${diskarray[$i]}\"}"12         if [ $i -lt $[$length-1] ];then13                 printf ','14         fi15 done16 printf  "\n\t]\n"17 printf "}\n"

如上,这里通过读取/proc/diskstats,选择其中的磁盘,根据实际情况,我这里就找出类似sda或者xvda的,因为我们用的是sata接口的硬盘以及部分阿里云的服务器。

脚本执行出来的结果类似如下

1 {2     "data":[3         {"{#DISK_NAME}":"sda"}4         {"{#DISK_NAME}":"sdb"}5     ]6 }

然后使用zabbix执行这个脚本,那么就要将其写到zabbix_agentd.conf中去,如下

UserParameter=io.scandisk[*],/infra/zabbix/os/disk_scan.sh $1

iostat命令

对于磁盘的监控我采用iostat命令,因为它能给出磁盘的详细信息,如扇区读写情况,io队列长度,iowait,svctime等等。

命令如下:

1 nohup iostat -m -x -d 30 >/tmp/iostat_output &

通过tail -f /tmp/iostat_output,可获得iostat命令收集的磁盘信息,结果类似下面

Device:         rrqm/s   wrqm/s   r/s   w/s    rMB/s    wMB/s avgrq-sz avgqu-sz   await  svctm  %util
hda               0.00     0.20  0.00  7.43     0.00     0.16    43.28     0.23   30.80   2.43   1.81hda1              0.00     0.20  0.00  7.43     0.00     0.16    43.28     0.23   30.80   2.43   1.81hda2              0.00     0.00  0.00  0.00     0.00     0.00     0.00     0.00    0.00   0.00   0.00xvdb              0.00     0.00  0.00  0.00     0.00     0.00     0.00     0.00    0.00   0.00   0.00xvdb1             0.00     0.00  0.00  0.00     0.00     0.00     0.00     0.00    0.00   0.00   0.00hdc               0.00     0.00  0.00  0.00     0.00     0.00     0.00     0.00    0.00   0.00   0.00

其中部分参数的详细解释如下

rrqm/s:   每秒进行 merge 的读操作数目。即 delta(rmerge)/s
wrqm/s:  每秒进行 merge 的写操作数目。即 delta(wmerge)/s
r/s:           每秒完成的读 I/O 设备次数。即 delta(rio)/sw/s:         每秒完成的写 I/O 设备次数。即 delta(wio)/s
rsec/s:    每秒读扇区数。即 delta(rsect)/s
wsec/s:  每秒写扇区数。即 delta(wsect)/s
rkB/s:      每秒读K字节数。是 rsect/s 的一半,因为每扇区大小为512字节。(需要计算)
wkB/s:    每秒写K字节数。是 wsect/s 的一半。(需要计算)
avgrq-sz: 平均每次设备I/O操作的数据大小 (扇区)。delta(rsect+wsect)/delta(rio+wio)
avgqu-sz: 平均I/O队列长度。即 delta(aveq)/s/1000 (因为aveq的单位为毫秒)。
await:    平均每次设备I/O操作的等待时间 (毫秒)。即 delta(ruse+wuse)/delta(rio+wio)
svctm:   平均每次设备I/O操作的服务时间 (毫秒)。即 delta(use)/delta(rio+wio)%util:      一秒中有百分之多少的时间用于 I/O 操作,或者说一秒中有多少时间 I/O 队列是非空的。即 delta(use)/s/1000 (因为use的单位为毫秒)

声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
家里光猫怎么连接手机 50天幼犬泰迪喂多少狗粮 50天的小幼犬金毛怎么养 解冻微波炉要多久多久 解冻 微波炉 多久 华为交换机DHCP配置 微波炉解冻多久多久 微波解冻需要多久 用微波炉解冻多少时间 微波解冻要多少时间 如何用现有系统创建NAS服务器 银杏的种子要怎样播种? 如何在 Synology NAS 上创建共享文件夹 银杏树如何种植 银杏种植方法和注意事项是什么? 小白如何搭建自己的NAS ?学习路线是什么? 银杏种植方法 你算什么鸟 你算个什么东西? 你算什么男人 excel怎样输出打印预览一样的pdf sistar《你算什么》中文译音是什么,求啊~~~ 你算什么,英语翻译 EXCEL如何实现打印预览? 权志龙的你算什么歌词 你算什么东西? 你算鸟什么意思 你算什么东西,古时候用什么字解释? excel没打印机如何打印预览 你算什么东西这句话什么意思? 银杏树种植要求 车辆商业险是保什么 家有2.5寸移动硬盘闲置,利用起来做网络存储,是买... 如何栽种银杏树? 什么是汽车商业保险 银杏树怎么种 linux如何开启nas服务 车子的商业保险保什么用? 银杏树怎么种? [园艺] 银杏树种植需要经历哪些阶段 银杏种子怎么种植才会快速发芽? 银杏种子怎么种植才会快速发芽? 银杏树怎样播种、什么时候播种? 银杏树怎样播种、什么时候播种? 机动车商业保险的险种有哪些 银杏果如何育苗 “银杏树”是怎样繁殖的? 车子的商业保险保什么用 银杏果种植方法 怎样强制复制和粘贴?