【2013年11月28日 51CTO外电头条】纵观我们部署在基础设施当中并始终保持运作的全部测量机制,监控系统无疑是重要性最高的机制之一,但它却常常遭到我们的忽视。如果能够建立起一套坚实的监控系统来针对可能发生的灾难加以警示,我们就有机会迅速启动灾难响应方案或者着手排除复杂的性能故障,这对于任何规模的企业而言都极具巨大的实际价值。然而,应用程序部署时间表与基础设施升级的压力往往令管理员们疲于应对,甚至因此将监控系统的部署与维护抛在脑后。
不过这也难怪。无论大家实际购买的是什么样的监控系统,都很少能碰到交钥匙方案--也就是那种设置之后就不必另行管理的廊。除非大家的实际业务环境简陋到及点,否则在监控所有重要细节信息的同时又要淘汰不必要的干扰与误报,这很可能成为工作量庞大而又相当耗时的任务。
我们需要有能力对方案进行规模调整,并确保自己花在上面的时间最终带来相应的回报,这非常重要。根据个人多年来与众多开源及封源监控堆栈打交道的经验,我汇总出了以下五项必备特性、从而保证监控软件包能够在经过配置之后顺利应对复杂的业务环境。如果大家发现自己部署的监控系统不满足其中的某些要求,那最好是在严重问题发生之前尽快着手处理,否则后果不堪设想。
监控必备特性第一位:多重冗余机制?
大多数监控系统都会利用一套软件服务来实际数据的收集与检测。在某些情况下,这项数据收集服务可能与系统使用同一套警报机制以及用户界面。但另一些系统所采用的收集服务则属于独立软件,甚至不止一种。很明显,允许大家部署多种收集方案并集中对其进行管理的系统要远优于不支持这些功能的系统。
这样的评价基于两大主要原因。首先,大家可以建立一些冗余机制、这样当灾难发生时也只会影响某一种数据收集方案。其次,对同样的内容拥有多种审查视角拥有非常现实的意义。特别是对于规模更大的广域网来说,如果每个站点都拥有独立收集方案、那么其收效将非常巨大--因为这样一来我们就能轻松区分到底是整体网络出了问题还是单一站点发生故障(而且数据采集即使在广域网中断时仍能持续进行)。
监管必备特性第二位:出色的图形功能?
任何一套称职的监控系统都必需拥有出色的图形引擎。这并不仅仅意味着能为使用者提供流畅的线条与漂亮的色彩搭配,当然这些也确实值得关注。如果大家曾经使用过监控系统来解决性能问题,就会在实践中意识到这种对多个图形进行排列、缩放、扩展乃至平移的能力是多么重要。
设想一下,大家正尝试找出导致某个多层Web应用程序速度降低的根源。如果能够将大量看似互不相关的图形(例如存储延迟、网络吞吐量、每秒数据库处理量等等)堆叠起来,并通过直观比较从它们的相关性中找到需要的答案。
监控必备特性第三位:便捷的事件抑制
对于任何一套监控系统来说,最糟糕的状况就是由于已知或者意料之中的问题而引发了误报以及后续应对措施。如果每一次手机接到的短信都在用80个字来描述同一件事,那么我们很可能失去耐性而错过监控系统所通知的真正重点--甚至有可能在毫不知情的状态下令事态步步恶化。有鉴于此,快速抑制我们已经了解且重要度不高的事件就成了一种非常重要的能力。
同样重要的是,我们还需要有能力抑制来自特定来源的事件--例如大家非常清楚当下的某些维护或者升级工作必然要引发某些错误。我就遇到过这样的状况,有好几次已知升级流程都在其它系统中引发了意料之外的次生影响,但大家过了很长时间才发现这些影响--因为监控系统将其自动忽略了。如果能在监控系统中创建一个始终位于前端的计划停机时间窗口,那么一切都会变得大不相同。
监控必备特性第四位:多川数据收集方法
大家可以通过多川方法从基础设施当中获取信息。几乎每一套监控软件包都支持基础型选项,例如检测正常运行时间的ICMP ping、收集网络统计信息的SNMP以及从Windows设备中提取事件日志数据的WMI等。这些基础方法 曾经广泛覆盖绝大多数主流系统。然而时至今日,SNMP已经被其它更具现代特性的监控及管理接口所取代,最典型的就是WBEM以及CIM。事实上,很多供应商已经开始彻底放弃对SNMP支持并转向CIM,而且这一趋势将随着时间的推移而不断加速。
除了新协议对SNMP的取代,还有其它一旬查询类型前来援助。例如能够直接执行SQL查询并计算执行时间或审视其输出结果,监控某项Web服务对特定HTTP的响应或者响应代码,甚至可以根据特定条目掌控日志文件中的对应文本内容。总而言之,我们工具箱里的工具种类越多,我们就越可能拥有掌握重要细节信息的能力。
监控必备特性第五位:简化集成与扩展
无论大家打算利用监控系统执行或者忽略哪些任务,将其扩展或者与其它系统相集成的能力都是非常重要的--这意味着我们最终能够保住自己部署并花在这套系统上的所有时间与精力。尽管很多监控系统都能够很好地完成本职工作,但它们并不是在每项任务上都能出色发挥。有时候获取必要信息的惟一办法就是编写一套特定解决方案或者使用另一种工具。在这类情况下,监控系统通过扩展或集成与其它软件协同合作的能力就成了重中之重。这可能表现为可以在其中运行外部脚本并实现内部解析,或者与另一套票据管理平台相集成。
终而言之,具体选择使用哪一套监控方案取决于我们希望依靠它来完成哪些任务。某些方案在监控Linux环境方面表现出色、另一些则更适应在Windows环境下发挥作用。还有一些针对网络及基础设施所打造,而不太擅长打理应用程序。不过,无论大家最终作出怎样的选择,都应该与前面所提到的五点内容加以印证--这些通用特性与实际运行环境并无关联。
如果大家目前正在使用或者将来打算使用的方案不符合上述要求,也许另寻答案才是最好的办法。监控系统非常重要、将其融入工作流的过程也需要耗费大量时间,因此请朋友们慎重考量、认真评估。
原文链接:http://www.infoworld.com/d/data-explosion/5-must-have-capabilities-every-monitoring-system-231597