故障自愈:解决运维的主要矛盾才能AIOps

 蓝鲸  作者 故障自愈产品经理

以产品设计理念剖析企业建设故障自动化处理方案的思路

人工处理告警,一直是运维心中的痛。大年初一拜年、结婚、和老婆孩子外出过周末等美好时光,作为运维的你,好像一直心系IT系统,保持与笔记本的安全距离。

为什么这么多年过去了,还是这么苦逼,不是说运维行业转 AIOps了,我竟然还在手工处理告警,我该怎么办?

今天就和大家聊聊实现故障自愈要攻克的3个问题,以及献上开箱即用的方案

1. 故障自愈的基本流程

自动化的要点是什么?把人的经验抽象、固化为程序处理,工业(第3次工业革命)或互联网都是如此。

举个例子,磁盘出现告警,运维首先想到的是登陆服务器清理磁盘。

(人工处理告警的流程)

接下来,我们拆解背后的逻辑。

1.1 抽象告警处理流程

1) 拉取磁盘告警

2) 编写磁盘清理的脚本或作业任务

3) 设计模块:把拉取到的磁盘告警,与调用脚本的模块串起来

 (故障自愈流程 简化版V1)

1.2 通过CMDB做资源清洗

不同模块的磁盘清理方案不一样,如何解决呢?

这时需要引入CMDB(设备、人、业务的映射关系),通过CMDB把IP 清洗为 模块,这样就解决了接入层 和 逻辑层、存储层的告警使用对应的磁盘清理方案。

(故障自愈流程 简化版V2)

1.3 对接企业内部网关

故障自愈可能会处理失败,这时需要通知用户。故障自愈的处理方式除了调用作业外,还可能需要调用企业内部的网关,比如服务器重启、申请服务器等。

使用PaaS层的ESB是一种解决思路,通过ESB封装企业内部网关,解决权限校验、频率控制、访问统计、路由分发以及自助接入等功能,不要直接调用裸接口了。


(故障自愈的通知方案)

经过这一轮的探索,故障自愈的架构就是下面这个样子。


(故障自愈的流程)

1.4 对接企业内部监控产品

等等,好像还没说如何对接企业内部的监控产品,以Zabbix、Open-Falcon为例。


1.4.1 对接Zabbix

《当Zabbix遇见故障自愈》介绍了拉取Zabbix告警的方案,通过 ActionScript 调用脚本,把 Zabbix 告警推送至自愈的告警拉取模块。

推送(或叫回调)可以保证告警拉取的实时性。


(Zabbix推送告警示例)

(Zabbix调用推送告警的脚本)

对接Zabbix 的落地案例可以参考陈亮撰写的那些年我们想做的无人值守 。

除Zabbix外,Open-Falcon在国内的社区热度也不错,所以也介绍拉取其告警的方案。

1.4.2 对接Open-falcon

方案类似Zabbix,不过Open-falcon 直接提供了callback功能,简化了流程。


(Open-Falcon配置Callback地址)

收到了Open-Falcon 推送的告警后,解析对应的字段即可。

如果企业内部的CMDB以IP来标识主机,需要再做一层转换,因为Open-Falcon 的资源标识endpoint默认是主机名,那么就需要使用CMDB的自动发现功能自动上报主机名,同时提供把主机名清洗为IP的功能。

下面是Nginx模块磁盘告警的自愈示例,匹配Nginx模块的磁盘清理套餐,清理Nginx模块的日志文件,整个过程不到30秒。

(磁盘告警的自愈示例)


2. 故障自愈的两面性

故障自动处理就像一把刀,有其两面性

因为要确保告警的真实性,一旦把假告警也自动处理了,就很悲催了…

举个例子。网络波动,批量出现PING告警。实际上服务器运行正常,这时你把服务器都重启了,那就GG了。

如何解决呢?分析事物的规律。

批量出现告警,那可以在告警拉取模块后面,增加一个收敛模块

比如,在X时间内出现Y个告警,打电话给运维审批。

X时间内同一主机出现使用相同套餐的告警,则收敛时间窗口中后面的告警则跳过,比如同时收到进程告警 和 端口告警,就不用拉2次进程了。

还有就是,原有监控系统没有收敛能力,那么可以借用这个功能来做告警汇总,因为收敛逻辑一样,只是收敛的处理方式有差异。


3. 复杂告警的处理方案 - 组合套餐

上面提到的技术方案是用来处理逻辑简单的告警,那么故障替换这种复杂的场景如何解决呢?

举个例子,A模块是重要模块,出现PING不可达告警,首先要校验A模块是否真的故障,如果真的故障,接下来是从资源池中获取备机 … 故障替换等等,期间每个环节都有可能出错,那就要考虑异常分支的场景。

树结构可以解决该问题,二叉树足以满足大部分场景(成功、失败两种分支)。


( 组合套餐的示例)

上面这张图,是一个自愈处理方案,可以称之为组合套餐。

这里同时引入了原子的概念,通过组装原子来满足各种需求场景, 和资源编排说的是同一个理儿。

注:如果你想使用三叉树,其实可以把组合套餐也作为一个原子套餐(节点)。

4. 故障自愈的技术架构

经过前面对故障自愈的基本流程、故障自愈的两面性、复杂的故障处理方案的层层梳理,我们有了一张故障自愈的技术架构图。


相信这次以经行业验证的故障自愈做技术剖析,能对大家建设企业内部的故障自动处理方案提供参考思路。

5. 收尾

当 AIOps大行其道的时候,我们需要克制,优先解决主要矛盾,而不是构建高大上的空中楼阁。

如同产品路线图,优先解决可用性,接下来是体验,最后才是可扩展性和生态,依次落地。


(产品需求模型 by 腾讯8分钟产品课)

最后,希望广大的运维兄弟姐妹能尽早脱离原始运维的苦海,抓住行业发展趋势,掌握核心技术,在变革中实现自身价值!

©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 203,547评论 6 477
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 85,399评论 2 381
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 150,428评论 0 337
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 54,599评论 1 274
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 63,612评论 5 365
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 48,577评论 1 281
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 37,941评论 3 395
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 36,603评论 0 258
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 40,852评论 1 297
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 35,605评论 2 321
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 37,693评论 1 329
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 33,375评论 4 318
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 38,955评论 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 29,936评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 31,172评论 1 259
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 43,970评论 2 349
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 42,414评论 2 342

推荐阅读更多精彩内容