国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 學院 > 操作系統 > 正文

分布式監控系統Zabbix3.2添加自動發現磁盤IO并注冊監控(推薦)

2020-10-28 18:44:02
字體:
來源:轉載
供稿:網友

服務器磁盤的運作情況在一定程度上反應系統的負載。

磁盤通常是服務器最慢的設備,極容易出現瓶頸,通過監控可以判斷出整個系統的短板。

  zabbix并沒有給我們提供這么一個模板來完成在Linux中磁盤IO的監控,所以我們需要自己來創建一個,在此還是在Linux OS中添加。

  由于一臺服務器中磁盤眾多,如果只一兩臺可以手動添加,但服務集群達到幾十那就非常麻煩,因此需要利用自動發現 這個功能,自動發現后自動添加對服務器磁盤的監控,而且添加磁盤后也會自動添加到監控,實現自動化運維的效果,所以在這里也演示一次自動發現的配置。

打開Linux模板,添加自動發現規則

上面的key值是需要在 zabbix_agent.conf 中配置的

UserParameter=disk.discovery,/usr/local/share/zabbix/alertscripts/disk_discovery.sh

自動發面的規則用shell代碼實現,返回一段磁盤的json list

代碼 disk_discovery.sh

#!/bin/bashdiskarray=(`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 ',' fidoneprintf "/n/t]/n"printf "}/n"

到此自動發現磁盤已完,有點簡單吧。

添加監控項

按照上面的內容添加第一個寫扇區的次數監控,接下來按下面的內容添加共6個內容。

內容介紹

名稱: {#DISK_NAME}磁盤讀的次數鍵值: disk.status[{#DISK_NAME},read.ops]單位: ops/second儲存值:差量(每秒速率)名稱: {#DISK_NAME}磁盤寫的次數鍵值: disk.status[{#DISK_NAME},write.ops]單位: ops/second儲存值:差量(每秒速率)名稱: {#DISK_NAME}磁盤讀的毫秒數鍵值: disk.status[{#DISK_NAME},read.ms]單位: ms儲存值:差量(每秒速率)名稱: {#DISK_NAME}磁盤寫的毫秒數鍵值: disk.status[{#DISK_NAME},write.ms]單位: ms儲存值:差量(每秒速率)名稱: {#DISK_NAME}讀扇區的次數鍵值: disk.status[{#DISK_NAME},read.sectors]單位: B/sec使用自定義倍數: 512儲存值:差量(每秒速率)名稱: {#DISK_NAME}寫扇區的次數鍵值: disk.status[{#DISK_NAME},write.sectors]單位: B/sec使用自定義倍數: 512儲存值:差量(每秒速率)

然后如果得到這些值是需要shell腳本的:

disk_status.sh

#/bin/shdevice=$1DISK=$2case $DISK in  read.ops)  /bin/cat /proc/diskstats | grep "/b$device/b" | head -1 | awk '{print $4}' #//磁盤讀的次數  ;;  read.ms)  /bin/cat /proc/diskstats | grep "/b$device/b" | head -1 | awk '{print $7}' #//磁盤讀的毫秒數  ;;  write.ops)  /bin/cat /proc/diskstats | grep "/b$device/b" | head -1 | awk '{print $8}' #//磁盤寫的次數  ;;  write.ms)  /bin/cat /proc/diskstats | grep "/b$device/b" | head -1 | awk '{print $11}' #//磁盤寫的毫秒數  ;;  io.active)  /bin/cat /proc/diskstats | grep "/b$device/b" | head -1 | awk '{print $12}' #//I/O的當前進度,  ;;  read.sectors)  /bin/cat /proc/diskstats | grep "/b$device/b" | head -1 | awk '{print $6}' #//讀扇區的次數(一個扇區的等于512B)  ;;  write.sectors)  /bin/cat /proc/diskstats | grep "/b$device/b" | head -1 | awk '{print $10}' #//寫扇區的次數(一個扇區的等于512B)  ;;  io.ms)  /bin/cat /proc/diskstats | grep "/b$device/b" | head -1 | awk '{print $13}' #//花費在IO操作上的毫秒數  ;; esac

在客戶端中的zabbix_agent.conf 中一起配置:

UserParameter=disk.discovery,/usr/local/share/zabbix/alertscripts/disk_discovery.shUserParameter=disk.status[*],/usr/local/share/zabbix/alertscripts/disk_status.sh $1 $2

要注意的是以上兩個文件需要給x 執行權限。

添加圖形顯示

在圖形原型中添加,注意名稱中要帶哪個磁盤的動態名稱,不然會出現Disk IO 已注冊的錯誤信息。

zabbix3 Cannot create graph: graph with the same name "Disk IO" already exists

在監控項中選擇上面添加的6個監控項。

測試效果

重啟客戶端的zabbix_agentd,然后在zabbix服務端對服務發現和寫扇區次數進行測試。代碼如下,有顯示內容說明已經部署成功。

查看圖形化,選擇監控主機,圖形中查看,若還沒有項,需要等個幾分鐘再看。

問題:

網上有網友用的是python來實現自動發現功能,但測試發現老是報錯:

python import: command not found

可能是依賴包有問題,考慮到集群服務器的python環境問題,因此就不考慮用python的實現。

總結

以上所述是小編給大家介紹的分布式監控系統Zabbix3.2添加自動發現磁盤IO并注冊監控,希望對大家有所幫助,如果大家有任何疑問請給我留言,小編會及時回復大家的。在此也非常感謝大家對武林網網站的支持!

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 吴川市| 磐安县| 文水县| 五大连池市| 丰都县| 玉溪市| 瓮安县| 全椒县| 公主岭市| 玉树县| 定襄县| 萍乡市| 卢湾区| 吉水县| 宜春市| 甘德县| 西乌珠穆沁旗| 饶平县| 抚顺县| 余庆县| 大城县| 苍溪县| 磐石市| 新乡县| 武威市| 屯留县| 新昌县| 甘洛县| 肥东县| 武陟县| 大丰市| 寿阳县| 宣城市| 博爱县| 浦东新区| 红桥区| 沾化县| 错那县| 满城县| 朝阳市| 海伦市|