监控作为IT运维服务中主动运维的重要手段,其体系建设和落地类似于IT运维管理体系,同样需要结合流程设计(process)、人员匹配(people)、工具落实(technology)的PPT原则进行。
(1)监控的范围、作用
IT监控的本质是通过发现故障、解决故障、预防故障来保障业务的稳定。通过部署监控工具结合监控管理流程和人员投入,建立IT事件的主动发现机制和预警机制,大量减少被动型报障的发生。
(2)监控流程建设
监控管理和ITIL的很多流程密切相关,主要包括事件管理、问题管理、配置管理、业务连续性管理等。通过监控发现的故障是事件管理的重要来源,监控报障的事件需进入事件管理流程进行流转,对于重大故障需要启动灾备应急管理流程,进入业务连续性管理;监控数据同样是问题分析的重要来源及分析手段,对于反复发生的故障、预警类的监控事件都可以作为问题的来源,同时对于典型问题的分析,监控数据也可以作为重要的量化分析依据;配置管理中的CMDB是监控指标定义和业务关联影响的支撑,没有一套准确、详细的CMDB,很难构建一套完整的从基础设施到业务应用层的监控体系。
如上是IT服务运营流程和监控密切相关的管理流程,监控管理归纳下来核心可以包括如下几项任务:
指标管理:监控的指标体系是以CMDB为骨架,以监控指标为经脉,将整个统一监控平台的数据有机整合起来。监控指标从监控的对象来看核心可以归纳为6大类:基础设施类,如机房动环类指标为主;硬件设备类,如服务器、网络设备、安全设备等;操作系统类,如服务器操作系统、虚拟化系统等;数据库中间件类,如Oracle数据库、Tomcat中间件等;应用性能类,如网站性能、APP性能等;业务运营类,如注册用户数、在线用户数等。指标管理需要结合IT服务范围和SLA要求,设计不同层次合理的监控指标,有时少就是多,需要一个逐步推进的过程。如下某厂商的监控分层结构也可供参考。
告警管理:告警管理的核心在于告警阈值的设计和调整,通过一段时间的运行对于告警进行有效收敛,聚焦有效告警。一般可以将监控事件分为预警和故障两类,预警指已经出现异常,有可能引起故障的事件;故障指已经发生,并且已经影响到业务的事件。告警管理需要对不同系统不同类型的告警流程、渠道、时间进行定义和规范。
故障管理:故障管理主要是对于监控端发起的故障事件进行处理和跟踪的流程,一般需要围绕事件管理流程开展,监控配合故障的处理过程。
报告管理:对于阶段性监控数据要进行整理和分析,形成报告,这个是发现系统问题的重要手段。同时,对于监控工作的质量进行分析,如漏报迟报情况、告警风暴情况等,借机不断提升监控服务的质量。
(3)监控人员匹配
构建监控流程并匹配工具后,需要通过定位监控岗位、匹配合适人员、细化岗位SOP等工作,才可以使得监控体系发挥相应作用。
监控相关工作可以划分为两类,一类是基础类监控岗,一类是技术类监控岗。基础监控主要负责监控系统的日常监控和告警,对于人员的技术能力要求不高,主要是具备细心、认真等软性素质;技术监控需要对监控系统的部署、监控指标设计和调整、告警阈值设计、故障处理、主动性问题分析等开展相应工作,需要具备较强的技术背景,且具备丰富的运维经验。
匹配合适的岗位及人员后,要建立初步的标准作业流程(SOP),并能在监控运行过程中通过定期例会和典型问题专题讨论等工作不断优化SOP,使得监控体系可以发挥更大价值。
对于监控人员的考核可以设计底限类指标,如重大事件漏报;优化类指标,如不同SLA事件的监控响应时间、主动分析发现的问题等。
(4)监控工具选型与实施
目前市场上的监控工具可谓百家争鸣、不胜枚举,大类上可以分为商业化监控软件和开源软件,从监控对象上可以划分为环控类监控、基础架构类监控、应用系统类监控。监控工具的选型要考虑组织的规模、IT软硬件的情况、IT服务管理的成熟度等因素。
目前国内IT监控工具相对完善的行业主要集中在电信、金融、互联网等IT软硬件投入较大、业务依赖性较高行业。其他行业的监控工具相对比较零散,很少有建成完善的一体化监控体系和工具的组织,单独部署环控、网络监控、服务器监控、数据库监控、安全监控等工具的组织较多。围绕应用系统和用户体验的监控是最近两年的热点,如云智慧、oneapm、听云等公司也是大把融资,但实际成功在非金融互联网行业部署的还是较少。面向未来看,轻量级的以应用和用户体验为重点的一体化监控工具是发展的趋势,传统的围绕设备级的网络监控、服务器监控、安全监控、动环监控等应整合在一起,成为一体化监控的重要构成部分。
从监控工具的实施角度看,如果组织自身的技术队伍和管理能力较强,可以考虑通过开源工具自己部署和二开方式,相对灵活,成本也可控,比如业界应用较广的开源监控软件zabbix已经可以做到网络、服务器、操作系统、数据库、中间件等很多IT软硬件的监控了,配合开源的图表展示工具grafana,基本可以满足多数中小型组织的要求了;如果自己没人,通过采购本地部署或saas化的商业软件,可选择的余地也是比较大的。如下是某厂商监控工具的主体架构,主要使用了开源工具进行实施,是个值得参考的很不错的工具架构。
(5)实际项目经验
本人十余年IT运维服务项目经验,经历过很多场景的监控管理体系的建设和运营,如下分享两个实际案例。
某高校的7*24监控管理体系建设:某高校是教育部直属重点高校,IT软硬件成熟度很高,在2010年就已构建了完善的动环监控、网络监控、流量监控、服务器监控等工具。工具部署好了,那么如何有效运营就显得更为重要了,我带领团队和信息办的老师经过充分讨论,设计了7*24小时的轮班监控机制,设计4人团队参与轮岗值班,确保365天无缝监控;同时,通过梳理不同监控工具和相关监控指标,建立了细化的SOP,明确了监控的SLA要求。在后续的多年运营过程,监控每年主动发现重点故障近千起,包括众多漏水、起火等安全类故障,充分发挥了监控体系的价值。
某科研机构开源监控工具的开发:某科研机构经过几十年发展,近两年IT投入加大,增加了较多服务器采购和软件系统的上线,而IT监控方面还处于空白。我们作为其IT运维服务商,建议用户上线监控工具。由于用户的IT软硬件规模有限,我们采取了开源监控工具二开的方式,通过zabbix+grafana围绕用户的网络设备、服务器设备、数据库、虚拟化、操作系统、重点应用拨测等进行了配置和二开,构建了一个轻量级的监控平台,成本投入也不大,而且可以持续进行迭代,配合监控管理体系,在服务运营过程中发挥了良好效果。