日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

zabbix自动发现监控磁盘(iops和读写量)

發布時間:2023/12/10 编程问答 22 豆豆
生活随笔 收集整理的這篇文章主要介紹了 zabbix自动发现监控磁盘(iops和读写量) 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

2019獨角獸企業重金招聘Python工程師標準>>>

對于磁盤有個iops的概念比較奇怪,想監控起來看下,利用zabbix的自動發現把每個磁盤的iops監控起來,思路:自動發現所有的磁盤,然后監控各個磁盤的iops。效果如下圖(iops和io讀寫大小),下圖監控的磁盤是個sdd的,iops今天監控起來后峰值有30k:

?

思路分為兩步,第一個,自動發現列出所有磁盤。第二個,監控每個磁盤的iops情況。

第一個實現如下:

先看一下自動發現腳本,使用python編寫,利用linux的/proc/diskstats記得 的磁盤信息發現所有的磁盤。腳本如下:cat /usr/local/zabbix/discover_disk.py

#coding:utf-8 try:import json except:import simplejson as jsonimport commands(status, output) = commands.getstatusoutput('''cat /proc/diskstats |awk '{print $3}'|egrep 'sd|vd|hd'|egrep -v '[0-9]'|sort -u''') if output:outputs = output.split('\n')disks = []for disk in outputs:disks += [{'{#DISKONE}': disk}]print json.dumps({'data':disks},sort_keys=True,indent=4) else:print 'discovery error'

運行結果如下(此機器上有兩個磁盤):

?

第二步,監控磁盤的iops,利用linux的/proc/diskstats的第四個字段和第八字段可監控讀和寫的iops,第四個記錄是記錄所有讀的次數,第八個字段是記錄所有寫的次數。通過zabbix上的差速率即可監控磁盤的iops。腳本如下:cat /usr/local/zabbix/check_disk.sh。腳本中-d后面跟磁盤名稱,-o后面跟需要讀取的磁盤的信息。(第六個字段和第十個字段分別代表讀的扇區和寫的扇區,*512就為讀寫的Byte了,通過這兩個字段可監控磁盤的io讀寫量)

#!/bin/sh # 8 0 sda 76880282531 8117316 937263519846 4237854729 62989000438 35668103347 777694636224 1190396494 3 2895102137 899093508 while getopts "d:o:" opt docase $opt ind ) disk=$OPTARG;;o ) option=$OPTARG;;? )echo 'parameter is wrong!'exit 1;;esac done if [ ! "${disk}" ] || [ ! "${option}" ];thenecho "parameter is null" exit 1 fiif [[ ${option} == "read" ]];thencat /proc/diskstats |grep "${disk} "|awk '{print $6}' elif [[ ${option} == "write" ]];thencat /proc/diskstats |grep "${disk} "|awk '{print $10}' elif [[ ${option} == "readops" ]];thencat /proc/diskstats |grep "${disk} "|awk '{print $4}' elif [[ ${option} == "writeops" ]];thencat /proc/diskstats |grep "${disk} "|awk '{print $8}' elif [[ ${option} == "readtime" ]];thencat /proc/diskstats |grep "${disk} "|awk '{print $7}' elif [[ ${option} == "writetime" ]];thencat /proc/diskstats |grep "${disk} "|awk '{print $11}' fi

腳本運行結果如下:

?

兩步寫好后,zabbix agent加入如下配置,加完后重啟zabbix,配置如下:

cat /usr/local/zabbix/etc/zabbix_agentd.conf.d/disk.conf?
UserParameter=disk.discover,python /usr/local/zabbix/discover_disk.py?
UserParameter=disk.status[*],sh /usr/local/zabbix/check_disk.sh -d $1 -o $2

?

加入好后在zabbix server運行檢測一下,自動發現結果如下:

監控磁盤的結果如下:

?

以上都測試沒問題就可以在zabbix的頁面上添加自動發現規則了。可以新建個模板,發現規則截圖如下:

自動發現發現所有的磁盤,發現后就要項目原型進行監控磁盤的iops了 ,{#DISKONE}代表每個磁盤。監控的項目配置如下:

?

把自動發現模板應用到主機后,監控的項目如下:

?

附上本人的網絡課堂地址,如有興趣請點擊:?實踐哥

?

最后,附上zabbix監控磁盤ipos的模板的鏈接:

http://git.oschina.net/zhuangweihong/ops/blob/master/zbx_export_templates_discover_disk.xml?dir=0&filepath=zbx_export_templates_discover_disk.xml&oid=1b1864a25c8b016e4ff14fc35c9bbdb07235829e&sha=9562fe6af03280814dc421203c713e7de20228b6

轉載于:https://my.oschina.net/zhuangweihong/blog/887930

總結

以上是生活随笔為你收集整理的zabbix自动发现监控磁盘(iops和读写量)的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。