zabbix是乙個很靈活的分布式監控系統,無論是在監控還是在告警上面都是靈活無比的。今天介紹一下如何通過自定義key值進行監控告警,為了試驗的方便和快速理解,就使用乙個簡單的指令碼來演示。指令碼內容如下:
#!/bin/bash
count=`grep :x:0: /etc/passwd|wc -l`
if [ $count -eq 1 ];then
status=0
else
status=1
fiecho "$status"
為了後期維護方便,建議存放指令碼的路徑標準化,給指令碼執行許可權,更改屬組,指令碼需要放在agent的伺服器上面。
mkdir /usr/local/zabbix/shell
chmod +x user_count.sh
chown -r zabbix.zabbix shell/
測試指令碼,執行正常,
useradd test //建立乙個測試賬號
vim /etc/passwd
更改uid
test:x:0:1007::/home/test:/bin/bash
再次執行指令碼,執行正常,
vim /usr/local/zabbix/etc/zabbix_agentd.conf
開啟下面注釋並修改:
include=/usr/local/zabbix/etc/zabbix_agentd.conf.d/*.conf
vim /usr/local/zabbix-agent/etc/zabbix_agentd.conf.d/test.conf
新增如下配置:
userparameter=user_count[*],/usr/local/zabbix-agent/shell/user_count.sh "$1"
儲存,然後授權
chmod +x test.conf
chmod +x zabbix_agentd.conf
chown -r zabbix.zabbix /usr/local/zabbix/
到服務端使用zabbix_get測試能不能獲取到值(路徑在/use/local/zabbix/etc)
vim /etc/passwd
把uid更改回來
test:x:1007:1007::/home/test:/bin/bash
同樣可以獲取到值,到此客戶端配置完成,移步到web端進行配置。
(1)新增模板
(2)新增應用集
(3)新增監控項(這裡的監控項是可以新增多個,但是指令碼需要修改,也就是說需要多個鍵值,user_count[1]這裡的1,其實是指令碼裡面的變數$1,因為我們測試指令碼並沒有引用外部變數,所以這裡可以隨便寫,不寫也是可以的)
(4)新增觸發器
配置完成以後在進行動作配置
在這裡選擇觸發條件,這裡可以很靈活的進行分組告警。
然後在這裡進行操作,恢復操作以及確認操作的配置,這裡的配置也可以自己進行一些自定義,配合動作可以實現很靈活的告警。
預設資訊列表:
操作資訊
告警主機:
告警資訊:
告警等級:
告警專案:
當前狀態:故障 值=
故障已持續,請盡快處理
事件id:
恢復資訊
告警主機:
告警資訊:
告警專案:
當前狀態: 值=
故障共持續
事件id:
確認資訊如下:
""問題伺服器ip:
當前的問題是:
}
到此配置完成,在修改test的uid為0,觸發告警。
web端會觸發告警,如下:
釘釘同樣也收到告警了。釘釘告警的實現方式:
到此告警全部完成,可以參照這個去實現自定義監控項。
zabbix自定義key監控mysql
zabbix自定義key監控mysql zabbix agent 端 先寫好獲得所監控資料的指令碼 etc zabbix scripts checkmysql.sh 許可權要注意。bin bash mysql sock var lib mysql mysql.sock mysql的socket檔案位...
zabbix使用自定義key進行監控
我的zabbix server是安裝在另一台虛擬機器上的,用來監控下圖中的這台虛擬機器 先修改zabbix的客戶端配置檔案,增加userparameter那行,這裡我只是用來測試,所以就隨便起了乙個名為ping的key,重啟zabbix客戶端 其中ping是key的名字,後面的echo 99是執行的...
zabbix 自定義監控項key值
指令碼名字 check httpd.sh 指令碼目錄 這個目錄可以自定義 root dalu zabbix check httpd.sh 指令碼內容 fi指令碼說明 通過ps檢查httpd程序是否存在,如果存在則指令碼反饋1,如果不存在則返回0 1 檢視 zabbix agentd.conf.gre...