這裡先需要再zabbix端安裝乙個測試工具,用於測試自定義的規則是否可用先編寫指令碼,這個指令碼可以是python也可以是shell,下面以shell為例子檢視可以安裝的工具:
yum list all |grep zabbix
進行安裝
yum install zabbix-get.x86_64
1)無需傳引數的指令碼
#!/bin/sh
ret_ok=1
ret_warn=0
info_count=`/etc/init.d/workflow status|grep running|wc -l` #程序在執行中
#echo $
#process_count=$(($-0))
if [[ $ == 1 ]]; then
echo
$#成功返回1,列印出來就會被zabbix接收,zabbix觸發器也是比較這個值
else
echo
$#失敗返回0
fi
2)可以傳引數的指令碼
#!/bin/sh
ret_ok=1
ret_warn=0
model=$1
#接收乙個引數,用於監控不同模組
info_count=`/etc/init.d/$1 status|grep running|wc -l`
#echo $
#process_count=$(($-0))
if [[ $ == 1 ]]; then
echo
$else
echo
$fi
修改zabbix_client的配置檔案
3.4模組好像不用配置,我的沒有配置,但是網上很多人都手動配置了一下
vim /etc/zabbix/zabbix_agentd.conf
include=/etc/zabbix
/zabbix_agentd.d/*.conf
建立乙個conf檔案
vim /etc/zabbix/zabbix_agentd.d/check_process.conf
填入下面兩行
userparameter=checkworkflow,sh /home/zabbix/moniterworkflow.sh
#監控單個模組,對應的是沒有傳參的那個指令碼
userparameter=checkmodel[*],sh /home/zabbix/moniall.sh $1
#監控多個模組,對應的是可以傳參的指令碼
再到zabbix-server上去測試一下
不傳參的:
[root@localhost ~]# zabbix_get -s 200.200.169.212 -k "checkworkflow"
1傳參的
[root@localhost ~]# zabbix_get -s 200.200.169.212 -k "checkmodel[workflow]"
1
配置到web端監控
鍵值需要自己輸入,選擇裡面是沒有的
新增觸發器
檢視結果
zabbix自定義監控
1 監控資料備份情況 主動模式 1 資料備份及傳送成功 1 2 資料匯入成功 1 2 在zabbix agent客戶端配置如下 root zagent zabbix cat etc zabbix zabbix agentd.conf startagents 0 設定該值為0,則agent不會監聽本地...
zabbix監控之自定義監控
自定義監控node1資料庫狀態,並設定報警 編輯agent客戶端的userparameter mysql.conf 檔案,最後一行新增自定義監控內容 root node1 cd etc zabbix zabbix agentd.d root node1 zabbix agentd.d lsuserp...
Zabbix 自定義監控項
vi usr local zabbix etc zabbix agentd.conf unsafeuserparameters 1 userparameter check process,echo top b n 1 grep mysqld awk f server 192.168.1.12 然後r...