
13
第 2 章
监控惯例
监控
对人们来说意味着什么,每个人或许都有不同的理解。很多人都知道,监控是像
Nagios
一样的传统轮询系统。对于一些人来说,监控可能意味着使用
SNMP
和
Cacti
来
监控网络流量,甚至可能是定制的
Perl
脚本和定时任务。一些公司根本没有运行内部监
控系统,而是将全部或部分监控工作外包给托管的监控服务。无论你是随意拼凑一些工
具还是将它们有序地组织在一起,这些监控系统大多数都具备一些普适性的运维职责。
根据个人经验,对于我们这些
监控架构
的维护人员和使用者来说,有一套通用的术语表
和构建这些监控系统功能逻辑范围的共识是非常重要的。向你的同事介绍如何“对应用
程序进行遥测并汇总结果(因为是不定期报告),然后将结果发送到趋势系统进行关联
和故障检测”,肯定比只是简单介绍“我们监控了这些应用”更能说明你的能力。
我只是言简意赅地介绍了我的经验,但我所说的却至关重要。并且不管怎么样,我们已
经有了很多监控系统。虽然这两种表达在理论上意思可能大致相同,但前者更多地告诉
了别人你做了什么,以及你所做的是如何为组织增加价值的。最重要的是,前者这种表
达能够清晰地介绍你的监控系统,从而大大提高你与客户、工程和运维团队及业务领导
之间的信任度。
监控三要素
监控
是一种通用的描述方式,用于描述保障
IT
系统及服务的可用性和健康状况的软件和
流程的集合。从抽象意义上讲,监控可以分为三大类 :
故障检测
、
告警
和
容量规划
。这其
中的每一项都可以进一步分解为特定的功能任务,我们稍后会进行介绍。现在,先广义地
介绍一下这些概念,因为它们是监控供应商和开源项目中大多数传统方法的基础。 ...