Zabbix監控服務器磁盤I/O

1、場景說明:
須要使用Zabbix監控服務器上各個磁盤的I/O使用率,當zabbix自身帶的item 沒法知足咱們的時候,則需自定義item。
    包括:
  • 磁盤讀的次數
  • 磁盤讀的毫秒數
  • 磁盤寫的次數
  • 磁盤寫的毫秒數
  • 正在處理的輸入/輸出請求數
  • 花費在I/O操做上的毫秒數
  • 讀扇區的次數(一個扇區等於512B)
  • 寫扇區的次數(一個扇區等於512B)
 
注意:本環境要監控的服務器在阿里雲上,因此每臺服務器上的設備名稱不一樣,爲解決此問題,我定義了多個模板來解決此問題!
各位小夥伴請根據實際狀況進行配置
 
2、步驟概覽
 
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.監測最新數據
 
2、操做步驟:
    
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位置的磁盤名稱)
相關文章
相關標籤/搜索