Это с распределенной средой Icinga 1.
У меня около 100 хостов на клиенте / сателлите Icinga 1, которые застряли в состоянии UNREACHABLE. Все четыре проверки для каждого хоста возвращают состояние ОК, но общее состояние устройства НЕДОСТУПНО.
Проблема могла быть вызвана тем, что я оставил работающую Icinga 1 с неправильными разрешениями для / usr / lib64 / nagios / plugins / check_icmp. (check_icmp не имеет установленного бита suid.)
Поэтому я остановил Icinga и очистил файл сохранения состояния (state_retention_file = / var / spool / icinga / retention.dat) на спутнике, и это не помогло. Если я опустошу тот же файл на мастере, может ли это помочь?
ps показывает мои сценарии submit_check_result.sh submit_host_check.sh, работающие как зомби, но они живут недолго.
Мне пришлось восстановить на клиенте скрипты пересылки чеков.
Вот битые биты.
# BEGIN submit_check_result.sh
##############################
return_code=-1
case "$3" in
OK)
return_code=0
;;
WARNING)
return_code=1
;;
CRITICAL)
return_code=2
;;
CRITICAL)
return_code=2
;;
esac
/usr/bin/printf "%s\t%s\t%s\t%s\n" "$1" "$2" "$return_code" "$4" | /usr/sbin/send_nsca -H 111.14.219.31 -c /etc/nagios/send_nsca.cfg &
# END Check_result
##############################
BEGIN submit_host_result.sh
##############################
return_code=2
case "$3" in
OK)
return_code=0
;;
WARNING)
return_code=1
;;
CRITICAL)
return_code=2
;;
UNKNOWN)
return_code=2
;;
esac
END Check_host
##############################
И вот что, похоже, устранило проблему.
кот /etc/icinga/scripts/submit_check_result.sh
return_code=-1
case "$3" in
OK)
return_code=0
;;
WARNING)
return_code=1
;;
CRITICAL)
return_code=2
;;
UNKNOWN)
return_code=-1
;;
esac
# pipe the service check info into the send_nsca program, which
# in turn transmits the data to the nsca daemon on the central
# monitoring server
# submit to master Icinga den-mon-prod
/usr/bin/printf "%s\t%s\t%s\t%s\n" "$1" "$2" "$return_code" "$4" | /usr/sbin/send_nsca -H 111.14.219.31 -c /etc/nagios/send_nsca.cfg &
кот /etc/icinga/scripts/submit_host_check.sh
return_code=-1
case "$2" in
UP)
return_code=0
;;
DOWN)
return_code=1
;;
DOWN)
return_code=2
;;
UNREACHABLE)
return_code=3
;;
esac
/usr/bin/printf "%s\t%s\t%s\t%s\n" "$1" "$2" "$return_code" "$4" | /usr/sbin/send_nsca -H 111.14.219.31 -c /etc/nagios/send_nsca.cfg &