IT运维监控,是⼀个被持续关注了多年的话题。⻓期以来,IT运维⼈员⼀直寄希望于运维监控系统可以“⽐用户和领导先发现业务应⽤系统问题”,希望运维监控系统具备“未卜先知”能⼒,希望运维监控系统在出现问题时,可以“直达要害”地告诉运维人员是什么原因导致了业务应⽤系统出现了问题...
 
但非常遗憾的是,花⼤价钱采购的商业版运维监控系统,并没有做到“⽐⽤户和领导先发现问题”,⽽且大型商业版运维监控系统本身的运行和维护工作量却很⼤,资源消耗也⽐较“感人”;

各式各样技术和理念领先的开源运维监控⼯具和方案,也没有真正“未⼘先知”的能⼒,排查问题时,还是要去各个运维监控系统中“翻江倒海”的寻找“蛛丝马迹”,⽽且开源系统也不是免费的午餐,在各种“踩坑”和“试错”过程中艰难的前行...
 
运维监控系统,是“救命稻草”还是“鸡肋”?除了运维监控,我们是否还有更好⼿段或方案来为业务应⽤系统的稳定可靠运⾏保驾护航?传统的运维监控系统是否能适应⾼速迭代的IT技术栈?
 
针对上述问题,我们从“现状”⼊⼿来进⾏逐一剖析:
我们⽬前的IT运维监控做得怎么样?存在哪些缺失和不⾜?是否可以满⾜企业数字化业务对于稳定可靠运⾏的需求(MTTR,SLA等)?

通常,我们从以下五个方⾯对IT资源监控能力(成熟度)进⾏评估:
 IT资源监控数据采集
 IT资源监控数据处理和存储
 IT资源监控指标体系
 IT资源监控告警和事件处理
 IT资源监控事件分析和故障定位

01

数据采集


数据采集能⼒是IT资源监控的核⼼能⼒之一,主要从数据采集⽅式、数据采集协议、数据采集内容(范围)三个⽅⾯来进⾏评估。
 
数据采集⽅式:通常包含有Agent和⽆Agent两种。传统的运维监控⼯具都有⾃⼰专属的数据采集Agent,⽬前业界尚没有统⼀的运维监控Agent标准或协议规范,因此如果同时采⽤多个不同的监控系统,则会出现同⼀台主机上部署多个运维监控Agent的问题;⽆Agent数据采集⽅式通常⽤于从网络设备、存储设备、安全设备等IT硬件资源中采集运维监控数据,常⻅的⽆Agent数据采集协议有SNMP、IPMISMI-S等。除了常⻅的时序型指标数据,日志也是运维监控数据采集的⽬标。

02

数据处理和存储


随着IT资源规模的不断扩⼤,被监控对象和每个被监控对象上的监控指标数量也会急剧增加。传统的运维监控系统通常使用面向过程的数据处理⽅式,数据最终落盘到关系型数据库中。

当监控数据⽇增量超过50GB时,由于数据处理过程和数据存储的限制(低成本横向扩展困难),只能压缩监控数据的存储周期,即便如此,在进⾏监控数据分析或者故障定位数据查询时,依然会⾯临查询效率低下,甚⾄会造成整个监控系统“卡顿”。
 
监控数据也是企业重要的数字化资产之⼀,其中同样蕴藏着的巨大的业务价值。通过对历史监控数据进⾏分析和挖掘,可以为更多的智能高阶应用场景提供⽀撑,例如:容量规划、异常检测、根因分析、⽤户体验分析、业务流程分析等。

03

指标体系


对于IT资源监控来说,并⾮监控的指标越多越好。不同的业务应⽤系统也有其不同的特质。在实施运维监控系统的过程中,也不可以⼀概⽽论,需要针对不同的业务应⽤系统,不同⽣产运⾏环境,不同的场景进⾏差异化监控。
 
每个业务应⽤系统,以及支撑业务应⽤系统运⾏所需的IT资源,都会有数⼗个甚⾄数百上千个监控指标,但是能表明业务应⽤系统是否在正常运⾏(处于健康态)的指标,不会超过5个,即:⻩⾦指标。⻩⾦指标中所包含的指标,⾄少有⼀个是与业务密切相关的(业务指标),例如:交易量、订单量、xx事务错误率等。当某个业务指标出现异常时,即便其他与之相关的技术指标都处于正常状态,那么依然意味着此业务应⽤系统已经出现了问题。
 
监控指标不是平⾯的列表,每个监控指标,都需要有清晰的定义,例如:指标的含义是什么,数据是从哪⾥采集的,指标如何被聚合/计算等。

04

告警和事件处理


“告警⻛暴”,⼀个在传统运维监控系统中常⻅的名词,太多的告警消息对运维⼈员来说相当于“狼来了”,导致的后果就是对运维⼈员对告警消息“⽆动于衷”,或者⼲脆关闭⼤部分的告警消息以得“耳根清净”。即便运维⼈员对所有的告警消息都保持“高度警惕”,认真的去阅读和查看每⼀条告警消息,这样真的就能从“简单明了”的告警消息内容中解读出关键信息吗?
 
当有告警消息产生时,监控的告警组件应该根据CMDB或者其他IT资源图谱系统中的数据对告警消息内容进⾏“丰富”,以此告知运维⼈员与这条告警消息相关的更多有价值的信息,例如:哪个业务应用系统的哪个集群的哪台服务器出现了故障。

如果部署了多个运维监控系统对同⼀组IT资源进⾏不同视角和维度的监控,那么当某个IT资源出现问题⽽触发多个运维监控系统告警时,这些来⾃多个运维监控系统的告警消息应该被根据IT资源拓扑或者预制的规则进⾏“收敛”。

05

事件分析和故障定位


监控告警和告警事件不仅仅是要告诉IT运维⼈员“发⽣了什么”,还要告诉IT运维⼈员“是什么原因导致发⽣了什么问题”,“当前发⽣的问题对哪个业务应⽤系统造成了什么样的影响”。以监控告警事件为“⼊⼝”,开展针对特定事件的分析和故障定位,以此有效提升MTTIMTTK(故障发现和故障定位)。
 
在排查问题的过程中,充分利⽤遵循OpenTelemetry规范的调⽤链/业务追踪数据(⽇志),从“全链路追踪”和“数字化业务客户旅程”层⾯,实现更加精准⾼效的故障定位。
 
为了确保事件分析和故障定位效率,现代化的运维监控系统需要具备统⼀的、跨多数据源的秒级(即席)监控数据查询分析和可视化功能。
 
更多IT资源监控成熟度评估相关的内容,请⾄优维官⽹了解更多信息并联系我们的咨询顾问进⾏深层技术交流。