zabbix3.0監控磁碟IO與自定義模板
引言
在前面的部落格中我們介紹了zabbix自帶的模板,並且完成了我們的一些比較常用的監控,現在我們如果想要監控我們磁碟的IO,這時候zabbix並沒有給我們提供這麼一個模板,所以我們需要自己來建立一個模板來完成磁碟IO的監控。
- 新增userparameter_io.conf配置檔案
在/etc/zabbix/zabbix_agentd.d下新增userparameter_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}' UserParameter=custom.vfs.dev.io.ms[*],cat /proc/diskstats | grep $1 | head -1 | awk '{print $$13}' //花費在IO操作上的毫秒數 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}' //寫扇區的次數(一個扇區的等於512B)
2、重啟zabbix-agent服務
systemctl restart zabbix-agent
3、測試zabbix-server獲取資料
#zabbix_get -s 目標伺服器IP -p 10050 -k custom.vfs.dev.write.ops[sda]
4、配置zabbix-server模板
進入web介面—》配置—》模板—建立模板
5、配置監控項
進入到模板列表頁面,找到我們剛剛建立的Templae io模板,點選後面監控項,然後點選建立監控項
配置第一個監控項
Name: Disk:$1:Read:Bytes/sec
Key: custom.vfs.dev.read.sectors[sda]
Units: B/sec
Store value: speed per second //會進行差值計算
Use custom multiplier 512 //會對值乘以512,因為這裡是一個扇區,轉換為位元組為512B
第二監控項:和第一個一樣的配置過程
Name:Disk:$1:Write:Bytes/sec
Key: custom.vfs.dev.write.sectors[sda]
Units: B/sec
Store value: speed per second
Use custom multiplier 512
第三個監控項配置引數:
Name:Disk:$1:Read:ops per second Key: custom.vfs.dev.read.ops[sda] Units: ops/second Store value: speed per second
第四個監控項配置引數:
Name: Disk:$1:Write:ops per second
Key: custom.vfs.dev.write.ops[sda]
Units: ops/second
Store value: speed per second
第五個監控項配置引數:
Name: Disk:$1:Read:ms
Key: custom.vfs.dev.read.ms[sda]
Units: ms
Store value: speed per second
第六個監控項配置引數:
Name:Disk:$1:Write:ms
Key: custom.vfs.dev.write.ms[sda]
Units: ms
Store value: speed per second
上面我們就完成了對IO的監控,但是我們也想和zabbix自帶的那樣的模板一樣,可以看到監控以後的圖形,當然這也是可以做到的,下面就介紹圖形的新增。
5、新增圖形
返回到模板的列表頁面,找到我們建立的模板Template io 然後點選後面的圖形—》建立圖形
點選新增—》選擇我們配置的監控項
這樣我們就完成了整個自定義模板的配置,我們現在就可以檢視監控的資料了。
我們就拿之前部落格中監控的機器來做實驗,但是我們之前這臺機器用了zabbix自帶的模板 Template os Linux ,現在我們自己自定義了一個模板,那麼怎麼辦呢?zabbix設計的還是非常人性的。模板之間是繼承關係的!
我們回到給被監控的主機的哪一步,選擇我們自定義的模板!
這樣我們就可以檢視結果了 檢測中—》圖形
小結
到這我們就完成了自定義模板的配置,順便把監控磁碟IO也完成了!