本文介绍如何通过ChatOps处理告警。
背景信息
ChatOps是一种集成了聊天和自动化工具的协作方法和文化,旨在提高团队的协作效率和可见性。ChatOps可以让团队成员在一个聊天平台上进行交流,同时可以使用自动化工具完成任务,例如自动化构建、部署和监控等。ChatOps的目标是提高工作流程的效率和可见性,并促进团队成员之间的协作和沟通。
告警处理痛点-信息孤岛
在告警处理过程中,决策者通常需要在多个上下游系统查看原因,并与多个不同的角色协同确定修复方案。随着系统的复杂性增加,所需获取和交流的信息也变得更加复杂。如果没有高效的信息获取和交流机制,就会导致信息孤岛的形成。这种情况下,协同和沟通的效率将会更多地影响到告警的处理效率。因此,采用高效的协同和沟通方式,将不同角色的信息集合到一个系统中,并提供实时、准确的上下文信息,是提高告警处理效率的关键。
使用ChatOps打破信息孤岛
ChatOps能够解决告警处理时信息孤岛问题是因为它将所有关键信息和协作工具集成到一个平台中,使得运维人员可以通过聊天获取所有的信息和上下文,同时在同一个聊天平台上与其他人实时协作和沟通。这种方式可以将不同角色的信息和知识汇集到同一个平台上,避免了信息孤岛的问题。在处理告警时,运维人员可以方便地查看历史记录、相关的文档和资源、监控数据等,同时实时协作和沟通,从而更快地解决问题。因此,ChatOps是解决告警处理时信息孤岛问题的最佳方式之一。
集中管理:使用ChatOps,可以将所有的工具和系统集成到一个聊天平台上,从而将信息集中管理。这使得运维人员可以通过一个渠道获得所有的信息,无需在不同的工具和系统之间切换。
实时协作:使用ChatOps,运维人员可以在同一个聊天平台上与其他人实时协作和沟通。这样,即使不同的团队、部门或地区之间存在信息孤岛,也可以通过ChatOps将它们联系起来。
信息共享:使用ChatOps,运维人员可以将信息共享到一个公共的频道中,而不是仅仅限于某个团队或部门。这使得其他人可以及时了解到所有的信息,从而更好地协调和合作。
自动化流程:使用ChatOps,可以自动化一些流程,例如部署、测试和监控等。这样,就可以避免手动处理过程中的信息孤岛和错误,从而提高效率和准确性。
ARMS告警管理如何助力企业通过ChatOps来处理告警
互联网时代,即时通讯IM(Instant Messaging)技术的发展使得OA(Office Automation)系统有了新的突破,移动办公、云计算等新技术也逐渐应用到OA中。在当今的中国市场中绝大多数的企业、单位都使用了以钉钉为代表的第三代OA系统。移动办公已经成为新的潮流和趋势。
在中国移动办公市场钉钉、企业微信、飞书加起来占有率已经超过90%,只要支持在这些系统中处理告警,就可以支持绝大多数的中国市场用户。并且可以让告警处理与企业已经搭建在这些IM上的其他系统进行有机融合。
多端一体
ARMS开发一个H5应用,通过与钉钉、企业微信、飞书打通SSO登录流程,在不同的IM软件提供的Web容器内实现了告警处理流程的统一。
可以在不同的操作系统和设备上运行,包括PC端、移动设备、智能终端等等。
H5应用采用统一的接口和数据格式,保证不同设备和平台之间的数据传输和处理的一致性和兼容性。
支持在H5中展示告警对应的指标数据,提供图文并茂的告警信息。具体请参见在Prometheus告警通知中配置指标走势图。
不同IM系统的接入方式请参见如下文档:
处理人归一化处理
ARMS通过手机号码实现不同平台、不同系统间同一个处理人的互相关联。避免不同系统之间出现数据不流通造成新的数据孤岛。
在钉钉、企业微信、飞书中通过手机号码注册过的处理人会自动同步到ARMS告警管理后台中作为告警联系人,避免联系人多次重复创建。
群聊
ARMS支持配置钉钉、企业微信、飞书的群聊机器人作为告警的通知对象。通过发送统一的Markdown格式的告警卡片,实现在不同平台上一致的告警信息展示。
通过群实现自动权限控制,群聊中的用户自动获取到对应的告警的查看和处理权限,非群聊中的用户则没有相关权限,所见即所得。
告警处理过程中的关键信息自动发送到群聊会话中,实时同步告警处理状态。具体请参见在告警通知群中处理告警。
告警处理
当告警以卡片的形式发送到IM群聊中,可以通过订正卡片的样式来添加一组操作进行告警的处理。如下图所示。
处理操作 | 含义 | 图示 | 使用说明 |
认领告警 | 接手告警,单击认领告警后系统会在群聊中发送一个认领的通知。 | 通过认领告警的消息广播可以让群成员之间明确地知道当前告警是谁在处理。同时您还可以通过使用升级策略来实现告警长时间内无人认领就升级通知的需求。 | |
解决告警 | 关闭告警,单击关闭告警后系统会在群聊中发送一个告警关闭的通知。被关闭的告警状态会变成已恢复。 | 通过认领告警的消息广播可以让群成员之间明确地知道当前告警已经处理了以及当前告警的处理方式。同时您还可以通过使用升级策略来实现告警长时间内未解决就升级通知的需求。 | |
屏蔽告警 | 屏蔽告警通知,一段时间内不再发送告警通知。 | 有些告警触发属于预期内的行为,且不会造成业务影响,但是又不能直接关闭告警。这种情况下可以通过屏蔽告警来降低告警通知的打扰。 | |
屏蔽此类告警 | 根据对应的条件(可编辑)设置静默规则,被静默规则匹配到的事件在静默时间内不会产生告警通知。 | 当一个告警中包含多条事件,比如Pod CPU使用率告警中包含了prod, test两个命名空间的Pod产生的告警。但是test命名空间产生的告警不需要通知。这个时候可以通过单击test命名空间告警内容后面的屏蔽此类告警链接对test命名空间产生的告警进行静默处理。 | |
补充解决方案 | 给告警添加解决方案描述。 | 用于沉淀告警处理的知识库。 | |
推送告警 | 将告警手动推送到一个通知集成中,如Jira。 | 将告警推送到如Jira这类工单系统。具体请参见集成概述。 | |
关注告警 | 关注一个告警后,会将这个告警的状态变更以短信的形式推送给关注人。 | 关注告警后,会将被关注告警的状态变更以短信的形式推送给关注人。在h5应用中的关注标签页可以看到被关注的告警。 |
统计数据报表
在不同端侧进行的告警处理操作自动记录到数据分析系统,通过与Prometheus、Grafana等工具集成。自动生成告警处理报表,可以作为提高告警处理效率的抓手。具体请参见通过ARMS告警大盘提高告警处理效率。