IT全面集中监控架构实例研究
2022-03-12上官斌
上官斌
摘要:如何将大型企业下各部门、各团队零散的监控统一化,保障业务系统的稳定运行,提前发现隐患、及时发现及定位故障,通知运维人员快速处理,成了业界迫切需要解决的问题。笔者在实际生产中通过主持物联网集中监控系统的自主开发实践,上万台IT硬件、数十个重点产品纳入集中监控,打通从基础资源、应用、业务、日志监控IT全环节,先于用户发现并及时处置各类业务及系统故障60余起,取得良好成效。现总结了其中一些实践性经验,供从业者参考。
关键词:IT;集中;监控;架构
中图分类号: TP391.1 文献标识码:A
文章编号:1009-3044(2022)03-0110-02
开放科学(资源服务)标识码(OSID):
1 平台概述
随着IT系统在各行各业的广泛应用的同时,硬软件故障给IT 系统的运维部门带来的巨大了挑战。如何保障业务系统的稳定运行,提前发现隐患、解决隐患,如何提高IT资产利用率、将管理理论转化成最佳生产力、提高管理效率、降低运维成本,如何将大型企业下各部门、各团队零散的监控统一化,成了业界迫切需要解决的问题。[1],[2]
集中监控平台作为中移物联网公司最新一代的集运维、监控、分析一体的软件。平台目前支持多维度、多方式监控和告警集成,通过7*24小时监控中心集中监控和短信邮件告警通知方式实现监控统一化。同时将各零散系统的企业IT资源数据、资源运行数据进行标准化,为IT资源分析提供数据基础。
1.1 技术概述
监控平台使用微服务框架开发,支持單个周期(分钟)亿级数据采集、告警判定、历史数据存储和查询。实现了告警合并、告警级别自定义、动态告警阈值、告警恢复通知、维护周期自定义等功能。利用大数据技术进行监控指标存储,支持海量监控数据接入存储和快速查询。提供快速便捷的接入能力和多样的接入方式,实现跨部门、跨平台的统一监控、统一告警,并通过短信和邮件自动通知到相关维护接口人。[3]
1.2 监控范围
2 集中监控类型
2.1 基础监控
基础监控主要包含硬件和软件两部分,硬件监控含网络设备、主机、存储设备等物理设备的相关硬件运行状态,如CPU温度、外界环境温度、电源状态、内存条状态、风扇转速、硬盘状态等;软件监控含操作系统层面能获取相关信息,如内存使用率、CPU使用率、硬盘使用率、端口状态、进程状态等。
硬件监控:服务端向客户端主动发起数据采集请求,通过客户端提供的认证信息,经SNMP或IPMI方式获取硬件设备的运行状态,并上传至集中监控平台;[4]
软件监控:客户端部署监控程序,由监控程序从服务端获取监控指标项后主动获取该客户端的相关指标数据,并上传至集中监控平台。
2.2 容器监控
在K8S1.8之前的版本中,K8S默认以及推荐的监控体系是它自己的一套东西:Heapster + cAdvisor + Influxdb + Grafana,1.8后Heaspter由Metric-server替代。如果你部署了Dashboard,就能看到监控数据,K8S 自身的 HPA (Horizontal Pod Autoscaler),默认从 Heapster 中获取数据进行自动伸缩,1.8版本以后,K8S希望将核心监控指标收拢到Metric API的形式,而自定义监控指标,由Prometheus来实现,Prometheus正式成为K8S推荐的监控实现方案。因此,通过成熟的Prometheus来监控容器,同时将Prometheus对接集中监控平台,在集中监控平台实现统一告警、统一配置、数据统一展现。
2.3 应用监控
集中监控平台对操作系统层面之上的应用层面监控也全方位支持,如数据库、集群系统、标准应用、中间件、虚拟化等。同时支持自定义扩展,按需定制插件对个性化应用进行监控。
2.4 业务监控
业务监控主要从宏观层面对具体业务指标进行实时监控,通过阈值配置来触发告警。我们提供平台端主动采集、业务端通过标准API推送两种方式获取数据。
平台端主动采集方式:集中监控平台每5分钟会从配置好的数据源,按约定好的逻辑采集业务运行数据,通过平台阈值配置触发告警。
标准API推送:集中监控平台提供基于HTTP的API推送接口,业务端在平台获取授权后可将业务指标数据通过API接口推送至集中监控平台,通过平台阈值配置触发告警。
2.5 日志监控
集中日志系统负责处理日志收集、日志展示、日志告警等工作。集中监控平台提供上层统一告警、统一展示、统一分析能力。日志系统可基于Kafka+Elasticsearch 搭建,客户端将日志接入Kafka,并配置监控关键字后即可在集中监控平台进行告警触发。
2.6 基于三方监控系统集成监控
像容器监控一样,并不是所有的平台、系统的底层单元均需要通过部署监控程序的方式来进行监控。为了各部门集中监控需求的快速响应,可以提供直接将现有的三方产品、监控系统产生的监控数据、告警数据直接集成到集中业控平台的能力。如兼容不同的Zabbix、Open-Falon、Prometheus、北塔等监控系统。
3 监控接入方式
3.1 接口拨测
拨测系统利用分布于全国的拨测站点,基于HTTP、HTTPS协议,可对网站、IP、域名、后台程序接口等进行自定义周期的探测,通过获取的可用率、延时等指标随时间区间变化来帮助分析拨测目标的质量情况,同时数据同步上传至集中监控平台,在平台上对相关指标进行统一阈值配置,统一告警。同时,统一的监控数据可视化呈现可帮助用户及时对业务质量做出反应,保证业务稳定正常运行。[5]
3.2 部署Agent
集中监控平台监控agent是一款基于Zabbix agent、Prometheus Exporter、ES APM agent 二次开发、整合的全家桶,从而提供操作系统及之上层面的全方位监控能力。被监控设备只需部署相关agent后,就可在平台侧实现统一配置、统一告警、数据统一展现。
3.3 基于SNMP协议
SNMP是一个通用的网络管理协议。通过它,我们可以获取到服务器、网络设备的各种信息。实际中,服务器、网络设备的型号、厂商不一致,无法适配到通用的数据采集程序,且监控应用无法嵌入至设备的内置系统,因此使用SNMP作为客户端能很好地解决上面的问题。一方面,SNMP作为通用协议,存在漏洞的可能性非常小,一旦出现漏洞,修复的速度也会非常的快;另一方面,作为通用协议,SNMP在各个平台都有完备的解决方案,不用再为可能的兼容问题而头疼。被监控设備只需提供具有查询响应监控项权限的团体名和设备管理ip,集中监控平台即可主动获取监控数据,并在监控平台侧实现统一告警、统一配置、数据统一展现。
3.4 标准API
集中监控平台提供基于HTTP协议的监控指标推送接口和告警指标推送接口。
通过监控指标推送接口推送的数据可在平台侧进行告警配置、数据呈现,并享受集中监控平台的所有功能。
通过告警指标推送接口推送的数据可在平台侧进行告警通知人配置、通知方式配置(短信、邮件),并享受监控中心7x24小时监控保障服务。
4 实例成效评估
基于IT全面集中监控架构,我们自主开发了IT全面集中监控系统,首先将2.7万台IT硬件及虚拟化服务器、网络设备全面纳入监控,其次将61个重点业务产品重要进程、功能及性能指标纳入集中监控,开展7X24小时运行监控,平均月度共监控到1600余项紧急告警,告警处理及时率96.7%。先于用户发现并及时处置各类业务及系统故障60余起。
5 结束语
提高集中监控能力是一个永无止境的工作。实际工作中,我们会不断推广系统覆盖率,推动所有业务部门的重要业务系统100%纳入监控。同时不断完善告警信息的闭环能力,通过自动工单,IVR自动语音等手段提升及时通知及闭环管理效率;通过告警归类、告警压缩及根因分析,不断压缩告警数量,提升故障准确定位能力,推动紧急告警工单处理及时率提升到99%以上。从而全面提升企业的重要业务系统故障管理能力,提升客户满意度,具有重要意义。
参考文献:
[1] 谭敏,李国徽,谭家兴,等.一种智能化IT运维系统的研究与实现[J].电信工程技术与标准化,2019,32(9):60-63.
[2] 董继宏,仲兆桉.浅谈可视化大数据运维平台在企业中的应用[J].科学与信息化,2020(27):30-34.
[3] 王培东.数字有机体系统用户信息管理系统设计与实现[D].成都:电子科技大学,2009.
[4] 赫乐.基于CDH对HDFS监控预警系统设计与实现[D].呼和浩特:内蒙古大学,2018.
[5] 华为技术有限公司.一种公有云的拨测方法和装置.CN106936659A[P].发明专利.2015-12-28[2021-8-16]
【通联编辑:梁书】