Nagios에서 이전에 검색된 SNMP 값을 보는 방법

Nagios에서 이전에 검색된 SNMP 값을 보는 방법

여러 SNMP 에이전트를 모니터링하도록 Nagios 3.2.3을 성공적으로 구성했습니다.

예를 들어, 저는 해당 에이전트 중 하나에서 OID RFC1213-MIB::udpOutDatagrams.0을 모니터링하고 있습니다.

이것은 잘 작동합니다. OID(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)

그러나 이전 값을 보는 방법을 알 수 없는 것 같습니다.

예를 들어, 오늘 에이전트가 보낸 데이터그램 수를 알고 싶습니다.

웹 인터페이스에서 찾을 수 있는 것은 가용성 보고서뿐입니다.

실제 검색된 값을 사용하는 보고서를 생성할 수 있다면 좋을 것입니다.

이것이 불가능할 경우 로그 파일을 어디에서 찾을 수 있는지 알고 싶습니다. 그러면 최소한 어떤 방식으로든 이 정보를 검색할 수 있습니다.

답변1

Nagios는 이러한 값을 자동으로 기록하지 않습니다. 이 기능을 수동으로 활성화해야 합니다. 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

Commands.cfg에 다음 명령이 포함되어 있는지 확인하십시오.

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
}

이러한 설정을 사용하면 지정된 파일에 성능 데이터를 기록할 수 있습니다: /var/nagios/perfdata.log

관련 정보