如何在 Nagios 中查看先前檢索到的 SNMP 值

如何在 Nagios 中查看先前檢索到的 SNMP 值

我已成功設定 Nagios 3.2.3 來監視多個 SNMP 代理程式。

例如,我正在監視其中一個代理程式上的 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

相關內容