zabbix監控硬盤指標,tcp連接狀態

zabbix自動發現硬盤腳本disk_discovery.py

[app@data1 etc]$ cat disk_discovery.py
#/usr/bin/python

import subprocess
import json
args="cat /proc/diskstats |grep -E '\ssd[a-z]\s|\sxvd[a-z]\s|\svd[a-z]\s'|awk '{print $3}'|sort|uniq 2>/dev/null"
t=subprocess.Popen(args,shell=True,stdout=subprocess.PIPE).communicate()[0]
 
disks=[]
 
for disk in t.split('\n'):
    if len(disk) != 0:
       disks.append({'{#DISK_NAME}':disk})
print json.dumps({'data':disks},indent=4,separators=(',',':'))

zabbix監控硬盤狀態腳本

[app@data1 etc]$ cat disk_status.sh 
#/bin/sh
 
device=$1
item=$2
 
case $item in
         rrqm)
            /usr/bin/iostat -dx |grep $device |awk '{print $2}';;
         wrqm)
            /usr/bin/iostat -dx |grep $device |awk '{print $3}';;
          rps)
            /usr/bin/iostat -dx |grep $device |awk '{print $4}';;
          wps)
            /usr/bin/iostat -dx |grep $device |awk '{print $5}';;
        rKBps)
            /usr/bin/iostat -dx |grep $device |awk '{print $6}';;
        wKBps)
            /usr/bin/iostat -dx |grep $device |awk '{print $7}';;
     avgrq-sz)
            /usr/bin/iostat -dx |grep $device |awk '{print $8}';;
     avgqu-sz)
            /usr/bin/iostat -dx |grep $device |awk '{print $9}';;
        await)
            /usr/bin/iostat -dx |grep $device |awk '{print $10}';;
        svctm)
            /usr/bin/iostat -dx |grep $device |awk '{print $11}';;
         util)
            /usr/bin/iostat -dx |grep $device |awk '{print $12}';;
esac

修改zabbix_agentd.conf文件

[app@data1 etc]$ tail -2 zabbix_agentd.conf
UserParameter=disk.discovery,/usr/bin/python /usr/local/zabbix/etc/disk_discovery.py
UserParameter=disk.status[*],/usr/local/zabbix/etc/disk_status.sh $1 $2

#說明
$1爲自動發現腳本disk_discovery.py返回給zabbix server的{#DISK_NAME}
$2位要監控的選項

監控tcp連接狀態

[app@data1 etc]$ tail -1 zabbix_agentd.conf
UserParameter=tcp[*],netstat -an |grep -c $1


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章