【ArchSummit架构师峰会】探讨数据与人工智能相互驱动的关系>>> 了解详情
写点什么

如何将运维的报警做成运营的报警

  • 2017-03-02
  • 本文字数:1684 字

    阅读完需:约 6 分钟

做运维的同学都知道,运维一定离不开 Zabbix、Nagios 之类的监控软件。目前,类似的软件在监控和数据采集方面已经做到了极致,但是在报警处理上并没有很完美的解决方案,比方说,经常出现高质量报警湮没在海量报警之中等情况。本文不探讨监控系统的配置优化,只探讨监控系统按照它的逻辑发出报警之后我们该做点什么。

报警遇到的痛点

报警风暴,高质量报警湮没在海量报警之中;

出现报警后没人认领,需要在在工作的 IM 群中沟通;

运维人员进行运维操作必定会引起某些报警,会给不知道真相的同学带来困惑;

海量报警恢复之后,运维人员很难在第一时间知道还剩下哪些报警没有恢复;

MySQL 出现了慢查询报警,DBA 还需要登录数据库去查看;

有些报警优先级不高,明明可以白天处理的,却在晚上第一时间发出来;

同一个报警会反复报出来。

背景现状

云极星创作为综合性云服务提供者,既要做公有云的监控,也要负责私有云的监控。我们的研发团队已经建立了比较完善的 OpenStack 监控体系,并且使用了多种监控工具;因为云极星创的运维团队和客户分布在全国各地,所以该监控体系的物理位置也是分散。在公有云场景下,报警需要按照物理位置或者应用类型发给不同的运维同学、运营同学和管理层。在私有云场景下,报警也需要推送给相应的客户。当前,我们主要采用微信为主,短信为辅的报警方式。

使用微信的优缺点

使用微信的优点:

  • 基本免费;
  • 图文并茂、字节数限制较为宽裕;
  • 微信客户端和服务器端交互方便。

使用微信的缺点:

  • 可用度依赖腾讯的服务器,因此特意增加了对微信服务器接口的监控,发现接口有问题之后会发短信报警;
  • 客户端需要保持联网,没有送达报告,因此系统提供汇总表功能。

优秀报警处理系统的三要素

  • 在合适的时间发给合适的人;
  • 尽可能的提供更多的信息,使得接警人员在不开电脑情况下第一时间能大概知道哪里出了问题;
  • 减少围绕报警的人员沟通成本。

实施方案

架构概览

报警分类

普通报警:根据排班表发送给值班的运维同学,低级别的报警会延时发给对应的应用开发。

ELK 日志报警:用户在微信端可以查看

收到报警:确认、反馈和汇总

报警确认:当用户点击确认按钮之后,对应的人会收到确认信息。

报警处理结果反馈

汇总表:提供批量确认功能

报警收敛

基于关键字、主机名、Tag 的复合报警收敛

报警升级

如果报警在一定时间没被确认也没有自动回复,会有一个报警升级动作

微信 vs 短信 两个平台

所有微信接口做了加密处理,防止非授权用户访问和关注公众号。

短信平台主要用来发送灾难级别的报警、微信 API 接口的报警,系统本身可用度的报警。

总结

1、系统使用的成果

云极星创之前使用的报警方案是邮件加短信的方式,在报警触发之后,运维交流群会有大量围绕报警的沟通,并且经常发生报警风暴,将短信发送平台堵塞,在本系统投入使用之后,基本上所有的沟通都在系统内进行。随着丰富的报警附加信息,减少了二线运维工程师在处理故障时候开机登录系统的次数。

2、研发历程

本系统开发历时半年左右,基本上随着云极星创的发展而发展壮大起来,初期的想法是因为各家短信发送平台随着国家打击电信诈骗的政策影响,变得越来越不好用,所以诞生了使用普及率非常高的微信来替代短信的想法。

第一个版本就是原封不动的推送 Zabbix 报警信息,随着公有云规模的不断扩大,报警不断增多,另外私有云客户也在不断的增加,需要接受报警的人员也越来越分散,围绕报警的沟通成本越来越高。

