Nagiosgrapher 无法正确处理数据

Nagiosgrapher 无法正确处理数据

据我所知,我已经正确配置了 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 功能似乎在本地和远程主机上都正常运行。

答案1

日志显示 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”条目有意义。

答案2

我要在这里详细回答我自己的问题,因为这个问题让我抓狂了一段时间,希望它能帮助其他正在寻找相同问题的人。不过,感谢 Keith 的回答,让我走上了正确的道路。

为了调试这个问题,我编辑了 /etc/nagiosgrapher/ngraph.ncfg 文件并将日志设置为最详细的设置:

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

然后我通过重新启动了 nagiosgrapher/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

相关内容