默認的zabbix裏沒有關於磁盤io的監控模板,由於監控需要要求新增其監控,參考網上的相關幫助,終於成功把磁盤IO的監控掛了上去,特記錄完整過程!
主要參考網站:
http://www.linuxyw.com/a/bushu/jiankongbaojing/20130515/330.html
1、創建模板 (Templates)
Configure-Templates-Create Templates
2、爲模板創建應用集 (Applications)
進入所屬的模板-Application-Create application
上面兩個都只需按zabbix頁面點擊操作即可創建,可參考上面網頁創建即可。
3、創建應用集下面的項目 (Item)
進入所屬模板-Items-Create item
會出來創建item的界面,要添加zabbix沒有的一些監控信息,這裏選擇key的時候是沒有我們要想要的鍵值的,所以在這裏需要自己從後臺創建相關的鍵,整個添加的關鍵也就這個地方:
添加方法如下:
先修改zabbix 客戶端配置文件 zabbix_agentd.conf
修改UnsafeUserParameters 爲UnsafeUserParameters=1
然後在UserParameter 項目裏面添加自己想要的鍵:
# Default:
UserParameter=diskio.read,/usr/local/zabbix/bin/newpara.sh Read
UserParameter= 自定義鍵開始標誌
diskio.read 自定義的鍵名稱
/usr/local/zabbix/bin/newpara.sh Read 自定義鍵的值(如果此值獲取方法語句簡單,也可以把此處直接替換爲執行的語句,此語句能正確獲取值即可)
2、在 /usr/local/zabbix/bin/ 下創建上面要求的腳本:newpara.sh
內容主要是把參數以函數的形式執行相應操作(比如我自己的是要獲取磁盤IO)並返回。
此處我取的是所有磁盤的IO,並把其全部相加在一起返回給鍵 diskio.read
#!/bin/sh
Read(){
iostat -d -k -x 1 1 | sed -n '4,$p' | awk '{sum+=$6} END {print sum}'
}
重啓zabbix客戶端:service zabbix-agentd restart
3、測試獲取是否成功
在zabbix服務端執行如下:
/usr/local/zabbix/bin/zabbix_get -s ip(192.168...) -k diskio.read
如果成功返回則後臺已經配置成功了。
如: 3359.8
4、web配置
繼續回到創建item頁面,此時在選擇key 時,用select 還是不能看到我們想要的鍵名稱,只能自己把已經定義好的鍵名直接寫上去,而不要用select去選取:
在此我們填上剛剛自己創建的鍵:diskio.read, 後面在apllicaion處選擇所處的application,保存。
5、整個監控流程基本完成(當然,還沒有設置 觸發器 的告警值等等)
在 要監控的host裏面把剛剛創建好的templates加入到要監控的機器上去,這個流程就完成了。
總結:此方法新建了一個新的templates,可以監控zabbix沒有自帶的一些性能,滿足了相關要求。
當然,此種方法也有缺點,最主要的就是只能在客戶端配置鍵,即:要監控一臺機器,則就要在對應的機器上配置一次,如果要監控的機器過多時,要進行多次的操作,增加了工作的重複性。