情景如下:

OS: Ubuntu 12.04 LTS x86_64;

Nagios版本3.2.3;

Nagiosql版本3.2.0;

Pnp4nagios版本0.6.13;

虚拟机,四核,1.5内存;

模式:被动监控

监控主机数量:169

监控服务数量:745

绘图数量:923  (find /var/lib/pnp4nagios/perfdata -name "*.rrd"|wc -l)

绘图模式:Synchronous mode

故障现象: 报警和监控持续性延迟,但绘图正常,各种调优依然无解;关闭pnp4nagios绘图之后,监控和报警立刻恢复正常;个人感觉像是监控和绘图在争抢系统资源;


解决方法: 更改pnp4nagios绘图模式为bulk-npcd即可.


简单叙述一下,个人对pnp4nagios的几种绘图模式工作原理的理解:

第一种:synchronous mode 中文:同步模式 。 个人理解,只要接收到数据,就立刻绘图,如下图:

记一次nagios故障及解决_第1张图片

第二种:bulk mode中午:容器模式。个人理解,把需要绘图的数据做一下转存先,到达一定的量,再绘图,听说这种方式再同时要处理比较多的数据时会造成超时;可以通过修改特定参数缓解。如下图:

记一次nagios故障及解决_第2张图片

第三种:bulk mode with npcd 中文:由npcd来管理的bulk模式。 个人理解: 等同于第二种,但是由npcd来管理何时绘图,笔者的解决方案就是这种。见下图:

记一次nagios故障及解决_第3张图片

第四种: Bulk Mode with npcdmod ;以nagios模块化运行npcd,但貌似官网介绍说不支持nagios4,笔者也未做过多的测试,见下图:

记一次nagios故障及解决_第4张图片

第五种: Gearman Mode..不知道怎么翻译...看官方说的很牛的样子,能让pnp4nagios和nagios分布在不同的机器上,笔者未做深入了解,有兴趣去官网吧...见下图:

记一次nagios故障及解决_第5张图片


更改方法参考pnp4nagios官网即可。



参考:

http://docs.pnp4nagios.org/pnp-0.6/modes

http://www.360doc.com/content/11/0810/11/1208969_139346861.shtml