ArchSummit深圳站学习笔记 – Part 2

腾讯海量监控包袱与创新

主讲人及背景

腾讯 社交网络事业群运营总监 聂鑫

    • 从开发到运维,伴随腾讯社交网络运营部成长的十年,负责过腾讯社交产品所有业务运维工作。
    • 目前主要负责 QQ、空间等产品运维团队管理工作。经历多个业务产品的诞生到蓬勃,伴随着运维团队的成长和成熟,见证着腾讯一代代运营技术的创新和发展。
  • 作为运维界老兵有好多故事想和大家讲,也特别愿意听听各位经历的酸甜苦辣。

关键点

    • Root智能分析
    • 叠加告警
    • 全链路监控
    • 独一无二生命指标保障业务
  • 通过机器学习来提高报警有效性

笔记

    1. 06年开始,腾讯采用DO分离Dev/Ops。
    1. 出现线上故障的很大一个原因就是因为告警泛滥,我们忽略关键告警。
    1. 对于“历史遗留问题/历史沿用架构”的态度是:坚决优化掉历史进程中不合理的架构。
    1. 腾讯内部有20+套针对监控的系统,这些系统用来保障公司业务的方方面面。
    2. 所谓“Root智能分析” 即:基于公司业务层面架构(业务/人事),将公司业务网状化。然后,通过网图,针对不同业务梳理出来一条单链路。
    1. 所谓“叠加告警” 即:发生告警的时候,通过上述链路,进行分析。倘若告警处于链路中连续环节,这个告警的重要程度和准确程度就越高,反之则反。
    2. 对于多告警情况,采用“故障面积算法”来给故障定性。
    3. 所谓“故障面积算法” 即:连续告警在多链路构成的矩形中所占面积大小。
    1. DLP-Deadline Point 即:业务生死指标。针对每个业务,不管是从业务架构层面还是系统层面,找到一个可以用来描述整个业务生或死的指标。这个指标有几个特点:
        • 没有阈值:因为业务数据因太多因素变化,一个推广活动就会增加流量,活动结束,流量自然下降。所以,传统常规阈值实际上没有太大的作用;
        • 只有一个:指标越多越不好把控;
      • 非业务指标:业务指标波动无规律且易受外界影响。应该使用准确且不易受外界非故障因素改变的指标。
    2. 所谓“全链路监控” 即:通过基础数值/系统日志/业务日志/业务内容/外界舆情等基本数据进行大数据分析,提取公共信息和数据。然后同大盘已有数据(历史数据/宏观安全数据)进行比较,进行判别然后告警。
    1. 针对重要指标的曲线,进行诸如3σ准则等法则判定,降低随机误差对数据的影响。同时引入机器图像学习,对曲线进行比较和学习,借助AI的力量合理告警。
  1. 以上内容均在腾讯内部线上使用,收效非常好。

感悟

腾讯毕竟是腾讯。

很多内容和经验都非常深刻,个人认为有几点值得关注:

第一,运维引入机器学习。毫无疑问,未来是人工智能的天下。作为一个DevOps,在OPS方面,我们处理的90%的问题都是雷同的,机器取代人工是早晚的事情。当然,对于我司来说,革命尚未成功,同志仍需努力!

第二,生命指标的概念很棒。我们几乎都明白,80%的告警都属于持续告警,不重要不紧急。但是也正是这些不重要的告警导致我们忽略掉一些关键告警,人的精力毕竟有限。行话说,能用机器约束的规则,一定不要用人工。

第三,故障面积算法和小米的集群监控存在共通之处,都是把点集合到面去分析。值得细细品味。

REFERENCE

[3σ准则]: https://en.wikipedia.org/wiki/3σ_rule

ArchSummit深圳站学习笔记 – Part 2

发表评论

电子邮件地址不会被公开。

此站点使用Akismet来减少垃圾评论。了解我们如何处理您的评论数据