怎么给测量数据加入报警机制?
用于报警的监控系统不同于测量数据采集系统,Nagios便是一个经常和测量数据采集系统配合使用的监控报警工具。
测量数据采集系统专注于数据采集的好处,是有能力发现那些相应点(Integrationpoints),对这些点的异常值开展报警。Flickr使用Ganglial作为测量数据采集系统,Nagios作为监控及报警系统。在某些情况下,将二者紧密结合起来,以建立复杂的报警条件。使Nagios.感知Ganglia采集的数据,就可以具有更为高级的监控手段,这样子,不仅单点到达阈值(threshold)时会产生异常,在符合多值亚阈值模式(multiple-valuesubthresholdpattem)的情况下,也会产生异常。
例如,假设一个运行Apache的Web服务器集群,这些Web服务器浏览运行MYSQL或Poster的后端数据库,获取信息生成页面。一个经常发生的情况是数据库查询运行時间太长,且原因不明,这样子,由于连接不能尽快关闭,数据库总的活动连接数就会增加。结果是,在这些连接上等待的Apache进程也会增加。由于Web服务器和数据库的进程数都有最大值的限制,故此要分别设置Web服务器和数据库的警告(warning)和紧急(critical)阈值,将阈值分别设置为最大值的某个合适的百分比。
对Web服务器和数据库集群中的每个节点的每个值(Apache的忙碌进程和数据库的打开连接)有异常都要报警吗?假如这种异常只发生在一台数据库(或一个数据库集群),或一部分Web服务器上,会怎么样呢?Flickr的做法是将Ganglia采集的多种数据集成到Nagios,咋们就可以做灵活的报警设置,即忙碌的Web服务器(指忙碌的Apache进程数到达紧急阈值的Web服务器)的数量到达一定百分比时,才报警,也仅在忙碌的数据库服务器(指忙碌的连接数到达紧急國值的数据库服务器)的数量到达一定百分比时,才报警。
可以处置这些乃至更复杂的系统与数据的耦合,意味着降低了报警的噪声,只在发生众所周知而又复杂的情况时,呼机才会在深夜三更响起来。
另一个例子是对值的飙升开展报警,报警系统不像采集系统那样记录了历程数据的细节。例如,假如应用程序提供了照片或视频上载的基本功能,使用模式也相对正常(如每日的波峰和波谷),而且对高低线上的改变可以报警,在美国东海岸进入梦乡时,你可能会料想到照片上载量会下降,日峰和日谷之间的改变可能会到达40%。但你会想到一小时之内上载量会下降409%吗?不是下降到0,而是短期之内的剧烈下降!这种情况就值得报警。
这种将网站开发监控系统和采集系统集成起来的做法很常见,这方面有大批的开放源代码项目和文档:
集成Nagios (http://www.monitoringexchangeorg/inventory/check-pluginsSoftware/Misc/checkganglia)
Nagios和 Cacti(http://trac2.assemblacom/npc/)
Nagios和munin(ht://munin-monitoring.org/wiki/Howtocontactnagios
开放源代码GroundWork(集成Nagios、Ganglia、Cacti,http//www.groundwork-pensource.com/community/open-source/).
本文章由新概念互动原创,如没特殊注明,转载请注明来自:http://www.jianzhan0.com/zhiku/76735.html