como contar o não. de cheques passivos enviados usando nsca?

1

Eu tenho a configuração Nagios / NSCA para um script personalizado perl que é executado no nagioshost.
Eu tenho configurado como:

echo "myhost;myservice;1;Message"|/usr/local/nagios/libexec/send_nsca -to 10 -d ';' -c /etc/send_nsca.cfg -H localhost

Funciona sem falhas.

Então, minha consulta, existe uma maneira no Nagios ou NSCA para contar as verificações passivas? por exemplo, o número de vezes que o Nagios recebe um alerta para myservice on myhost Nota: o script personalizado nunca envia 'OK' para um serviço

    
por Vishnu Kumar 23.09.2016 / 16:25

1 resposta

1

Você pode configurar o nsca (daemon) para gerar a depuração do syslog definindo o debug = 1 no nsca.cfg. Certifique-se de que a opção de depuração não apareça várias vezes com valores diferentes no arquivo de configuração ou que ela possa ser substituída. Aconteceu comigo:).

nsca.cfg:

# LOG FACILITY
# The syslog facility that should be used for logging purposes.

log_facility=daemon

# DEBUGGING OPTION
# This option determines whether or not debugging
# messages are logged to the syslog facility. 
# Values: 0 = debugging off, 1 = debugging on

debug=1

Exemplo de saída em / var / log / messages no CentOS 7:

Sep 23 10:53:14 centos nsca[4504]: Starting up daemon
Sep 23 10:53:19 centos nsca[4504]: Handling the connection...
Sep 23 10:53:19 centos nsca[4504]: Time difference in packet: 0 seconds for host myhost
Sep 23 10:53:19 centos nsca[4504]: SERVICE CHECK -> Host Name: 'myhost', Service Description: 'myservice', Return Code: '1', Output: 'Message'
Sep 23 10:53:19 centos nsca[4504]: Attempting to write to nagios command pipe
Sep 23 10:53:19 centos nsca[4504]: Command file '/var/spool/nagios/cmd/nagios.cmd' does not exist, attempting to use alternate dump file '/var/spool/nagios/cmd/nsca.dump' for output
Sep 23 10:53:19 centos nsca[4504]: End of connection...

O próximo passo é processar os logs para obter as informações / números que você deseja. Existem muitas maneiras de fazer isso ...

Exemplo como você pediu: o número de vezes que o Nagios recebe um alerta para o myservice no myhost

grep "SERVICE CHECK -> Host Name: 'myhost', Service Description: 'myservice'" /var/log/messages | wc -l
1

Aqui você vê o processamento do log show, há uma entrada que corresponde aos seus critérios.

Se você puder criar scripts ou programar, provavelmente poderá escrever algo que funcionará muito bem, mesmo que muitos hosts clientes enviem verificações passivas assim que você tiver esses dados em seus registros.

    
por 23.09.2016 / 18:07