Debian

Nagiosgrapher 未正確處理數據

  • August 5, 2012

據我所知,我已經正確配置了 nagiosgrapher,但日誌繼續報告缺少數據。例如,對於負載,在/var/log/nagiosgrapher/ngraph.log

2012-08-02 22:30:16 PIPE: myhost    CPU Load        OK - load average: 0.00, 0.00, 0.00     load1=0.000;15.000;30.000;0; load5=0.000;10.000;25.000;0; load15=0.000;5.000;20.000;0;
2012-08-02 22:30:16 VALUES: [myhost][CPU Load]:No matching output values found...

我之前在 Debian 系統上配置過 Nagios 和 Nagiosgrapher,從來沒有遇到過這樣的問題,至今無法解決。

系統僅使用預設外掛。相關/etc/nagios3/nagios.cfg值為:

process_performance_data=1

service_perfdata_command=ngraph-process-service-perfdata-pipe

我嘗試以不同的順序重新啟動 Nagios 和 Nagiosgrapher,這是我在 Google 搜尋中發現的,但這似乎沒有效果。

是否知道我可能做錯了什麼或在哪裡看?所有其他 Nagios 功能似乎在本地和遠端主機上都表現正常。

在這裡詳細回答我自己的問題,因為這讓我發瘋了一段時間,希望它能幫助其他人在路上尋找同樣的東西。不過,感謝基思的回答,這讓我走上了正確的道路。

為了調試它,我編輯了 /etc/nagiosgrapher/ngraph.ncfg 文件並將日誌設置為盡可能詳細的設置:

log_file                /var/log/nagiosgrapher/ngraph.log
log_level               255

然後我重新啟動了 nagiosgrapher via/etc/init.d/nagiosgrapher restart並開始在上面的位置觀看日誌。

這裡發生了三件事,所有這些都導致​​了我的問題:

問題 1

無論出於何種原因,nagiosgrapher 的 Debian 發行版不再安裝 check_disk.ncfg 和 check_load.ncfg 圖形定義。當事情不起作用時,我總是認為我做錯了什麼,但在這種情況下,它們只是不存在 - 但是,它們在發行版和系統中。你只需要複製它們:

cp /usr/share/nagiosgrapher/debian/cfg/ngraph.d/standard/check_disk.ncfg /etc/nagiosgrapher/ngraph.d/standard
cp /usr/share/nagiosgrapher/debian/cfg/ngraph.d/standard/check_load.ncfg /etc/nagiosgrapher/ngraph.d/standard

這可能只是包安裝腳本的問題,但我沒有驗證這一點,您的里程可能會有所不同。不過,這對我有用。

問題 2

我在我定義它service-description的文件中將“目前負載”重命名為“CPU負載” ,這在當時似乎是無辜的。/etc/nagios3/conf.d/services_nagios2.cfg但是,nagiosgrapher 軟體包附帶了一個名為的外掛,該外掛check_hardware具有一個定義為“CPU”的塊,顯然,nagiosgrapher 查看該服務描述,在空白處解析它,然後檢查匹配的塊,在這種情況下檢查兩個“CPU”和“載入”。此外,任何時候這些塊中的一個無法匹配,整個寫入都會失敗,從而導致我在上面的問題中得到消息。

問題 3

與問題 2 類似,我添加了對 MySQL 分區的監控並將其設置service-description為“磁碟空間:MySQL”。再次,正弦 nagiosgrapher 解析空白,它同時看到“磁碟”和“MySQL”並觸發 MySQL 圖形外掛,這當然在磁碟輸出上失敗。更改服務描述解決了這個問題。

完成上述更改後,請執行以下操作:

/etc/init.d/nagiosgrapher restart

這將開始正確生成圖形數據。一旦它執行了一段時間並且每個圖都至少生成了一次(您可以在日誌中驗證或直接在/var/lib/nagiosgrapher/rrd/目錄中查看),然後重新啟動 Nagios:

/etc/init.d/nagios3 restart

在這一點上,一切都應該正常工作。

對於它的價值,這些是我安裝的導致我遇到這個問題和解決方案的軟體包:

ii  nagios-images                           0.7                          Collection of images and icons for the nagios system
ii  nagios-nrpe-plugin                      2.12-4                       Nagios Remote Plugin Executor Plugin
ii  nagios-nrpe-server                      2.12-4                       Nagios Remote Plugin Executor Server
ii  nagios-plugins-basic                    1.4.15-3squeeze1             Plugins for the nagios network monitoring and management system
ii  nagios-plugins-standard                 1.4.15-3squeeze1             Plugins for the nagios network monitoring and management system
ii  nagios3                                 3.2.1-2                      A host/service/network monitoring and management system
ii  nagios3-cgi                             3.2.1-2                      cgi files for nagios3
ii  nagios3-common                          3.2.1-2                      support files for nagios3
ii  nagios3-core                            3.2.1-2                      A host/service/network monitoring and management system core files
ii  nagiosgrapher                           1.7.1-2+deb60u1              Charting add-on for Nagios

日誌顯示 PIPE 行的事實意味著您已將 Nagios 配置為正確地將數據發送到 Nagiosgrapher。

“未找到數學輸出值”行意味著“CPU 負載”ngraph 定義中的正則表達式與它獲得的數據中的任何內容都不匹配(“OK - 平均負載:0.00, 0.00, 0.00 load1=0.000;15.000; 30.000;0;load5=0.000;10.000;25.000;0;load15=0.000;5.000;20.000;0;")。

您應該有一個配置文件(可能是“check_load.ncfg”),它定義了包含名稱“load”的服務的 ngraph。檢查 ngraph.d 文件夾,或者無論您將配置片段放在 Nagiosgrapher 的哪個位置,然後確保“graph_log_regex”或“graph_perf_regex”條目有意義。

引用自:https://serverfault.com/questions/413889