Linux
是否可以從 Nagios check_command 中排除特定主機
我有以下配置:
define host { name generic-host [...] check_command check-host-alive [...] register 0 }
check-host-alive是預設的 ping 檢查,當有 100% 的封包遺失或 5000 毫秒的往返時間時報告嚴重。
在定義主機時,我將其用作模板。現在我需要監控一個阻止 ICMP/Echo 請求的主機,而 Nagios 永久告訴我它處於離線狀態。
主機定義如下:
define host { host_name some.example.com use generic-host hostgroups my-servers address 127.0.0.1 }
由於我的配置中有多個伺服器,並且所有伺服器都需要檢查它們是否處於活動狀態,因此我需要從check-host-alive檢查中排除這台伺服器。有沒有辦法做到這一點?
PS:負責要監控的伺服器的系統管理員在任何情況下都不會允許 ICMP/Echo 請求,原因我不知道。
您可以添加一種替代方法來檢查覆蓋模板中定義的活動主機(例如 SSH、HTTP 或任何在您的環境中有意義的東西)。
define host { host_name some.example.com use generic-host hostgroups my-servers address 127.0.0.1 check_command ssh-check }
當然,您必須定義
ssh-check
它才能工作。請參閱https://assets.nagios.com/downloads/nagioscore/docs/nagioscore/3/en/objectinheritance.html
你不能只是沒有主機檢查,但你可以使用任何外掛作為主機檢查。
在
check_ping
orcheck_icmp
不是一個選項的情況下,下一個最好的方法是使用check_tcp
指向一個開放埠(針對像 ssh 這樣的穩定的東西,這是“主機啟動”的一個很好的模擬)。如果您真的無法進行主機檢查,則總是存在
check_dummy
,但這會弄亂檢查/通知邏輯,從而導致主機上的每個服務(如果/何時出現故障)都會發出通知。