zabbix3.2学习笔记(七):磁盘自动发现并性能监控

由于每台服务器的磁盘数量会不同,在zabbix配置一个模版来自动发现磁盘并监控其性能,思路同自定义监控模版。ios

1,设置自动发现磁盘脚本
cd /etc/zabbix/zabbix_agentd
vi disk_discovery.sh
web

#!/bin/bash
diskarray=(`cat /proc/diskstats |grep -E "\bsd[abcdefg]\b|\bxvd[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 "\"{#DISK_NAME}\":\"${diskarray[$i]}\"}"
        if [ $i -lt $[$length-1] ];then
                printf ','
        fi
done
printf  "\n\t]\n"
printf "}\n"

chmod +x disk_discovery.sh
bash

2,修改zabbix agent配置文件
vi /etc/zabbix/zabbix_agentd.conf在尾部添加一下内容
# UserParameter=
UserParameter=io.scandisk[*],/etc/zabbix/zabbix_agentd.d/disk_discovery.sh $1
#每秒读操做数
UserParameter=io.rps[*],/usr/bin/iostat -m -x -d |grep "$1"|tail -1|awk '{print $$4}'
#每秒写操做数
UserParameter=io.wps[*],/usr/bin/iostat -m -x -d |grep "$1" |tail -1|awk '{print $$5}'
#平均每次设备IO操做数据大小
UserParameter=io.avgrq-sz[*],/usr/bin/iostat -m -x -d |grep "$1" |tail -1|awk '{print $$8}'
#平均IO队列长度
UserParameter=io.avgqu-sz[*],/usr/bin/iostat -m -x -d |grep "$1" |tail -1|awk '{print $$9}'
#平均每次IO操做等待时间
UserParameter=io.await[*],/usr/bin/iostat -m -x -d |grep "$1" |tail -1|awk '{print $$10}'
#平均每次IO操做的服务时间
UserParameter=io.svctm[*],/usr/bin/iostat -m -x -d |grep "$1" |tail -1|awk '{print $$11}'
#一秒内用于IO操做的百分比
UserParameter=io.util[*],/usr/bin/iostat -m -x -d |grep "$1" |tail -1|awk '{print $$12}'
服务器

3,在zabbix web端:配置---模版---建立模版

新建自动发现规则

输入规则名称,键值输入刚刚在zabbix agent配置文件里设置的key:io.scandisk

建好发现规则后,如图

单击 监控项原型---建立监控项原型

根据zabbix agent配置文件里设置的key,同上逐一添加监控原型。随后仍在改规则下添加‘图形原型’

单击上图最下方的‘添加原型’,将各个监控项加入到该图形中,以便查当作果。
4,验证
在配置--主机--选择一台主机关联到该模版;可在zabbix server 端用zabbix_get命令获取监控项的值,若正常获取成功便可画出对应的图

以上是监控物理机用到的,若用的是云主机、VPS,监控磁盘空间使用率较有意义:
性能

相关文章
相关标签/搜索