2015-05-29 33 views
1

我需要通過zabbix監視特殊的服務狀態。 當我在服務器上Zabbix用戶定義參數

[email protected] ~ $ /etc/init.d/kannelgate zabbix 

運行它打印在控制檯中的號碼 - 1或0(服務上/下)

我應該在ZABBIX代理寫入通過代理來獲得這個輸出並將其發送到zabbix服務器?

回答

3

您可以通過編寫以下行zabbix_agentd.conf這樣定義一個用戶參數:

UserParameter=kannelgate.state,/etc/init.d/kannelgate zabbix 

請參閱Zabbix documentation有關定義用戶參數的詳細信息。

+0

是的,我已經知道了 - 默認情況下zabbix代理讀取stdout來發送數據,所以不需要特殊的數據重定向。 –

2

嘗試像

UserParameter=kannelgate.state[*],/etc/init.d/kannelgate $1 

所以,你可以使用各種服務的一個參數。

您的項目鍵兩個可以關注一下:

kannelgate.state["zabbix-agent"] 

kannelgate.state["zabbix-server"] 

編輯: 感謝Selivanov鋪路,爲提及安全問題。但是,看看到的zabbix文檔: Zabbix Userparameter

報價從該部分:

以下字符不允許:?! \'「`* [] {}〜$ &;( )<> |!#@

你應該真正關心用戶參數,如果你啓用了 「UnsafeUserParameter」 上的zabbix代理方

在Zabbix 3.x文檔中,結構發生了一些變化,所以您必須在Zabbix Agent配置中進行搜索。

+0

當使用帶參數的UserParameter時,您應該仔細檢查腳本中給定的參數。否則,對監控服務器的妥協可能會導致受監控主機的危害。 –