Я внедрил nsca
в Nagios
для распределенных целей мониторинга, и все, кажется, работает, за исключением одной странности, что я не могу найти ответ нигде.
Пассивные проверки отправляются и принимаются, но на выходе показана 4-я переменная, которая всегда должна быть неинициализирована, и поэтому она отображается как $OUTPUT$
. Кажется, что проверки показывают правильную информацию на нецентральном сервере, но когда она отправляется, она, похоже, не правильно интерполирует.
commands.cfg
define command{
command_name submit_check_result
command_line /usr/share/nagios3/plugins/eventhandlers/submit_check_result $HOSTNAME$ '$SERVICEDESC$' $SERVICESTATE$ '$OUTPUT$'
}
submit_check_result
#!/bin/sh
return_code=-1
case "$3" in
OK)
return_code=0
;;
WARNING)
return_code=1
;;
CRITICAL)
return_code=2
;;
UNKNOWN)
return_code=-1
;;
esac
/usr/bin/printf "%s\t%s\t%s\t%s\n" "$1" "$2" "$return_code" "$4" | /usr/sbin/send_nsca 192.168.40.168 -c /etc/send_nsca.cfg
Пример служба
define service {
host_name example_host
service_description PING
check_command check_icmp
active_checks_enabled 1
passive_checks_enabled 0
obsess_over_service 1
max_check_attempts 5
normal_check_interval 5
retry_check_interval 3
check_period 24x7
notification_interval 30
notification_period 24x7
notification_options w,c,r
contact_groups admins
}
Выход из журнала на нецентральном сервере показывает:
Nov 29 22:52:52 nagios-server nagios3: SERVICE ALERT: example_host;PING;OK;HARD;5;OK - 192.168.1.1: rta nan, lost 0%
Выход из журнала на центральном сервере показывает:
EXTERNAL COMMAND: PROCESS_SERVICE_CHECK_RESULT;example_host;PING;0;$OUTPUT$
Статус информации на центральном сервере (веб-интерфейс) показывает:
PING OK 2016-11-29 22:54:50 0d 0h 54m 6s 1/5 $OUTPUT$
Это не только эта услуга тоже. Все сервисы, в том числе те, которые по существу предварительно сконфигурированы для самого сервера Nagios «check_load, check_proc и т. Д.».
Любая помощь будет оценена по достоинству.