У меня странная проблема: Icinga (nagios) не запускается check_nt
который я установил на сервере Debian.
Что я делаю, так это то, что я планирую принудительную проверку обоих NSClient_version
и PING
. Если я посмотрю в файл журнала, я вижу, что обе команды запланированы для запуска:
[1372774536] EXTERNAL COMMAND: SCHEDULE_FORCED_SVC_CHECK;sqlnota03.dbb.dk;NSClient_version;1372781738
[1372774536] EXTERNAL COMMAND: SCHEDULE_FORCED_SVC_CHECK;sqlnota03.dbb.dk;PING;1372781738
После включения отладки получаю следующее:
[1372774536.502948] [016.2] [pid=3840] Found another service check event for service 'NSClient_version' on host 'sqlnota03.dbb.dk' @ Tue Jul 2 17:47:21 2013
[1372774536.502973] [016.2] [pid=3840] Keeping original service check event (ignoring the new one).
Я просматривал конфигурацию много раз и не мог найти никаких ошибок, и Icinga сообщает, что конфигурация в порядке при запуске icinga -v <icinga.cfg>
.
Есть ли кто-нибудь, кто может заметить, что я делаю неправильно?
Конфигурация такая:
define host {
use windows-server
host_name <the host>
address 192.168.1.61
hostgroups mssql, termsrv, windows, nsclient_version
}
define service {
use generic-service
hostgroup_name nsclient_version
service_description NSClient_version
servicegroups nsclient_version
check_command check_nt!CLIENTVERSION
}
# 'check_nt' command definition
define command {
command_name check_nt
command_line check_nt command_line /usr/lib/nagios/plugins/check_nt -p12489 -s <snip> -H '$HOSTADDRESS$' -v '$ARG1$' '$ARG2' '$ARG3'
}
Кажется, что где-то в системе застряла служебная проверка, которая не позволяет Icinga запустить новую?!?
Я заменил check_nt
команда, которая должна запускаться с небольшим скриптом, который просто касается локального файла в /tmp
чтобы увидеть, запущен ли он вообще. Это не так.
редактировать
Я использовал старый веб-интерфейс nagios для планирования новой проверки и (наконец) получил следующее:
Processing: 'SERVICE ALERT: sqlnota03.db
b.dk; NSClient_version; $ SERVICESTATE $; $ SERVICESTATETYPE $; $ SERVICEATTEMPT $; Команда, определенная для службы NSClient_version, не существует
Теперь я не уверен, что означает сообщение - исполняемый файл check_nt
невозможно найти или что-то еще ...?
Я нашел ошибку.
Это было сочетание двух вещей:
command_line
параметр был неправильным.Итак, я изменил это:
command_line check_nt command_line /usr/lib/nagios/plugins/check_nt -p12489 -s <snip> -H '$HOSTADDRESS$' -v '$ARG1$' '$ARG2' '$ARG3'
К этому:
command_line /usr/lib/nagios/plugins/check_nt -p12489 -s <snip> -H '$HOSTADDRESS$' -v '$ARG1$' '$ARG2' '$ARG3'
Я удивлен, сколько времени потребовалось, чтобы Icinga выполнила настоящую проверку, чтобы я мог диагностировать ошибку.