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,監控磁盤空間使用率較有意義:
性能

相關文章
相關標籤/搜索