引言
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 $1 | head -1 | awk '{print $$4}' #磁盘读的毫秒数 UserParameter=custom.vfs.dev.read.ms[*],cat /proc/diskstats | grep $1 | head -1 | awk '{print $$7}' #磁盘写的次数 UserParameter=custom.vfs.dev.write.ops[*],cat /proc/diskstats | grep $1 | head -1 | awk '{print $$8}' #磁盘写的毫秒数 UserParameter=custom.vfs.dev.write.ms[*],cat /proc/diskstats | grep $1 | head -1 | awk '{print $$11}' UserParameter=custom.vfs.dev.io.active[*],cat /proc/diskstats | grep $1 | head -1 | awk '{print $$12}' #花费在IO操作上的毫秒数 UserParameter=custom.vfs.dev.io.ms[*],cat /proc/diskstats | grep $1 | head -1 | awk '{print $$13}' #读扇区的次数(一个扇区的等于512B) UserParameter=custom.vfs.dev.read.sectors[*],cat /proc/diskstats | grep $1 | head -1 | awk '{print $$6}' #写扇区的次数(一个扇区的等于512B) UserParameter=custom.vfs.dev.write.sectors[*],cat /proc/diskstats | grep $1 | head -1 | 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界面—>配置—>模板—创建模板
5、配置监控项
模板->找到刚创建的模板->点击监控项->创建监控项
配置第一个监控项
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
以此类推......(注意自定义倍数和每秒更改的配置)
配置第二个监控项
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 然后点击后面的图形—》创建图形
点击添加—》选择我们配置的监控项
7、查看图形