如何给测量数据加入报警机制?
用于报警的监控体系分歧于测量数据采集体系,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/).