DEVOPS 运维开发系列四:ITIL事态管理流程、事态监控系统设计以及基于Devops的效率提升实践

1、事态管理流程简介

事态管理,在ITIL中原来称作事件管理。英文名称是Event Management。

作为一个ITIL最佳实践流程,它无疑也具备目标、范围、角色和职责、输入、输出、活动、工具、KPI、质量控制、触发程序、与其它流程接口、挑战/CSF/Risks,以及其它对这个流程管理有帮助的东西。这些在本文中将都不作为重点去讨论,如果对以上知识或信息缺少了解,可以自行找一些关于ITIL 事态管理流程的介绍资料。

本文会提及一些必要的事态管理流程知识,以帮助了解该流程,但全文的重点是介绍可以怎么利用Devops方法来在公司内落地ITIL事态管理流程,达到兼顾流程管理的严谨性与提高人员工作效率的目的。

1.1 事态管理的定义 1.2 事态管理的目标

为组织提供监测事件、了解其影响和确定适当控制措施的能力。

1.3 对业务的价值 1.4 事态管理流程包含的重要活动 1.5 事态管理流程图

图片[1]-DEVOPS 运维开发系列四:ITIL事态管理流程、事态监控系统设计以及基于Devops的效率提升实践-JieYingAI捷鹰AI

2、设计一个事态管理系统

本章节内容是从一个信息化技术系统的角度去分析怎么设计和实现一个事态管理系统,它需要考虑哪些方面,需要包含哪些功能组件。

事态管理是监视服务性能和可用性的基础,在可用性与容量管理流程中应明确监视的具体目标和机制。而在日常运营中需要定义附件的事件、优先级、告警和其它改进,并通过服务持续改进流程反馈到服务战略和服务设计中。

通常一个事态管理系统的设计需要包含以下四个方面内容:

2.1 设计规范

在设计规范中需要完成对CI的监视内容以及影响它们行为的方式的设计。

这包含一组需要制定的决策,以及执行这些决策的设计机制。

事态监控决策的设计:

事态监控执行机制的设计:

2.2 错误信息的设计 2.3 事件检测和告警机制的设计

要完成一项事件检测与告警机制的全面设计工作,需要掌握很多方面的专业知识,包括但不限于以下这些方面:

2.4 阈值的设定

大部分阈值并非恒定不变。它们一般包括多种相关变量,此信息通常只能通过经验获得,这意味着关联引擎必须通过持续服务改进程序不断进行调整和更新。

3、事态管理系统的搭建与DEVOPS效率提升 3.1 自研、开源或商业事态监控工具的选型与安装部署 自研监控工具

自研监控工具的门槛并不高,在很多企业里都有自研监控系统的成功实践,为了解决某一类型的问题,往往是借助于自研的工具软件。自研的监控工具并不一定要是那种大规模的、分布式的复杂技术系统,而一定会是针对自有业务应用来说监控效果最好的,或者说是最为适用的。可以使用各类工具和编程语言,甚至是脚本语言来开发这样的或繁或简的定制化监控工具,在这里不做展开说明。

开源监控工具

针对系统、网络或应用监控方面的开源工具最佳实践,至少有以下类型的工具在不同的场景下分别得到了较广泛的应用:

目前已经开源的各类监控工具,使用范围较广的也有几十种,而总数高达上千种也不足为怪。

商业监控服务

不得不提的是一些商业化的第三方厂商提供的监控服务如监控宝、基调等也都有很广泛的使用,而且这些服务厂商往往也提供了可供集成调用的API接口,便于集成到自己公司专用的事态管理平台中去。

很少有哪个公司能单独依赖于某一种监控工具,解决自己全部的服务监控需求的,往往是一个互补的监控系统组合。在这个组合中,很可能是自研、开源和商业服务全都有涉及。

通过这套监控工具的组合,至少能为公司业务应用系统提供覆盖系统、网络与应用全方位的事件监测,视工具的完善程度,可以提供生成监测事件、事件分级与分类管理、事件关联、事件响应管理、触发器、事件的记录、事件确认、关闭事件等功能。

很少有监控工具会提供面向监测事件的工单管理,以及事件背后的故障管理、问题管理或变更管理的服务。如果你恰好需要这样的一些服务能力,恐怕最直接的办法就是自己做一个了。即便是选取一个面向解决这些问题的开源项目作为解决方案,也往往会因为水土不服或开源项目流产而不得不做废。

3.2 使用好监控工具的挑战

很多棘手的挑战是取决于你的专业知识、素养,以及信心和决心。这些挑战并不是那么容易被解决,事实上很多人也正是在搭建出一个或一套监控系统后,迅速被铺天盖地的事态监测事件淹没身亡了。

不过,至少最后的一项挑战,我们可以借助于Devops方法给出一个相对容易的解决办法。

3.3 使用Devops提升事态管理工作的效率

