
主讲人及背景
腾讯 社交网络事业群运营总监 聂鑫
-
- 从开发到运维,伴随腾讯社交网络运营部成长的十年,负责过腾讯社交产品所有业务运维工作。
-
- 目前主要负责 QQ、空间等产品运维团队管理工作。经历多个业务产品的诞生到蓬勃,伴随着运维团队的成长和成熟,见证着腾讯一代代运营技术的创新和发展。
- 作为运维界老兵有好多故事想和大家讲,也特别愿意听听各位经历的酸甜苦辣。
关键点
-
- Root智能分析
- 叠加告警
-
- 全链路监控
- 独一无二生命指标保障业务
- 通过机器学习来提高报警有效性
笔记
-
- 06年开始,腾讯采用DO分离Dev/Ops。
-
- 出现线上故障的很大一个原因就是因为告警泛滥,我们忽略关键告警。
-
- 对于“历史遗留问题/历史沿用架构”的态度是:坚决优化掉历史进程中不合理的架构。
-
- 腾讯内部有20+套针对监控的系统,这些系统用来保障公司业务的方方面面。
- 所谓“Root智能分析” 即:基于公司业务层面架构(业务/人事),将公司业务网状化。然后,通过网图,针对不同业务梳理出来一条单链路。
-
- 所谓“叠加告警” 即:发生告警的时候,通过上述链路,进行分析。倘若告警处于链路中连续环节,这个告警的重要程度和准确程度就越高,反之则反。
- 对于多告警情况,采用“故障面积算法”来给故障定性。
- 所谓“故障面积算法” 即:连续告警在多链路构成的矩形中所占面积大小。
-
- DLP-Deadline Point 即:业务生死指标。针对每个业务,不管是从业务架构层面还是系统层面,找到一个可以用来描述整个业务生或死的指标。这个指标有几个特点:
-
- 没有阈值:因为业务数据因太多因素变化,一个推广活动就会增加流量,活动结束,流量自然下降。所以,传统常规阈值实际上没有太大的作用;
-
- 只有一个:指标越多越不好把控;
- 非业务指标:业务指标波动无规律且易受外界影响。应该使用准确且不易受外界非故障因素改变的指标。
-
- 所谓“全链路监控” 即:通过基础数值/系统日志/业务日志/业务内容/外界舆情等基本数据进行大数据分析,提取公共信息和数据。然后同大盘已有数据(历史数据/宏观安全数据)进行比较,进行判别然后告警。
- DLP-Deadline Point 即:业务生死指标。针对每个业务,不管是从业务架构层面还是系统层面,找到一个可以用来描述整个业务生或死的指标。这个指标有几个特点:
-
- 针对重要指标的曲线,进行诸如3σ准则等法则判定,降低随机误差对数据的影响。同时引入机器图像学习,对曲线进行比较和学习,借助AI的力量合理告警。
- 以上内容均在腾讯内部线上使用,收效非常好。
感悟
腾讯毕竟是腾讯。
很多内容和经验都非常深刻,个人认为有几点值得关注:
第一,运维引入机器学习。毫无疑问,未来是人工智能的天下。作为一个DevOps,在OPS方面,我们处理的90%的问题都是雷同的,机器取代人工是早晚的事情。当然,对于我司来说,革命尚未成功,同志仍需努力!
第二,生命指标的概念很棒。我们几乎都明白,80%的告警都属于持续告警,不重要不紧急。但是也正是这些不重要的告警导致我们忽略掉一些关键告警,人的精力毕竟有限。行话说,能用机器约束的规则,一定不要用人工。
第三,故障面积算法和小米的集群监控存在共通之处,都是把点集合到面去分析。值得细细品味。