当前位置: 首页 > 科技观察

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

时间:2023-03-12 21:11:47 科技观察

云“战疫”:8天100万核,我们是这样监控的“微信课堂”“腾讯会议”为抗击疫情立下汗马功劳,数亿人成为这些系统的用户.通过可视化、交互式的远程有效沟通交流,在一定程度上保证了产学工作的有序进行。笔者有幸参与了腾讯云的“战疫”工作,监控系统有效支撑了几大应用场景。01业务监控需求腾讯会议提前发布,腾讯课堂、微信课堂也陆续放量。针对海量用户场景需求,我们分析系统的主要需求如下:1.如何了解设备整体水位和资源趋势?如前所述,主要系统都是基于视频云技术构建的。视频云本身有更多的视音频处理任务,对设备的需求与日俱增。面对每天几万核、几十万核的设备需求,虽然每个模块都有自己的负载特性,但大磁盘层迫切需要准确控制整体系统水位,从而判断整体设备需求趋势。与后端设备供应部门准确有效地提需求。2、如何第一时间对可能出现的问题进行有效的分析?例如:如何避免在海量指标中控制关键指标?从单维度指标到多维度指标,系统指标数以万计,由于历史原因,指标分散在不同BG的多个监控系统中。如果没有对关键指标进行有效的抽象和监控。不分轻重缓急处理,可能忽视重要指标的把控,造成严重后果。图1.复杂的三维监控系统b.监控系统如何对上述指标进行有效监控,并使报警落在合适的范围内?一种常见的监测方法是阈值监测。业务形态更熟练的开发和运维人员在该指标上设置一个“合适”的阈值。一旦偏离阈值,系统将向开发者发出警报。但是,阈值设置的合理性并不容易判断。在几千万或几亿用户的场景下,将阈值设置少或多0.01%,意味着几千或几万人的体验会受到损害,不同时间的数据也会表现出一定的周期性,如图2所示,简单的阈值告警显然不能满足多样化的业务需求。图2无法确定“门槛”的业务指标曲线c.第一时间发现问题,开发和运维人员迫切需要知道问题的根源。为了快速介入治疗,如何准确找到病根?当一家企业失败时,在更广阔的市场上,你可能会看到整体成功率(或用户数量)的下降。但造成下跌的可能性更大。必须在第一时间找到原因并深入调查,以减少业务停机时间。图3-1某业务整体市场成功率曲线图3-2某业务下钻维度成功率曲线02监控解决方案监控的存在是为业务服务的。团队一起开会,很快形成了解决方案并付诸实施:1.梳理关键模块和关键指标。建立直观的业务可观察性基于业务架构分析和业务形态理解,我们梳理出几个关键指标。所谓关键,是指企业生死存亡的指标。这些指标可以从以下几个维度来衡量:1、对用户有害的指标包括:在线用户数、用户登录成功率、用户进房成功率、关键接口成功率调用...2.对收入购买成功率、支付成功率、收入趋势等不利3.资源风险相关子SET、子模块CPU负载、出口带宽等,及时介入用于调度。一般每个SET的容量是有限的,需要及时观察每个SET的容量水位和负荷趋势。一方面,系统自行进行SET之间的用户调度,另一方面,必要时也可以人为干预调度。2.导入自定义Dashboard能力使用Dashboard来展示以上指标,抽象形成几个操作视图。比较常见的Dashboards有Grafana、Kibana等,我们使用比较常用的开源Grafana,因为:它非常适合时间序列展示,提供自由时间选择功能;便于运维人员自由定制。配置门槛极低;易于适配各种异构数据源,开发工作量小。在原有的Grafana中,我们做了如下定制:集成公司OA权限控制机制。适配公司内部各种监控系统的数据源。时序数据库存储协议转换,方便grafana直接拉取数据,不进行数据转储,节省数据存储成本,获得更实时的数据效果。图4:自定义dashboard三、AIOps能力介绍1、无门槛监控前面已经多次提到,这里不再赘述。基于统计(非监督)和数据特征和人员标记的监督方法。对此次监测保障起到了重要作用。同时我们导入了项目中的一些场景,开发了“云监控助手”移动端。方便用户一键订阅和取消订阅指标。获得了更好的报警到达精度。避免过度报警骚扰。同时,通过用户的订阅和退订动作,形成用户的兴趣点标签,为后续的告警推荐和模型训练奠定基础。图5-智能报警配置移动端2.智能多维业务人员关注整体业务市场。同时,业务保障工作是一项比较细致的工作。要保证市场的稳定,随时诊断各种业务异常的根源。场面犹如战场。在故障场景下,如果早一秒找到根本原因,就可以早一秒修复故障,减少损失。多维分析法是一种非常快速的问题分析方法。举两个例子:1)客户质量客户终端问题一般出现在:无法登录、速度变慢、无法登出、无法发言、异常中断等。这种情况下,一般根本原因可能与客户的问题有关区域、运营商和客户端版本。使用智能多维更容易找到客户的根本原因。2)后端API质量后端API质量主要表现在服务间调用,腾讯云用户API主要表现在WEB端调用后端和用户应用调用腾讯云。一般根源可以出现在用户的调用方式(API/WEB)、地域、产品、命令词、版本等方面,通过智能多维度快速找到收敛点。多维度根因分析的实现流程如下:业务指标统一上报,抽象Field(指标)和Tag(维度)上报集中存储,相关技术选择包括Druid、InfluxDB、Prometheus等。摘要关键业务指标,对关键指标进行集中监控。通过非阈值/规则检测方式获取业务异常指标曲线。获取异常期间故障的根因维度。常用算法:决策树、Adtributor等。图6-多维根因分析3.告警相似度告警检测后,可能仍有大量告警产生。能够合并告警显然是一个非常重要的需求。我们的解决方案之一是先使用聚类算法Cluster每个告警源(使用one-pass聚类、k-means等方法),使用Pearson相似度公式可以得到每个告警之间的距离。这种方法可以获得较好的相似效果,减少对人员的报警和骚扰。图6:相似度较高的两个指标03用户反馈分析用户反馈分析技术在腾讯内部已经比较成熟,2015年前后陆续上线了一些反馈分析功能。对于海量用户反馈分析,这种方法相对比较成熟有效的。比较常见的处理方式是:在产品中添加投诉入口,通过界面将用户的反馈反馈到指定位置。将投诉信息分割成文字。分词的方法有很多,这里不再赘述。分析词频,通过无阈值监测,重点分析处理词频突然上升的情况。但另一方面,这种旁路监控一直比较滞后。最有效的方法是在问题发生之前解决问题,而不是在引起投诉之后。04笔记随着业务的发展,技术越来越集中,业务质量保障越来越重要。如何有效打通数据烟囱,形成统一视图?监控的本质是数据。如何利用这些数据及时发现业务问题,有效诊断业务问题,是监控的关键目的。