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

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 运维知识 > windows >内容正文

windows

分布式监控系统Zabbix3.2添加自动发现磁盘IO并注册监控

發布時間:2024/6/30 windows 33 豆豆
生活随笔 收集整理的這篇文章主要介紹了 分布式监控系统Zabbix3.2添加自动发现磁盘IO并注册监控 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

  ?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/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++)) doprintf '\n\t\t{'printf "\"{#DISK_NAME}\":\"${diskarray[$i]}\"}"if [ $i -lt $[$length-1] ];thenprintf ','fi done printf "\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/sh device=$1 DISK=$2case $DISK inread.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.sh UserParameter=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的實現。

以上的內容也是基于之前的文章中的內容作為介紹基礎,若有其他問題可先看之前的文章中介紹的基礎環境。

轉載于:https://www.cnblogs.com/zhangs1986/p/8118788.html

總結

以上是生活随笔為你收集整理的分布式监控系统Zabbix3.2添加自动发现磁盘IO并注册监控的全部內容,希望文章能夠幫你解決所遇到的問題。

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