Zabbix監控服務器磁盤I/O


一、場景說明:
需要使用Zabbix監控服務器上各個磁盤的I/O使用率,當zabbix自身帶的item 無法滿足我們的時候,則需自定義item。
    包括:
  • 磁盤讀的次數
  • 磁盤讀的毫秒數
  • 磁盤寫的次數
  • 磁盤寫的毫秒數
  • 正在處理的輸入/輸出請求數
  • 花費在I/O操作上的毫秒數
  • 讀扇區的次數(一個扇區等於512B)
  • 寫扇區的次數(一個扇區等於512B)
 
注意:本環境要監控的服務器在阿里雲上,所以每台服務器上的設備名稱不同,為解決此問題,我定義了多個模板來解決此問題!
各位小伙伴請根據實際情況進行配置
 
二、步驟概覽
 
1.數據來源:/proc/diskstats
/proc/diskstats文件說明
$1: 主設備號
$2: 次設備號
$3: 設備名稱
$4: 讀完成次數
$6: 讀扇區的次數(一個扇區等於512B)
$7: 讀磁盤的毫秒數
$8: 寫完成次數
$10: 寫扇區的次數(一個扇區等於512B)
$11: 磁盤寫的毫秒數
$12: 正在處理的輸入/輸出請求數
$13: 花費在I/O操作上的毫秒數
2.自定義item
3.在zabbix_server端測試
4.配置Zabbix-server WEB UI
5.監測最新數據
 
二、操作步驟:
    
1.自定義item並重新加載Agent.
~]# vim /etc/zabbix/zabbix_agentd.d/userparameter_disk_io.conf
#磁盤讀的次數
UserParameter=custom.vfs.dev.read.ops[*],cat /proc/diskstats | grep $1 | head -1 | awk '{print $$4}'
#磁盤讀的毫秒數
UserParameter=custom.vfs.dev.read.ms[*],cat /proc/diskstats | grep $1 | head -1 | awk '{print $$7}'
#磁盤寫的次數
UserParameter=custom.vfs.dev.write.ops[*],cat /proc/diskstats | grep $1 | head -1 | awk '{print $$8}'
#磁盤寫的毫秒數
UserParameter=custom.vfs.dev.write.ms[*],cat /proc/diskstats | grep $1 | head -1 | awk '{print $$11}'
#正在處理的輸入/輸出請求數
UserParameter=custom.vfs.dev.io.active[*],cat /proc/diskstats | grep $1 | head -1 | awk '{print $$12}'            
#花費在IO操作上的毫秒數
UserParameter=custom.vfs.dev.io.ms[*],cat /proc/diskstats | grep $1 | head -1 | awk '{print $$13}'
#讀扇區的次數(一個扇區的等於512B)
UserParameter=custom.vfs.dev.read.sectors[*],cat /proc/diskstats | grep $1 | head -1 | awk '{print $$6}'
#寫扇區的次數(一個扇區的等於512B)
UserParameter=custom.vfs.dev.write.sectors[*],cat /proc/diskstats | grep $1 | head -1 | awk '{print $$10}
~]# systemctl restart zabbix-agent
2.在zabbix-server端測試
 
~]# zabbix_get -s 192.168.1.100 -k custom.vfs.dev.io.ms[xvda1]       // 如果沒有這個命令的話則需要使用yum安裝(yum -y install zabbix-get)
2547825
~]# zabbix_get -s 192.168.1.100 -k custom.vfs.dev.read.sectors[xvda1]
7716602
....等等,當全部數據都可獲取時,則說明item生效.
3.配置Zabbix-server WEB UI
 
(1)如圖操作:配置 → 模板 → 創建模板.
 
(2)如圖操作:自定義模板名稱 → 將被監控主機群組加入到"群組"中.
 
(3)如圖操作:監控項 → 創建監控項
 
(4)如圖操作:自定義名稱 → 采集數據的方式 → 手動指定鍵值 → 指定單位 → 指定應用集 → 進程 → 每秒更改 → 點擊更新.
 
 
(5)如圖操作:再次新建監控項 → 名稱 → 獲取數據方式 → 自定義key → 數值類型 → 數據單位 → 進程 → 自定義倍數(512) → 每秒更改 → 更新.
 
 
(6)如圖所示:下面的操作都與上述描述差的不多,在此不做注釋.
 
 
(7) 如圖操作:
 
(8)如圖操作:
 
(9) 如圖操作:
 
4.監測最新數據,如圖所示(如果有多塊磁盤,那么就配置多個模板,模板間可互相克隆后修改$1位置的磁盤名稱)


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM