zabbix4.0添加磁盘io监控

时间:2023-03-09 08:42:57
zabbix4.0添加磁盘io监控

agent服务器端的操作

1.设置zabbix-agent端的配置文件

找到agent端配置文件的位置,本例agent端的配置文件路径在/usr/local/etc/zabbix下

首先:在主配置文件(zabbix-agentd.conf)中指定agent端监控脚本的存放路径

vim /etc/zabbix_agentd.conf

zabbix4.0添加磁盘io监控

然后:在将监控脚本放到指定位置,监控IO的脚本如下:

#磁盘读的次数
UserParameter=custom.vfs.dev.read.ops[*],cat /proc/diskstats | grep $ | head - | awk '{print $$4}'
#磁盘读的毫秒数
UserParameter=custom.vfs.dev.read.ms[*],cat /proc/diskstats | grep $ | head - | awk '{print $$7}'
#磁盘写的次数
UserParameter=custom.vfs.dev.write.ops[*],cat /proc/diskstats | grep $ | head - | awk '{print $$8}'
#磁盘写的毫秒数
UserParameter=custom.vfs.dev.write.ms[*],cat /proc/diskstats | grep $ | head - | awk '{print $$11}'
UserParameter=custom.vfs.dev.io.active[*],cat /proc/diskstats | grep $ | head - | awk '{print $$12}'
#花费在IO操作上的毫秒数
UserParameter=custom.vfs.dev.io.ms[*],cat /proc/diskstats | grep $ | head - | awk '{print $$13}'
#读扇区的次数(一个扇区的等于512B)
UserParameter=custom.vfs.dev.read.sectors[*],cat /proc/diskstats | grep $ | head - | awk '{print $$6}'
#写扇区的次数(一个扇区的等于512B)
UserParameter=custom.vfs.dev.write.sectors[*],cat /proc/diskstats | grep $ | head - | awk '{print $$10}'

之后在重启agent服务:

service zabbix-agent restart

测试zabbix-server获取数据:

zabbix_get -s 目标服务器IP -p  -k custom.vfs.dev.write.ops[vda]  

zabbix-server的web端操作

打开zabbix-server的web页面,在相应主机上创建监控磁盘IO的监控项

zabbix4.0添加磁盘io监控

此处一定要设置Preprocessing

zabbix4.0添加磁盘io监控

所有监控项的配置如下:

Name: Disk:$:Read:Bytes/sec  //名字可以改动
Key: custom.vfs.dev.read.sectors[sda]
Units: B/sec
Store value: speed per second //会进行差值计算
Use custom multiplier //会对值乘以512,因为这里是一个扇区,转换为字节为512B

类似的配置第二个监控项:

Name:Disk:$:Write:Bytes/sec
Key: custom.vfs.dev.write.sectors[sda]
Units: B/sec
Store value: speed per second
Use custom multiplier

第三个监控项:

Name:Disk:$:Read:ops per second
Key: custom.vfs.dev.read.ops[sda]
Units: ops/second
Store value: speed per second

第四个监控项:

Name: Disk:$:Write:ops per second
Key: custom.vfs.dev.write.ops[sda]
Units: ops/second
Store value: speed per second

第五个监控项:

Name: Disk:$:Read:ms
Key: custom.vfs.dev.read.ms[sda]
Units: ms
Store value: speed per second

第六个监控项:

Name:Disk:$:Write:ms
Key: custom.vfs.dev.write.ms[sda]
Units: ms
Store value: speed per second

成功添加监控项之后,在添加Graphs,由于添加太过简单,此处不做过多说明