zabbix3.4.2使用discovery对磁盘IO进行监控

zabbix3.4.2使用discovery对磁盘IO进行监控

一、导入zbx-disk-io-stats.xml模板文件

https://github.com/H-Software/Zabbix-II/blob/master/zabbix-templates/linux-disk-io-stats/zbx_templates_linux_disk_io_stats.xml

注:复制里面的内容,重新新建一个文件如:zbx-disk-io-stats.xml,在zabbix-web端导入模板

二、主机添加Template_Linux_Disk_IO_Stats模板

这里写图片描述

三、修改zabbix-server配置文件

[root@host-47-98-97-124 ~]# vi /usr/local/zabbix/etc/zabbix_agentd.conf
Include=/usr/local/zabbix/etc/zabbix_server.conf.d/*.conf

四、创建Disk-discovery.sh脚本脚本

[root@host-47-106-141-17 scripts]# cat Disk-discovery.sh 

#!/bin/bash

disk_array=(`grep -E "(vd[a-z]$|sd[a-z]$)" /proc/partitions | awk '{print $4}'`)

length=${#disk_array[@]}

printf "{\n"

printf  '\t'"\"data\":["

for ((i=0;i<$length;i++))

do

        printf '\n\t\t{'

        printf "\"{#DISK_NAME}\":\"${disk_array[$i]}\"}"

        if [ $i -lt $[$length-1] ];then

                printf ','

        fi

done

printf  "\n\t]\n"

printf "}\n"
注:注意脚本执行权限及属主和属组

五、创建Disk-io-stat.sh脚本文件

[root@host-47-98-97-124 ~]# vi /usr/local/zabbix/scripts/Disk-discovery.sh

#!/bin/bash

Device=$1
DISK=$2

case $DISK in 

    rrqm)
        iostat -dxk 1 2|grep "\b$Device\b" |tail -1| awk '{print $2}'
        ;;

    wrqm)
        iostat -dxk 1 2|grep "\b$Device\b" |tail -1| awk '{print $3}'
        ;;

    rps)
        iostat -dxk 1 2|grep "\b$Device\b" |tail -1|awk '{print $4}'
        ;;

    wps)
        iostat -dxk 1 2|grep "\b$Device\b" |tail -1|awk '{print $5}'
        ;;

    rKBps)
        iostat -dxk 1 2|grep "\b$Device\b" |tail -1|awk '{print $6}'
        ;;

    wKBps)
        iostat -dxk 1 2|grep "\b$Device\b" |tail -1|awk '{print $7}'
        ;;

    avgrq-sz)
        iostat -dxk 1 2|grep "\b$Device\b" |tail -1|awk '{print $8}'
        ;;

    avgqu-sz)
        iostat -dxk 1 2|grep "\b$Device\b" |tail -1|awk '{print $9}'
        ;;

    await)
        iostat -dxk 1 2|grep "\b$Device\b" |tail -1|awk '{print $10}'
        ;;

    svctm)
        iostat -dxk 1 2|grep "\b$Device\b" |tail -1|awk '{print $13}'
        ;;

    util)
        iostat -dxk 1 2|grep "\b$Device\b" |tail -1|awk '{print $14}'
        ;;

    DiskAvaliable)
        df -k | head -2 | grep "\b$Device\b" | awk '{print $4}'
        ;;

    *)
        echo -e "\e[033mUsage: sh $0 [rrqm|wrqm|rps|wps|rKBps|wKBps|avgqu-sz|avgrq-sz|await|svctm|util]\e[0m"
esac

六、创建zabbix-disk-io-stats.conf文件

[root@host-47-98-97-124 ~]# vi /usr/local/zabbix/scripts/zabbix-disk-io-stats.conf 
UserParameter=disk.discovery[*],/usr/local/zabbix/scripts/Disk-discovery.sh
UserParameter=disk.io[*],/usr/local/zabbix/scripts/Disk-io-stat.sh $1 $2

注:检查zabbix-disk-io-stats.con文件的属主和属组

rrqm/s: 每秒进行 merge 的读操作数目.即 delta(rmerge)/s
wrqm/s: 每秒进行 merge 的写操作数目.即 delta(wmerge)/s
r/s: 每秒完成的读 I/O 设备次数.即 delta(rio)/s
w/s: 每秒完成的写 I/O 设备次数.即 delta(wio)/s
rsec/s: 每秒读扇区数.即 delta(rsect)/s
wsec/s: 每秒写扇区数.即 delta(wsect)/s
rkB/s: 每秒读K字节数.是 rsect/s 的一半,因为每扇区大小为512字节.(需要计算)
wkB/s: 每秒写K字节数.是 wsect/s 的一半.(需要计算)
avgrq-sz:平均每次设备I/O操作的数据大小 (扇区).delta(rsect+wsect)/delta(rio+wio)
avgqu-sz:平均I/O队列长度.即 delta(aveq)/s/1000 (因为aveq的单位为毫秒).
await: 平均每次设备I/O操作的等待时间 (毫秒).即 delta(ruse+wuse)/delta(rio+wio)
svctm: 平均每次设备I/O操作的服务时间 (毫秒).即 delta(use)/delta(rio+wio)
%util: 一秒中有百分之多少的时间用于 I/O 操作,或者说一秒中有多少时间 I/O,也就是磁盘IO带宽使用率 

七、重启zabbix服务

[root@host-47-98-97-124 ~]# pkill zabbix 
[root@host-47-98-97-124 ~]# /usr/local/zabbix/sbin/zabbix_server 
[root@host-47-98-97-124 ~]# /usr/local/zabbix/sbin/zabbix_agentd 

八、创建自动发现规则

这里写图片描述

九、创建监控项原型

这里写图片描述

这里以disk.io[{#DISK_NAME},util]为例
这里写图片描述

名称                 键值
$1 IO操作率         disk.io[{#DISK_NAME},util]
$1 平均IO队列长度    disk.io[{#DISK_NAME},avgqu-sz]
$1 平均每次IO操作服务时间(毫秒) disk.io[{#DISK_NAME},svctm]
$1 平均每次IO操作的数据大小(扇区) disk.io[{#DISK_NAME},avgrq-sz]
$1 平均每次IO操作等待时间(毫秒)   disk.io[{#DISK_NAME},await]
$1 每秒写数据量(KB) disk.io[{#DISK_NAME},wKBps]
$1 每秒读数据量(KB)  disk.io[{#DISK_NAME},rKBps]

十、查看主机item是否正常

这里写图片描述

根据上图发现部分监控item出现报错,根据提示信息类型选择有问题

解决:将所有监控项信息类型的数字类型改为浮点数

这里写图片描述

恢复正常!!!

如果想更好的展示监控的效果,可结合grafana一起做!

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

东城绝神

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值