1. 程式人生 > >zabbix的日常監控-磁盤性能監控(十二)

zabbix的日常監控-磁盤性能監控(十二)

ray 配置文件 rip ram 分享 mct arr discovery 服務

監控磁盤的性能

一、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獲取硬盤性能信息,並將該信息寫入文本中

nohup iostat -m -x -d 30 >> /tmp/iostat_output 2>&1
&

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的日常監控-磁盤性能監控(十二)