开源中文网

您的位置: 首页 > Linux应用 > nagios > 正文

nagios分布式下不出图解决办法

来源: 网络整理  作者: 佚名

Nagios是一款开源的免费网络监视工具,能有效监控Windows、Linux和Unix的主机状态,交换机路由器等网络设置,打印机等,但是今天我发现我配置的Nagios不显示图形了。
分布式下通过send_nsca和submit_check_result提交数据到监控中心pnp4nagios不出图,这是个老问题了,以前都碰到过,不过最近在查询check_mk的问题时,又看到网上提问该问题,有些人直接回一句改脚本或者没用过了之。这里总结下(毕竟自己当时调试时也对该问题迷茫过)。
一、监控架构
先上下我的监控架构图:

由于公司现网环境是跨机房的,而每个机房又都有没有公网地址的机器,所以就在每个机房做了一个中心节点 。在三个机房中的三个节点中,选择一个为主,另两个中心节点的监控数据通过send_nsca和submit_check_result提交数据到监控中心 。而监控节点和监控机之间用nrpe也好用check_mk也好,或者用nslient都ok 。
二、pnp4nagios不出图原因
pnp4nagios之所以不出图,是由于submit_check_result提交时,默认是不提交Performance Data数据的。正常出图的情况如下图

分布式下不出图,可以先看下Performance Data后面是否为空,如果为空就是该原因引起的。因为pnp4nagios绘图是根据该数据绘制的。
三、解决方法
解决方法很简单,并不需要修改脚本,只需要打开commands.cfg配置文件,将其中submit_check_result的定义做下修改即可。
修改前:


define command{
command_name submit_check_result
command_line /usr/local/nagios/libexec/eventhandlers/submit_check_result $HOSTNAME$ '$SERVICEDESC$' $SERVICESTATE$ '$SERVICEOUTPUT$'
}

修改后:

define command{
command_name submit_check_result
command_line /usr/local/nagios/libexec/eventhandlers/submit_check_result $HOSTNAME$ '$SERVICEDESC$' $SERVICESTATE$ '$SERVICEOUTPUT$ | $SERVICEPERFDATA$ [$SERVICECHECKCOMMAND$]'
}

修改完成后,通过ps auxf命令查看,提交的内容是不是类似如下:

OK - 127.0.0.1: rta 2.687ms, lost 0% | rta=2.687ms;3000.000;5000.000;0; pl=0%;80;100;; [check_icmp]
如果是,就证明发送数据正常 。
注:该问题pnp4nagios官网已经给出了说明,之前0.4版本的链接就不再发了,这里发下0.6版本关于该问题的链接页。

Distributed Systems
至此,该问题解决,所以遇到类似问题,问论坛或QQ技术群的方法虽然没什么不对,但最好还是先到官网上查下较为好,比较官网更权威更专业。

Tags:出图 分布式 办法
相关文章列表:
关于开源中文网 - 联系我们 - 广告服务 - 网站地图 - 版权声明