Monitoring
為 nagios 3 中的主機配置一個額外的 ip
我剛剛從 nagios2 遷移到 nagios3,基本上是為了自定義宏功能。
在我的網路中有兩種伺服器:
- 單個 ip 伺服器(服務和 snmp 伺服器使用相同的 ip)
- 雙IP伺服器(服務的公共IP和snmp伺服器的私有IP)
我嘗試做的是為宏設置一個預設值 $ _HOSTIPSNMP $ 在主機模板中..
define host { name linux-server ... _IPSNMP $HOSTADDRESS$ ... }
我假設所有主機都會自動設置 $ _HOSTIPSNMP $ 內容為 $ HOSTADDRESS $
如果我能讓這個工作,第二部分將是在每個主機的基礎上設置自定義值 $ _HOSTIPSNMP $ , 風格為:
define host { use linux-server address 123.123.123.123 _IPSNMP 192.168.1.10 }
所以 $ _HOSTIPSNMP $ 始終具有合理的價值,我可以在需要時將其設置為我想要的任何值。
我面臨的錯誤是,似乎 _HOSTIPSNMP 沒有被正確替換為變數值,而是被替換為變數名。
cmd=[/usr/lib/nagios/plugins/check_snmp_storage.pl '-H' 'HOSTADDRESS' '-C' 'comunity' '-m' '/' '-w' '80%' '-c' '85%'] output=[ERROR: Unable to resolve UDP/IPv4 address 'HOSTADDRESS'.
我試著改變引用 $ HOSTADDRESS $ 在模板中,但我沒有嘗試過。
謝謝你的幫助。
好吧,最後唯一的解決方案是在所有主機上通知 _IPSNMP 的值
似乎宏沒有遞歸解析,這是預期的行為(至少在 nagios 3 中)
至少我能夠做什麼我想要一個整潔的方式。我建議大家使用宏。
根據關於宏的 Nagios文件,引用上面定義的 _IPSNMP 的正確方法是 $ _HOSTIPSNMP $