云“战疫”:8天扩容100万核,我们是这样监控的

栏目: IT技术 · 发布时间: 4年前

云“战疫”:8天扩容100万核,我们是这样监控的

云“战疫”:8天扩容100万核,我们是这样监控的

疫情当前,科技向善,腾讯应用都开始支撑各大远程工作、教育的场景,众所周知的“腾讯课堂”、“微信课堂”,“腾讯会议”在抗击疫情中做出了很大的贡献,数亿人成为了这些系统的用户。通过可视、互动的远程有效沟通、交流,一定程度保障了生产、学习工作的有序进行。

腾讯视频云诞生于QQ多人音视频,在QQ、QQ空间等业务中久经考验。在公司技术中台化和自研业务上云的驱动下,所有的直播应用均使用视频云平台支撑。平台本身技术强大,许多海内外皆知的外部视频平台皆基于腾讯视频云搭建,腾讯云带宽早已于去年突破百T峰值量级。

笔者有幸参与了腾讯云的这次“战疫”工作,监控系统有效地支撑了几大应用场景。

01 业务的监控需求

腾讯会议放量较早、腾讯课堂、微信课堂也相继放量,应对海量的用户场景需求,我们分析系统的主要需求表现在:

1. 如何了解设备整体水位与资源趋势?

前面提及过,各大系统基于视频云技术搭建,视频云本身存在较多的视频、音频处理工作,设备量的需求日益增长。每天面对数万核、数十万核的设备量需求,虽然每个模块有各自的负载特点,但大盘层急需准确把控整体系统水位,从而判断整体设备需求趋势。跟后端的设备供应部门准确、有效地提出需求。

2. 如何针对有可能出现的问题,第一时间做出有效分析?

比如:

a. 如何避免在海量指标中把控重点指标?

从单维指标到多维指标,系统的指标上万个,且由于历史原因,指标散落在不同BG的数个监控系统,如果对于重点指标缺乏有效的抽象、监控。不分主次地处理,可能忽略重要指标的把控,引起严重后果。

云“战疫”:8天扩容100万核,我们是这样监控的

图一、错综复杂的立体式监控系统

b. 监控系统如何有效监测上述这些指标,使告警敛到合适范围?

常见的监控手段为阈值监控,对业务形态比较熟练的开发、运维人员在指标上设置一个“恰当”的阈值,一旦偏离阈值,系统即发送告警到开发人员。

然而阈值设置的合理性不易判断。在数千万、上亿用户的场景下,阈值少设或多设 0.01% 都代表数千、上万人的体验受损,而且不同时间的数据,数据也会呈现一定的周期规律性,如图二所示,简单的阈值告警显然无法满足多样化的业务需求。

云“战疫”:8天扩容100万核,我们是这样监控的

图二、  无法判断“阈值”的业务指标曲线

c. 问题发现的第一时间,开发、运维人员迫切需要知道问题的表现根因。以便快速介入处理,如何准确发现根因?

业务故障时,在大盘面,可能看到的是整个成功率(或用户量)的下降。但引起下降的可能性是较多的。必须在第一时间找到原因,深入排查,以减少业务故障时间。

云“战疫”:8天扩容100万核,我们是这样监控的

图三-1 某业务整体大盘成功率曲线

云“战疫”:8天扩容100万核,我们是这样监控的

图三-2 某业务下钻维度成功率曲线

02 监控解决方案

监控的存在是为业务服务的,团队一起进行了碰头,很快形成了解决方案并实施:

一、梳理重点模块、重点指标。建立直观的业务可观测性

基于业务架构剖析、业务形态理解,我们梳理起若干个关键指标。所谓关键即业务生死指标,这些指标可以从以下维度来衡量:

1、对用户有损

用户有损的指标有:在线用户量,用户登陆成功率,用户进房成功率,关键接口调用成功率…

2、对收入有损 购买成功率、付费成功率、收入趋势等 ……

3、资源风险相关 分SET、分模块CPU负载、出口带宽等、以便及时介入调度。一般每个SET的容量是有限的,必须及时观察各SET容量水位及负载趋势,一方面系统自行进行SET间用户调度,一方面人为可在必要时进行调度干预。

二、导入自定义 Dashboard 能力

采用 Dashboard 展示以上指标,抽象形成数个作战视图。较为常见的 Dashboard 有 Grafana, Kibana 等,我们采用了较常用的开源 Grafana,原因是:

  • 非常适合时序展示展示,提供自由的时间选择功能;

  • 易于运维人员自由定制。配置门槛极低;

  • 易于适配各种异构数据源, 开发工作量较少。

在原有 Grafana 我们做了以下定制:

  • 集成公司 OA 权限控制机制。

  • 适配公司内部各监控系统数据源。时序数据库存储协议转换,以有利于 grafana 直接拉取数据,而无需数据转存,以节约数据存储成本、获得较为实时的数据效果。

云“战疫”:8天扩容100万核,我们是这样监控的

图四:自定义 dashboard

三、引入 AIOps 能力

1. 无阈值监控

在之前多次提及过无阈值监控,在此不做过多阐述。基于统计(无监督)及 基于数据特征、人员打标形成的有监督方法。在此次监控保障中发挥了重要力量。

同时工程上我们做了一些场景导入,我们开发了“云监控助手” 移动端。方便用户自行一键订阅、退订指标。获得了较好的告警触达准确性。避免告警过多骚扰。同时通过用户的订阅退订动作,形成了用户的兴趣点标签,为后续的告警推荐、模型训练打下了基础。