下文是使用zabbix监控系统作为生产事态监测事件的工具进行举例,使用禅道项目管理系统作为项目与工单任务的生命周期管理的案例。而承担功能集成作用的无疑是一个自动化运维技术平台,既然是讲Devops,那这个系统要么是依赖自研,要么是选取一个类似功能的开源项目做定制开发即可。

我们面临的困境或是拉低工作效率的最大挑战就是,事态监测信息都在zabbix系统中(实际上在下面的功能设计上,实现为了可以按需支持多种类型的监控系统),而zabbix并不为事件提供一个工单管理的服务。我们虽然安排运维值班团队轮流去监控系统上处理报警事件,但无疑人性的懒散、粗心、无纪律时刻都在挑战着这项工作任务的完整、有效执行。非担会有很多事件未得到及时响应,甚至有不少就是被有意无意的漏掉处理了。

因此,我们需要实现一个自动将事态监测事件生成为工单任务,指派给特定值班人员的技术系统。利用禅道项目管理软件提供的丰富、强大的任务管理功能,保证我们的事态监测事件处理上不会出现遗漏,为工单任务提供了一个生命周期管理,在工单关闭和后还可以对其处理结果进行评价。

(1)事态管理Devops功能设计头脑风暴

图片[2]-DEVOPS 运维开发系列四:ITIL事态管理流程、事态监控系统设计以及基于Devops的效率提升实践-JieYingAI捷鹰AI

从上面中可以看出,我们这项针对事态事件的工单管理系统主要设计了三个功能组件:

我们可以按需为多种类型的监控系统做做适配,以支持同时接入这个平台中,作为事态监测源使用。我们可以按需定义出不同的值班队列班表,分别用于系统、IT、网络或应用团队。而监控事件响应计划,当然也要支持按需创建,支持同时处理多个响应计划以为不同的运维团队服务。

(2)主要功能组件的实现样例

我们使用Python Django Web框架来实现这个自动化运维服务平台。

jmonitor模块作为该平台上的监控管理模块,功能如下面两个图片所示。

该模块由监控管理下的事件监控、值班队列、响应计划,以及设置模块下的禅道设置(提供必要的禅道配置信息管理)所构成。

图片[3]-DEVOPS 运维开发系列四:ITIL事态管理流程、事态监控系统设计以及基于Devops的效率提升实践-JieYingAI捷鹰AI

jmonitor功能模块各组件的功能说明:

设置->禅道设置的功能说明:

(3)事件监控系统的具体实现

图片[4]-DEVOPS 运维开发系列四:ITIL事态管理流程、事态监控系统设计以及基于Devops的效率提升实践-JieYingAI捷鹰AI

监控系统的配置信息:

图片[5]-DEVOPS 运维开发系列四:ITIL事态管理流程、事态监控系统设计以及基于Devops的效率提升实践-JieYingAI捷鹰AI

(4)值班队列管理

图片[6]-DEVOPS 运维开发系列四:ITIL事态管理流程、事态监控系统设计以及基于Devops的效率提升实践-JieYingAI捷鹰AI

值班表:可以自动轮换或手动点击上岗

图片[7]-DEVOPS 运维开发系列四:ITIL事态管理流程、事态监控系统设计以及基于Devops的效率提升实践-JieYingAI捷鹰AI

(5)禅道系统配置信息

图片[8]-DEVOPS 运维开发系列四:ITIL事态管理流程、事态监控系统设计以及基于Devops的效率提升实践-JieYingAI捷鹰AI

(6)事态监控事件响应计划

图片[9]-DEVOPS 运维开发系列四:ITIL事态管理流程、事态监控系统设计以及基于Devops的效率提升实践-JieYingAI捷鹰AI

注:如上图所示,这个功能组件起到了在事件监控系统、值班队列和定制的禅道配置之间建立关联关系的重要作用。至此,我们就可以安排定进执行一下该表中定义出来的有效响应计划即可。最终的效果便是,由系统自动化地去查询zabbix api获取需要的事件信息列表,然后根据禅道配置信息,向指定禅道项目下写入新的监控事件工单任务,同时指派给从值班队列中得到的值班成员去执行任务。因为禅道项目管理系统自身有完善的任务生命周期管理功能,所以得到该任务的值班员很难能漏处理哪个报警事件。

(7)登录到我们的禅道项目任务管理系统中查看下成果

图片[10]-DEVOPS 运维开发系列四:ITIL事态管理流程、事态监控系统设计以及基于Devops的效率提升实践-JieYingAI捷鹰AI

查看一下任务的详情页:

图片[11]-DEVOPS 运维开发系列四:ITIL事态管理流程、事态监控系统设计以及基于Devops的效率提升实践-JieYingAI捷鹰AI

在任务描述中提供了待处理的zabbix监控事件信息,点击后会直接打开zabbix系统中的事件详情页。

图片[12]-DEVOPS 运维开发系列四:ITIL事态管理流程、事态监控系统设计以及基于Devops的效率提升实践-JieYingAI捷鹰AI

© 版权声明
THE END
喜欢就支持一下吧
点赞0 分享