原文:http://docs.pnp4nagios.org/pnp-0.6/modes
Synchronous Mode
第一种:同步模式
最简单的一种模式,设置简单;nagios为每个服务和主机调用process_perfdata脚本各自的去处理接收到的数据;同步模式下在工作比较好的情况下每五分钟可以处理大约1000个服务,所以此模式性能比较差,不能应用到比较大的环境下。
Bulk Mode
第二种:容器模式
引用一个spool文件来充当临时的容器,收集到一定的时间段以后调用process_perfdata.pl来读取spool临时文件来更新RRD数据库和写XML元数据,所以此模式相对于系统调用少,但是process_perfdata.pl脚本执行的时间长,性能比第一种有质的提高,但是会出现数据更新的延时,原引官方网站的列子:
snippetof var/perfdata.log:
2007-10-1812:05:01 [21138] 71 Lines processed
2007-10-18 12:05:01 [21138] .../spool/service-perfdata-1192701894-PID-21138deleted
2007-10-18 12:05:01 [21138] PNP exiting (runtime 0.060969s) ...
71行数据执行只需要0.06秒,这意味着十秒钟就可以执行2000个服务,性能得到了很大的提高,但是nagios整整执行了0.06秒的时间。
Bulk Mode with NPCD
第三种:由NPCD管理的容器模式
这是目前为止PNP4Nagios最好的工作模式,nagios使用临时文件来存储过一段时间要执行的数据,nagios不直接执行这个临时文件中的数据,而是把这个临时文件移动到spool目录里面,因为是同文件系统内的移动,所以几乎不花费什么时间,然后nagios就去继续执行重要的工作,然后NPCD进程扫描spool目录,如果发现新的spool文件调用process_perfdata.pl脚本来执行;NPCD进程是nagios优化的C进程,使用NPCD进程来处理spool文件以后,就可以把nagios进程中处理这些数据上解放出来去做重要的工作,并不需要中断,而且NPCD可以使用多个线程来来处理数据,所以性能很优越。
Bulk Mode with npcdmod
第四种:NPCD模块化的容器模式
使用Nagios4的话加载此模块会失败,而且至今也没有相关的计划去解决这个问题,所以如果你使用Nagios4的话就选择其他的工作模式吧
这种方案包括npcdmod.o和NEB-module模块,简化了在“BulkMode with NPCD”模式下nagios.cfg文档内的配置,而且这种模式提供一样的功能和性能。
Gearman Mode
第五种:Gearman模式
0.6.12版本以后PNP4Nagios出的一个gearman模式,在比较大的nagios环境下才肯呢过使用这个mod_gearman,Nagios和PNP4Nagios运行在不同的机器上
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。