Monitoring
如何在 Icinga/Nagios 中進行持久確認?
我正在使用 Icinga (Nagios fork) 來監控外部主機和服務的正常執行時間。目前,在查看“關鍵”計數時,我發現很難確定是內部服務受到影響(我應該立即採取行動)還是外部服務受到影響(我只是承認問題)。
有沒有辦法為檢查的主機/服務的未來停機時間保留問題確認?有沒有辦法自動確認外部主機/服務的狀態變化?
已了解如何對外部主機進行自動確認。
首先為外部主機定義一個事件處理程序:
define host { name some-external-server # ... event_handler handle_external_host # ... }
然後定義要用作事件處理程序的命令:
define command { command_name handle_external_host command_line $USER1$/eventhandlers/acknowledge_host_problem $HOSTNAME$ icingaadmin "Handled by external user" }
最後將事件處理程序腳本放入文件 /usr/local/icinga/libexec/eventhandlers/acknowledge_host_problem (或安裝事件處理程序的位置):
#!/bin/sh printf_cmd="/usr/bin/printf" command_file="/usr/local/icinga/var/rw/icinga.cmd" hostname="$1" author="$2" comment="$3" # get the current date/time in seconds since UNIX epoch now=`date +%s` # pipe the command to the command file $printf_cmd "[%lu] ACKNOWLEDGE_HOST_PROBLEM;%s;1;1;0;%s;%s\n" $now "$hostname" "$author" "$comment" >> $command_file
不要忘記使用命令“chmod +x”或類似命令使腳本可執行。有關 ACKNOWLEDGE_HOST_PROBLEM 的詳細資訊,請參閱 Icinga 文件。