前几天在CCTV播出的《新闻联播》——“众志成城保供应 企业在行动”,对腾讯在疫情期间向全国用户免费开放300人不限时的会议功能进行了报道:
腾讯在疫情期间为全部用户免费提供300人不限时的会议功能,并提供7*24小时服务,为政府应急指挥沟通、医疗物资调配、工作人员在家远程办公提供支持。
腾讯会议可满足全球130个国家和地区的5000万用户同时在线需求,这背后不仅有8天紧急扩容超100万核心的强大资源保障,还有腾讯云监控对其服务质量的保驾护航。
业务要保障SLA,需要立体式监控体系:指标监控、日志监控和链路监控,今天我们仅来聊聊腾讯会议流量暴涨背后的指标监控场景。那么研发是如何通过定义指标,管理指标,分析指标,从而快速感知自己负责的模块发生异常并定位原因呢?腾讯会议通过腾讯云监控团队自研的监控平台来实现。
埋点上报
研发在产品开发初期就会为产品的 SLA 下很多功夫,在关键路径加入上报指标的埋点。
例如:用户登录过程的一个模块会分解成十几个逻辑步骤,而每个步骤由会分解成不同的指标,比如请求成功或者失败。每个模块分解的越详细,意味着出现异常时可供排查问题的信息越详细,产生的指标也就越多。所以产生成千上万个类似如下的业务自定义指标,一点也不夸张:
- 会议在线用户数;
- 当前房间数量;
- 加入会议耗时;
- 解散会议成功率。
聚焦大盘
指标一多,问题来了:如何快速知道业务SLA发生变化,并对业务运营状况了然于胸?研发小哥哥通过Grafana搭建核心监控大盘,专门展示“最关键”的业务指标,以便值班同学查看腾讯会议核心指标的变化情况。
分组视图
如此海量的服务器和上报指标,每个研发小哥哥手里维护的模块都不止一个,而每个模块又有成千上万个指标,非常不利于查看和管理。通过腾讯自研监控平台的多层分组管理功能可解决这一问题:
- 机器分组:首先可以按不同服务模块部署的机器进行分组管理,例如腾讯会议-代理层、腾讯会议-连接层、腾讯会议-逻辑层、...
- 构建视图:将机器分组后,默认会把该分组机器上报的所有指标汇聚构建成一个视图,以便业务可以按模块查看不同分组视图下的指标情况;
- 指标分组:然后再把分组上报的指标进一步进行分组管理,例如加入会议、主持人操作、退出会议、解散房间等,以便快速检索想要关注的指标。
无阈值检测 & 智能告警
成千上万个指标,异常又是如何快速被发现呢?由于业务流量突增,手动更改告警的阈值规则会不准确。通过时间序列算法,腾讯云监控团队自研 Metis ,可以帮助腾讯会议智能检测出异常,并把相同时间段内相似异常特性的指标,关联收敛成一条告警推送。业务点击打开告警查看详情时,不仅可以看到发生异常的指标,还可以展开看到每台机器上报该指标的单机视图,方便业务快速清晰地定位问题。
疫情期间,PC 端关注重要指标监控告警多有不便,监控小程序可解决上述问题,通过接入小程序,业务可方便在手机实时查看重要业务指标。
腾讯云监控-自定义监控上线ing
用户根据业务特性定义重要指标,管理指标是重要的监控保障方式。腾讯海量业务,如QQ、看点、腾讯课堂等无不通过指标监控的方式在为服务于用户体验。
腾讯云监控也对外开放了自定义监控功能,为广大腾讯云客户提供指标监控的能力。
- 用户无需预注册,便可上报指标,通过极简的方式完成指标上报和告警配置;
- 开放了实例分组的功能,用户可以按服务模块把不同的CVM或SCF实例做分组管理,方便查看各分组下的指标视图;
目前只把自研监控的部分能力上线,还有更多更丰富的功能持续迭代中,尽请期待。
自定义监控为腾讯云客户提供免费内测,诚邀您点击 申请页面 参与内测体验!
腾讯云监控更多能力特性
除了自定义监控,腾讯云监控还提供了基础监控和日志监控的功能。
- 基础监控:协助用户查看名下CVM实例的负载、CLB的出入流量、数据库的连接数、SCF函数的调用次数等。
- 日志监控:使用腾讯云日志服务CLS(上报业务或系统组件日志并进行检索查询和存储),通过腾讯云监控-日志监控功能,自定义多个维度和指标,进行多维分析展示,并完成相关告警配置,形成日志存储-检索-监控-告警的场景化解决方案。