zabbix的日常监控-磁盘性能监控

Posted 无敌仙人掌

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了zabbix的日常监控-磁盘性能监控相关的知识,希望对你有一定的参考价值。

监控磁盘的性能

参考文章:

https://wiki.enchtex.info/howto/zabbix/zabbix_iostat_monitoring

https://blog.csdn.net/xiegh2014/article/details/70576180

https://blog.csdn.net/bobpen/article/details/53408214

 

创建好的模板:链接:https://pan.baidu.com/s/1-dNwl-yrRsSNgobWPvVflw 密码:0j9u

 

一、agent端操作:

1、安装iostat命令

yum install sysstat

2、创建脚本目录

mkdir /etc/zabbix/scripts
cd /etc/zabbix/scripts/

 

3、脚本内容

vim disk_scan.sh
#!/bin/bash
diskarray=(`cat /proc/diskstats |grep -E "\\bsd[abcdefg]\\b|\\bvd[abcdefg]\\b"|grep -i "\\b$1\\b"|awk \'{print $3}\'|sort|uniq   2>/dev/null`)
length=${#diskarray[@]}
printf "{\\n"
printf  \'\\t\'"\\"data\\":["
for ((i=0;i<$length;i++))
do
         printf \'\\n\\t\\t{\'
         printf "\\"{#DISKNAME}\\":\\"${diskarray[$i]}\\"}"
         if [ $i -lt $[$length-1] ];then
                 printf \',\'
         fi
done
printf  "\\n\\t]\\n"
printf "}\\n"

 4、修改权限

chown root:zabbix -R /etc/zabbix/scripts/
chmod 750 /etc/zabbix/scripts/
chmod 550 /etc/zabbix/scripts/iostat.sh

5、脚本测试

[root@agent scripts]# sudo -u zabbix /usr/bin/sh /etc/zabbix/scripts/disk_scan.sh
{
    "data":[
        {"{#DISKNAME}":"sda"}
    ]
}
[root@agent scripts]# 

6、使用iostat获取硬盘性能信息,并将该信息写入文本中

  echo "* * * * * /usr/bin/iostat -mx > /tmp/iostat_output 2>&1" >>/var/spool/cron/root
  echo "* * * * * sleep 20;/usr/bin/iostat -mx > /tmp/iostat_output 2>&1" >>/var/spool/cron/root
  echo "* * * * * sleep 40;/usr/bin/iostat -mx > /tmp/iostat_output 2>&1" >>/var/spool/cron/root

7、添加下述内容至zabbix agent配置文件中

UserParameter=io.scandisk[*],/etc/zabbix/scripts/disk_scan.sh $1
UserParameter=io.rrqm[*],/usr/bin/tail /tmp/iostat_output |grep "\\b$1\\b"|tail -1|awk \'{print $$2}\'
UserParameter=io.wrqm[*],/usr/bin/tail /tmp/iostat_output |grep "\\b$1\\b"|tail -1|awk \'{print $$3}\'
UserParameter=io.rps[*],/usr/bin/tail /tmp/iostat_output |grep "\\b$1\\b"|tail -1|awk \'{print $$4}\'
UserParameter=io.wps[*],/usr/bin/tail /tmp/iostat_output |grep "\\b$1\\b" |tail -1|awk \'{print $$5}\'
UserParameter=io.rMBps[*],/usr/bin/tail /tmp/iostat_output |grep "\\b$1\\b" |tail -1|awk \'{print $$6}\'
UserParameter=io.wMBps[*],/usr/bin/tail /tmp/iostat_output |grep "\\b$1\\b" |tail -1|awk \'{print $$7}\'
UserParameter=io.avgrq-sz[*],/usr/bin/tail /tmp/iostat_output |grep "\\b$1\\b" |tail -1|awk \'{print $$8}\'
UserParameter=io.avgqu-sz[*],/usr/bin/tail /tmp/iostat_output |grep "\\b$1\\b" |tail -1|awk \'{print $$9}\'
UserParameter=io.await[*],/usr/bin/tail /tmp/iostat_output |grep "\\b$1\\b" |tail -1|awk \'{print $$10}\'
UserParameter=io.r_await[*],/usr/bin/tail /tmp/iostat_output |grep "\\b$1\\b" |tail -1|awk \'{print $$11}\'
UserParameter=io.w_await[*],/usr/bin/tail /tmp/iostat_output |grep "\\b$1\\b" |tail -1|awk \'{print $$12}\'
UserParameter=io.svctm[*],/usr/bin/tail /tmp/iostat_output |grep "\\b$1\\b" |tail -1|awk \'{print $$13}\'
UserParameter=io.util[*],/usr/bin/tail /tmp/iostat_output |grep "\\b$1\\b" |tail -1|awk \'{print $$14}\'

8、重启zabbix-agent服务

systemctl restart zabbix-agent.service

 

二、服务器端操作如下

1、获取数据测试

[root@zabbix-server zabbix]# zabbix_get -p 10050 -s 10.10.10.99 -k io.util[sda]
0.23
[root@zabbix-server zabbix]# zabbix_get -p 10050 -s 10.10.10.99 -k io.util[sda]
0.23
[root@zabbix-server zabbix]# zabbix_get -p 10050 -s 10.10.10.99 -k io.rps[sda]
0.00
[root@zabbix-server zabbix]# zabbix_get -p 10050 -s 10.10.10.99 -k io.rMBps[sda]
0.00

2、创建模板

模板名称: Template Disk Discovery

 

 名称:Disk discovery   键值:io.scandisk

 

3、创建自动发现规则

 第一个监控项原型示例,其余规则据按照此模型创建即可!!!

 

 

创建好的模型如下:

 

 4、创建图形原型

 

5、创建触发器

 

 

三、最终结果

 

 

以上是关于zabbix的日常监控-磁盘性能监控的主要内容,如果未能解决你的问题,请参考以下文章

Zabbix 上Windows性能监控

Zabbix 上Windows性能监控

轻松部署Zabbix集中监控系统

zabbix之 自动发现磁盘io util 监控

zabbix监控linux服务器的磁盘I/O

zabbix监控mysql+报警