Icinga (nagios) ignorando verificações forçadas

1

Eu tenho um problema estranho: Icinga (nagios) não roda check_nt que eu configurei em uma caixa debian.

O que eu faço é agendar uma verificação forçada de NSClient_version e PING . Se eu olhar no arquivo de log, posso ver que ambos os comandos estão agendados para execução:

[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

Após ter ativado a depuração, recebo isso:

[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).

Eu examinei a configuração várias vezes e não consegui encontrar nenhum erro, e a Icinga relata que a configuração está correta ao executar icinga -v <icinga.cfg> .

Existe alguém que possa identificar o que estou fazendo errado?

A configuração é:

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'
}

Parece que há uma verificação de serviço presa em algum lugar no sistema que impede que a Icinga execute uma nova?!?

Eu substituí o comando check_nt que deve ser executado com um script pequeno que apenas toca um arquivo local em /tmp para ver se está sendo executado. Este não é o caso.

Editar

Eu usei a interface web antiga do nagios para agendar uma nova verificação e (finalmente) entendi:

Processing: 'SERVICE ALERT: sqlnota03.db

b.dk; NSClient_version; $ SERVICESTATE $; $ SERVICESTATETYPE $; $ SERVICEATTEMPT $; mand definido para o serviço NSClient_version não existe

Agora eu não tenho certeza do que a mensagem significa - que o executável check_nt não pode ser encontrado ou algo mais ...?

    
por Michael Zedeler 02.07.2013 / 16:24

1 resposta

1

Eu encontrei o erro.

Foi uma combinação de duas coisas:

  • A Icinga-web não agendou as verificações corretamente. Por alguma razão, apenas ignorou o comando de verificação (vou analisar isso mais tarde).
  • Uma vez que recebi um cheque agendado, ficou claro que o caminho para o parâmetro command_line estava errado.

Então eu mudei isso:

command_line    check_nt command_line /usr/lib/nagios/plugins/check_nt -p12489 -s <snip> -H '$HOSTADDRESS$' -v '$ARG1$' '$ARG2' '$ARG3'

Para isso:

command_line /usr/lib/nagios/plugins/check_nt -p12489 -s <snip> -H '$HOSTADDRESS$' -v '$ARG1$' '$ARG2' '$ARG3'

Surpreende-me quanto tempo demorou para que Icinga fizesse uma verificação para poder diagnosticar o erro.

    
por 02.07.2013 / 17:41

Tags