因此本系统的功能点都是围绕着我们运维同学在处理报警时候遇到的痛点进行开发而成。经过半年的发展,在我们内部已经将运维报警做成了运营的报警。

3、未来发展:

(1)、报警系统和工单系统以及 CMDB 做关联;

(2)、快速实现故障根因定位;

(2)、告警排行分析报表;

(备注:文中截图来自于预发布环境下的运维测试)

作者简介

安新海,云极星创高级运维工程师。十年军旅生涯,曾在解放军某部负责过大型云平台建设。退役后一直从事互联网云平台运维工作,擅长 Zabbix、OpenStack、VMware 等系统的运维、调优。


感谢木环对本文的审校。

给InfoQ 中文站投稿或者参与内容翻译工作,请邮件至 editors@cn.infoq.com 。也欢迎大家通过新浪微博( @InfoQ @丁晓昀),微信(微信号: InfoQChina )关注我们。

2017-03-02 16:234772

评论

发布
暂无评论
发现更多内容

地狱开局的2022,穿好你的安全铠甲

脑极体

微服务架构下消息服务多通道设计思路

全象云低代码

微服务 低代码 后端开发 消息中间件 后端技术

对于金融机构而言,为什么选择私有化IM比企业微信、钉钉更好?

WorkPlus

详细的网站定制步骤有哪些?

源字节1号

网站开发 软件定制

Python 的排序方法 sort 和 sorted 的区别

AlwaysBeta

Python

你的“数学潜意识”原来可以被唤醒!

博文视点Broadview

数仓如何设置大小写不敏感函数

华为云开发者联盟

MySQL DWS GaussDB(DWS) 大小写不敏感函数 GUC参数

实践丨SpringBoot整合Mybatis-Plus项目存在Mapper时报错

华为云开发者联盟

spring 容器 Spring Boot 测试 Mybatis-Plus

网络安全入门5天速成教程: WEB安全渗透攻防技术

网络安全学海

网络安全 安全 信息安全 渗透测试 WEB安全

无监控不运维—浅述各种监控方案使用场景

穿过生命散发芬芳

3月月更

【愚公系列】2022年03月 Docker容器 Kafka集群的搭建

愚公搬代码

3月月更

手把手教你从Apk中取出算法

奋飞安全

android 安全 java

ABAP 文件上/下载

Jasen Ye

upload abap download template GRAPHICS

windows下C与C++执行cmd命令并实时获取输出

DS小龙哥

3月月更

java培训如何用反射做简易 Spring IOC 容器

@零度

Java springloc

【直播回顾】OpenHarmony知识赋能第四期第三课——I2C驱动开发

OpenHarmony开发者

OpenHarmony 驱动开发

如何升级到 React 18

CRMEB

Meetup预告|云原生时代热门监控利器解析与应用

云智慧AIOps社区

运维 云原生 安全 监控工具

客户画像赋能百度推广生态实践

百度Geek说

前端 后端

Kubernetes中API的不同版本, Alpha, Beta, Stable 都是什么?

工程师薛昭君

Kubernetes API

ABAP excel数据上传函数改造

Jasen Ye

Excel upload abap

速度和质量不可兼得,为什么DevOps落地如此困难?

SoFlu软件机器人

Nginx限速模块初探

喀拉峻

nginx

从0到1落地电商小程序之微服务设计

晨亮

「架构实战营」

云原生时代已来,计算机教育如何因「云」而变?

阿里云弹性计算

云原生 ECS 计算机教育

从多快好省到好快省多,您的项目管理走对了吗?

禅道项目管理

项目管理

web前端培训如何用CSS来实现透明方格

@零度

CSS web前端

项目管理标准化的武林秘籍

大智若愚

团队管理 项目管理 标准化 软技能 标准框架

加快云原生技术转型, 智能调度登陆华为云DevOps: 增速,节源

华为云开发者联盟

软件 DevOps 代码托管 智能调度 华为云DevOps

从HDFS的写入和读取中,我发现了点东西

华为云开发者联盟

hdfs HDFS写入 HDFS读取 文件读取

Go 中的空白标识符(下划线)

宇宙之一粟

Go 语言 3月月更

如何将运维的报警做成运营的报警_语言 & 开发_安新海_InfoQ精选文章