企业级监控软件zabbix使用key来监控IOPS
01.在服务端创建zabbix组configuration---Templates---create template---Template Linux Disk IO=============其中选择组为"Template"
在Template Linux Disk IO中创建Discovery rule:
Name: Disk device discovery
Key: custom.vfs.dev.discovery
Filter Macro{#DISK} Regexp@Disk device for discovery ------------------应用的是我们刚创建的规则
Description: Discovery of disk devices on linux.
zabbix
02.创建----发现规则
administration--General---Regular expressions ---New Regular expressions
Name: Disk device for discovery
Test string: xvdb
Expression: ^(sda|sdb|xvda|xvdb)$
Expression type: Result is TRUE
Case sensitive: Yes
配置完成记得选择test---然后保存:
iops 创建规则
zabbix
03.服务端配置。
下载模板,导入模板:
wget https://raw.githubusercontent.com/dkanbier/zabbix-linux/master/templates/zbx_linux_disk_io_template.xml --no-check-certificate
导入模板 ============= 然后应用
客户端如下操作:
01.创建目录
1015mkdir -p /opt/zabbix/linux
1016cd /opt/zabbix/linux/
1018wget https://raw2.github.com/dkanbier/zabbix-linux/master/LLD/queryDisks.pl--no-check-certificate
1019chmod +x queryDisks.pl
1020chown -R zabbix:zabbix /opt/zabbix/ -R
02.修改配置文件添加如下内容:
/usr/local/etc/zabbix_agentd.conf
UserParameter=custom.vfs.dev.discovery,/opt/zabbix/linux/queryDisks.pl
03.zabbix配置应用:
配置客户端的key,下载客户端KEY文件
wget https://raw2.github.com/dkanbier/zabbix-linux/master/UserParameters/userparameter_linux_disks.conf --no-check-certificate
查看:
# cat userparameter_linux_disks.conf
#See https://www.kernel.org/doc/Documentation/ABI/testing/procfs-diskstats
#
# reads completed successfully
UserParameter=custom.vfs.dev.read.ops
[*],cat /proc/diskstats | egrep $1 | head -1 | awk '{print $$4}'
# sectors read
UserParameter=custom.vfs.dev.read.sectors
[*],cat /proc/diskstats | egrep $1 | head -1 | awk '{print $$6}'
# time spent reading (ms)
UserParameter=custom.vfs.dev.read.ms
[*],cat /proc/diskstats | egrep $1 | head -1 | awk '{print $$7}'
# writes completed
UserParameter=custom.vfs.dev.write.ops
[*],cat /proc/diskstats | egrep $1 | head -1 | awk '{print $$8}'
# sectors written
UserParameter=custom.vfs.dev.write.sectors
[*],cat /proc/diskstats | egrep $1 | head -1 | awk '{print $$10}'
# time spent writing (ms)
UserParameter=custom.vfs.dev.write.ms
[*],cat /proc/diskstats | egrep $1 | head -1 | awk '{print $$11}'
# I/Os currently in progress
UserParameter=custom.vfs.dev.io.active
[*],cat /proc/diskstats | egrep $1 | head -1 | awk '{print $$12}'
# time spent doing I/Os (ms)
UserParameter=custom.vfs.dev.io.ms
[*],cat /proc/diskstats | egrep $1 | head -1 | awk '{print $$13}'
04.重启:
# /etc/rc.d/init.d/zabbix_agentd restart
Shutting down zabbix_agentd:
Starting zabbix_agentd:
#
如下是客户端可以用脚本来执行:
mkdir -p /opt/zabbix/linux && cd /opt/zabbix/linux/ && mkdir /usr/local/etc/zabbix_agentd.conf.d -p && wget https://raw2.github.com/dkanbier/zabbix-linux/master/LLD/queryDisks.pl--no-check-certificate && chmod +x queryDisks.pl&& chown -R zabbix:zabbix /opt/zabbix/ -R && echo "UserParameter=custom.vfs.dev.discovery,/opt/zabbix/linux/queryDisks.pl" >> /usr/local/etc/zabbix_agentd.conf && cd /usr/local/etc/zabbix_agentd.conf.d && wget https://raw2.github.com/dkanbier/zabbix-linux/master/UserParameters/userparameter_linux_disks.conf --no-check-certificate && killall -9 zabbix_agentd && rm -rf /etc/init.d/zabbix_agentd && chown root:root /usr/local/zabbix/ -R && chmod +x /etc/init.d/zabbix_agentd && chmod +x /usr/bin/who && chown root:root /usr/local/zabbix/ -R && sed -i 's/# Include=\/usr\/local\/etc\/zabbix_agentd.conf.d/ Include=\/usr\/local\/etc\/zabbix_agentd.conf.d/' /usr/local/etc/zabbix_agentd.conf && /etc/rc.d/init.d/zabbix_agentd start
然后可以查看效果图:
zabbix
页:
[1]