“无法打开MRTG日志文件”与nagios和mrtg错误

我们有一个奇怪的问题,我们的icinga / nagios和mrtg的设置。

Icinga工作很好,没有问题,它基本上可以监控所有的事情。

我们设置mrtg从我们的路由器和交换机收集带宽数据。 MRTG工作正常:它将日志数据存储在/ var / www / mrtg /目录中,并通过web显示graphics数据。 我们假设MRTG做得很好。

我们尝试在nagios中设置带宽检查:

define service{ use generic-service ; Inherit values from a template host_name zywall-agora service_description ZYWALL AGORA TRAFFICO check_command check_local_mrtgtraf!/var/www/mrtg/xxxx_2.log!AVG!1000000,2000000!5000000,5000000!1000 check_interval 1 ; Check the service every 1 minute under normal conditions retry_interval 1 ; Re-check every minute until its final/hard state is determined } 

其中/var/www/mrtg/xxxx_2.log是正确的日志path文件。

我们继续在icinga web界面的testing结果中无法打开MRTG日志文件错误。

我们尝试了一切:

  • 将用户nagios或icinga归于日志文件
  • 给文件chmod 777
  • 尝试将该文件复制到另一个目录中并授予其完全权限

同样的错误。 奇怪的是,如果我们使用nagios在bash会话中生成的命令,命令就像一个魅力:

 /usr/lib64/nagios/plugins/check_mrtgtraf -F /var/www/mrtg/xxxx_2.log -a AVG -w 10,20 -c 5000000,5000000 -e 10 

结果:

 Traffic WARNING - Avg. In = 17.9 KB/s, Avg. Out = 5.0 KB/s|in=17.877930KB/s;10.000000;5000000.000000;0.000000 out=5.000000KB/s;20.000000;5000000.000000;0.000000 

我们以root用户身份运行该命令行,以用户nagios和用户icinga的身份运行,三者都正常运行。 我们认为nagios执行的命令可能有些问题,所以我们debugging了nagios,但是我们发现nagios生成的命令与上面相同。

在google上search这类问题只会返回mrtg没有安装的系统问题,或者是日志文件path错误的问题,但这些问题似乎并不是我们的情况。

我们卡住了,有人可以帮忙吗?

我解决了这样的问题configuration命令:

 define command{ command_name check_local_mrtgtraf command_line $USER1$/check_mrtgtraf $ARG1$ 10 AVG $ARG2$ $ARG3$ $ARG4$ } 

并像这样定义服务:

 define service { use ... host_name .... ... check_command check_local_mrtgtraf!path_to_logfile!30,40!100,200!10 } 

向我们显示“check_local_mrtgtraf”命令的命令定义。 这可能与您将其作为ARGs传递的内容不匹配。

此外,你可能想尝试通过'env -i'运行它来模拟nagios / icinga如何运行它(没有ENV)。