Zabbix3.x 监控磁盘IO与自定义模板

时间:2021-11-07 10:41:38

引言

Zabbix自带的模板,帮助我们完成了一些比较常用的监控。但如果想要监控磁盘的IO,zabbix并没有给我们提供这么一个模板,所以我们需要自己来创建一个模板来完成磁盘IO的监控。

操作步骤

1、添加userparameter_io.conf配置文件

在/etc/zabbix/zabbix_agentd.d下添加userparameter_io.conf, 文件内容如下:

#磁盘读的次数
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}'

注:需确保 /etc/zabbix/zabbix_agentd.conf Include=/etc/zabbix/zabbix_agentd.d/*.conf 没有被注释掉

2、重启zabbix-agent服务

systemctl restart zabbix-agent

3、测试zabbix-server获取数据

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

4、配置zabbix-server模板

  进入web界面—>配置—>模板—创建模板

Zabbix3.x 监控磁盘IO与自定义模板

5、配置监控项

  模板->找到刚创建的模板->点击监控项->创建监控项

Zabbix3.x 监控磁盘IO与自定义模板

配置第一个监控项
Name: Disk:$1:Read:Bytes/sec
Key: custom.vfs.dev.read.sectors[sda]
Units: B/sec
Store value: speed per second       //会进行差值计算
Use custom multiplier     512     //会对值乘以512,因为这里是一个扇区,转换为字节为512B
Zabbix3.x 监控磁盘IO与自定义模板Zabbix3.x 监控磁盘IO与自定义模板

以此类推......(注意自定义倍数和每秒更改的配置)

配置第二个监控项
Name:Disk:$1:Write:Bytes/sec
Key: custom.vfs.dev.write.sectors[sda]
Units: B/sec
Store value: speed per second
Use custom multiplier     512
配置第三个监控项
Name:Disk:$1:Read:ops per second
Key: custom.vfs.dev.read.ops[sda]
Units: ops/second
Store value: speed per second
配置第四个监控项
Name: Disk:$1:Write:ops per second
Key: custom.vfs.dev.write.ops[sda]
Units: ops/second
Store value: speed per second
配置第五个监控项
Name: Disk:$1:Read:ms
Key: custom.vfs.dev.read.ms[sda]
Units: ms
Store value: speed per second
配置第六个监控项
Name:Disk:$1:Write:ms
Key: custom.vfs.dev.write.ms[sda]
Units: ms
Store value: speed per second

6、添加图形

返回到模板的列表页面,找到我们创建的模板Template io 然后点击后面的图形—》创建图形

点击添加—》选择我们配置的监控项

Zabbix3.x 监控磁盘IO与自定义模板

Zabbix3.x 监控磁盘IO与自定义模板

7、查看图形

Zabbix3.x 监控磁盘IO与自定义模板

参考资料:https://blog.csdn.net/hao134838/article/details/57406028