agent服务器端的操作
1.设置zabbix-agent端的配置文件
找到agent端配置文件的位置,本例agent端的配置文件路径在/usr/local/etc/zabbix下
首先:在主配置文件(zabbix-agentd.conf)中指定agent端监控脚本的存放路径
vim /etc/zabbix_agentd.conf
然后:在将监控脚本放到指定位置,监控IO的脚本如下:
#磁盘读的次数 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}'
之后在重启agent服务:
service zabbix-agent restart
测试zabbix-server获取数据:
zabbix_get -s 目标服务器IP -p 10050 -k custom.vfs.dev.write.ops[vda]
zabbix-server的web端操作
打开zabbix-server的web页面,在相应主机上创建监控磁盘IO的监控项
此处一定要设置Preprocessing
所有监控项的配置如下:
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
成功添加监控项之后,在添加Graphs,由于添加太过简单,此处不做过多说明