云“战疫”:8天扩容100万核,我们是这样监控的

图五 - 智能告警配置移动端

2. 智能多维

业务人员关注整体业务大盘,同时业务保障工作是一个相对细致的工作,既要保障大盘稳定性,也要随时诊断导致各种业务异常的根因,现场如战场,故障场景下,早一秒钟获得根因,就能早一秒钟修复故障,减少损失,多维分析方法是非常快速的问题分析方法,举两个例子:

1)客户端质量

客户端问题一般出现在:无法登陆、卡慢、无法退出、无法发言、异常中断等。这种情况下,一般根因上可能与客户的地域、运营商、客户端版本相关,利用智能多维较为容易找到客户端根因汇聚。

2)后端 API 质量

后端 API 质量主要出现在服务间调用,腾讯云用户API主要表现在WEB端调用后端和用户应用调用腾讯云。一般根因上可以出现在用户调用方式(API/WEB),地域、产品、命令字、版本等层面。通过智能多维能迅速找到汇聚。

多维根因分析实现流程如下:

  • 统一业务指标上报,抽象Fields(指标) 与 Tags(维度) 上报至集中存储, 相关技术选型有 Druid, InfluxDB, Prometheus等 。

  • 抽象业务关键指标, 集中监控关键指标。

  • 通过无阈值/有规则检测方法获得业务异常指标曲线。

  • 获得异常期间故障根因维度。常用算法:决策树、Adtributor 等。

云“战疫”:8天扩容100万核,我们是这样监控的

图六 - 多维根因分析

3. 告警相似性

经过告警检测后,产生的告警量可能还是不少,能对告警进行合并显然是非常重要的需求,我们其中的一个解决办法是先通过聚类算法对各告警源进行聚类(采用one-pass clustering, k-means等方法),各告警间的距离可以采用 Pearson 相似性公式获得。

云“战疫”:8天扩容100万核,我们是这样监控的

该方法能获得较好的相似性效果,减少对人员的告警骚扰。

云“战疫”:8天扩容100万核,我们是这样监控的

图六:具有高度相似型的两个指标

03 用户反馈分析

用户反馈分析的技术在腾讯内部已经相对成熟了,在2015年前后就已经相继推出一些反馈分析功能。对于海量用户反馈分析,此方法相对比较有效。

较为常见的处理方式是:

  • 产品增加投诉入口,用户的反馈通过接口上报至指定位置。

  • 将投诉信息分词,分词方法很多,不再详述。

  • 分析词频,通过无阈值监控,对突增词频做重点分析处理。

但另一方面此类旁路监控,已经相对滞后。最有效的办法是在问题发生前就解决它,而不是引起投诉后。

04 小记

随着业务的发展,技术越来越中台化,业务质量保障越来越重要,如何有效破除数据烟囱,形成统一视图?监控的本质是数据,如何利用这些数据,及时发现业务问题、有效诊断业务问题,是监控的关键目的所在。

还不过瘾?GOPS 2020 · 深圳站,腾讯 资深运维技术专家周小军将带来精彩分享,赶快预定 GOPS 2020 · 深圳站门票吧~

云“战疫”:8天扩容100万核,我们是这样监控的

近期好文推荐:

运维监控做成这样,就达到 BATJ 的水准了

微盟删库事件的深度复盘报告

涨知识! 如何使用内存硬盘(tmpfs)来加速你的网站

“高效运维”公众号诚邀广大技术人员投稿,

投稿邮箱:jiachen@greatops.net,或添加联系人微信:135 2116 9787.

GOPS 2020 · 深圳站 

商务合作 周静:130 7118 2180 (微信同号)李伟:130 2108 2989(微信同号)

票务咨询 田聪然:132 6188 5689(微信同号)李伟:130 2108 2989(微信同号)

服务用户是我们的最终目的,文中提及的各种技术,会随着腾讯云监控能力逐步向外界用户开放使用。欢迎大家关注腾讯云监控。

云“战疫”:8天扩容100万核,我们是这样监控的

添加云监控助手微信好友

产品团队0距离交流

云“战疫”:8天扩容100万核,我们是这样监控的

点击 阅读原文 ,立即订票

你点的每个赞,我都认真当成了喜欢


以上所述就是小编给大家介绍的《云“战疫”:8天扩容100万核,我们是这样监控的》,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对 码农网 的支持!

查看所有标签

猜你喜欢:

本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们

Python编程快速上手

Python编程快速上手

Albert Sweigart / 王海鹏 / 人民邮电出版社 / 2016-7-1 / 69.00元

如今,人们面临的大多数任务都可以通过编写计算机软件来完成。Python是一种解释型、面向对象、动态数据类型的高级程序设计语言。通过Python编程,我们能够解决现实生活中的很多任务。 本书是一本面向实践的Python编程实用指南。本书的目的,不仅是介绍Python语言的基础知识,而且还通过项目实践教会读者如何应用这些知识和技能。本书的首部分介绍了基本Python编程概念,第二部分介绍了一些不......一起来看看 《Python编程快速上手》 这本书的介绍吧!

JS 压缩/解压工具
JS 压缩/解压工具

在线压缩/解压 JS 代码

HTML 编码/解码
HTML 编码/解码

HTML 编码/解码