Como ver valores SNMP recuperados anteriormente no Nagios

Como ver valores SNMP recuperados anteriormente no Nagios

Configurei com sucesso o Nagios 3.2.3 para monitorar vários agentes SNMP.

Por exemplo, estou monitorando o OID RFC1213-MIB::udpOutDatagrams.0 em um desses agentes.

Isso está funcionando bem. Posso obter as seguintes informações sobre os valores atuais de um OID (um serviço no Nagios):

Current Status:   OK   (for 1d 9h 46m 24s)
Status Information: SNMP OK - 55886
Performance Data:   RFC1213-MIB::udpOutDatagrams.0=55886c
Current Attempt:    1/3  (HARD state)
Last Check Time:    06-02-2015 16:17:25
Check Type: ACTIVE
Check Latency / Duration:   0.081 / 5.304 seconds
Next Scheduled Check:   06-02-2015 16:27:25
Last State Change:  06-01-2015 06:37:25
Last Notification:  N/A (notification 0)
Is This Service Flapping?     NO   (0.00% state change)
In Scheduled Downtime?    NO  
Last Update:    06-02-2015 16:23:49  ( 0d 0h 0m 0s ago)

No entanto, não consigo descobrir como visualizar os valores anteriores.

Por exemplo, quero descobrir quantos datagramas um agente enviou hoje.

Tudo o que encontro na interface web são relatórios de disponibilidade.

Seria ótimo se eu pudesse gerar um relatório que usasse os valores reais recuperados.

Caso isso não seja possível, gostaria de saber onde posso encontrar os arquivos de log, para pelo menos recuperar essas informações de uma forma ou de outra.

Responder1

O Nagios não registrará automaticamente esses valores. Você tem que habilitar isso manualmente. Altere ou adicione os seguintes parâmetros em seu nagios.cfg:

process_performance_data=1
service_perfdata_file=/var/nagios/perfdata.log
service_perfdata_file_template=[SERVICEPERFDATA]\t$TIMET$\t$HOSTNAME$\t$SERVICEDESC$\t$SERVICEEXECUTIONTIME$\t$SERVICELATENCY$\t$SERVICEOUTPUT$\t$SERVICEPERFDATA$
service_perfdata_file_mode=a
service_perfdata_file_processing_interval=30
service_perfdata_file_processing_command=process-service-perfdata

Verifique se seu command.cfg contém o seguinte comando:

define command{
    command_name    process-service-perfdata
    command_line    /usr/bin/printf "%b" "$LASTSERVICECHECK$\t$HOSTNAME$\t$SERVICEDESC$\t$SERVICESTATE$\t$SERVICEATTEMPT$\t$SERVICESTATETYPE$\t$SERVICEEXECUTIONTIME$\t$SERVICELATENCY$\t$SERVICEOUTPUT$\t$SERVICEPERFDATA$\n" >> /usr/local/nagios/var/service-perfdata.out
}

Essas configurações permitirão o registro de dados de desempenho no arquivo especificado: /var/nagios/perfdata.log

informação relacionada