作者:张加浪,腾讯云云监控高级工程师
前言
某电商客户的网站加速 30% ,调用成功率上升3%,实现了分钟级定位故障......
某银行实现端到端的全链路覆盖和性能量化,解决了多处性能短板......
在云原生时代,且业务架构复杂、用户量庞大的场景下,他们怎么都能轻而易举地实现了?
方案背景
自研业务上云、业务服务云化,底层 IAAS、PAAS 等资源托管依赖,业务聚焦于业务逻辑实现。使用微服务框架开发服务进行敏捷开发,服务模块化运作。资源依赖托管、业务微服务化这些使得服务研发、运营变得更符合云化,但同时也使得对依赖资源的管理变复杂,由于整个业务链由许多部分组成,一套能实现监控完整覆盖且支持上云业务观测质量的监控方案显得尤为关键。
云的资源做了托管,对资源的诉求应该无需感知细节,但如何能及时有效了解性能质量情况,有问题能及时反馈给业务侧?这是大部分研发和运维的痛点,托管并不意味着不关注,反而是更高层级的要求。跳出相对单一的资源或场景,需要的是整个业务链的可观测性。
可观测性业界共识包括了 Metrics(指标)、Logging(日志)、Tracing(分布式链路追踪),三者有独立场景但也有相融合的点,可有效量化业务的整体性能和质量。
端到端的一体化监控解决方案目标是站在最终客户视角做监控覆盖,从终端(如PC、小程序、APP)操作发出请求,经过网络、应用服务器、后端服务逻辑,再实质的存储、中间件、资源服务器上获取数据,最后返回结果响应客户请求。
[点击查看大图]
云拨测 CAT
功能:云拨测功能有网络质量、浏览器、文件传输、协议端口和流媒体(音视频)等的性能监控,支持性能数据采集、量化分析、告警通知和详情分析等。
定位:其本质是能以“黑盒监控”视角重点保障关键域名、服务功能,从客户端最直接感受做质量管控。
关键:拨测点的覆盖(覆盖多端,如 PC 型、移动端型等;覆盖多地域:覆盖全国、全球等),场景支持(如网络、传输、协议端口、以及具体的支持协议类型)。
[点击查看大图]
前端性能监控 RUM
功能:RUM 包括日志上报(支持自定义上报)、错误收集、性能监控、资源测速、接口测速和告警等。
定位:以前端研发视角实现主动问题发现、服务(页面、网络、机型等)不同维度性能分析、异常问题分析定位、重要场景主动监控告警等,兼顾到服务性能和客户使用质量。
关键:前端相关操作性能数据采集,页面及资源的交互质量数据采集,以及大屏、指标、日志的不同使用场景化。
[点击查看大图]
[点击查看大图]
应用性能观测 APM
功能:APM 可自动采集生成业务链路拓扑图、上报相关性能质量指标(吞吐量、耗时、错误异常等)、服务异常上报、问题链路追踪分析、监控告警等。
定位:后端服务的链路场景化监控,覆盖整体后端服务链路查看服务性能及质量情况,针对具体情况做问题链路追踪分析。
关键:服务链路节点数据采集(调用情况、服务性能、服务请求等),采集数据的链路化处理与性能指标量化等。
[点击查看大图]
[点击查看大图]
Prometheus 监控服务 TMP
功能:与开源 Prometheus 功能一致,支持数据采集、数据处理/存储、告警等,并且与一些云产品打通便于使用(如 Redis、MySQL 等),实现服务实例化和 Prometheus 集群化。
定位:业务服务自定义场景诉求,云拨测、RUM、APM 类是固有场景化功能追求“开箱即用”,但业务因不同特性不同场景对监控需求不一样,如有些关注地域 接口 服务 版本下的成功率 耗时,有些关注城市 模块 机型下的请求量 卡顿等。
关键:多 Prometheus实例集群化操作,理解 Prometheus 提供的指标类型(counter、gauge、histogram、summary)并正确使用等。
[点击查看大图]
[点击查看大图]
云产品监控 CM
功能:云产品监控也叫腾讯云产品基础监控,由云产品如redis、mysql、网络、clb等主动接入上报相关核心指标数据,然后以实例的口径将相关指标进行展示、监控告警等。
定位:面向业务依赖的IAAS、PAAS等资源层监控,是云产品与云客户做质量监控交互的产品。
关键:云产品监控接入、指标展示、监控告警以及告警触达操作等。
[点击查看大图]
[点击查看大图]
应用场景
端到端的一体化监控解决方案包含的产品,产品对应的功能主要是为了解我们业务日常中的问题或场景,即实际中应该如何使用。
[点击查看大图]
一、主动监控
场景一:监控大屏。变更或业务大促时可主动留守观察监控大屏及时关注业务质量。
[点击查看大图]
场景二:监控告警。已知场景可主动配置告警策略,当有异常时直接接收并处理告警的问题。
[点击查看大图]
二、故障定位和复查
场景一:前端异常。前端异常问题定位分析与处理。
[点击查看大图]
场景二:后端异常。前端异常问题定位分析与处理。
[点击查看大图]
三、投诉与定责
异常问题定位分析后便可具体知问题点,以及应处理问题人。
[点击查看大图]
四、DevOps 集成与强化
通过云拨测、前端性能监控、应用性能观测及自定义监控实时采集业务质量及性能信息,若发生异常则可在 DevOps(业务服务管理系统)中及时做回滚、流量迁移等操作。
[点击查看大图]
五、微服务治理
服务定期需做规划治理,如提升服务成功率、降低请求耗时等,这些是需规划后主动当做一阶段的任务做。通过量化服务链路性能、质量等,可真实找到服务中的关键“短板”进而针对性解决处理。
[点击查看大图]
[点击查看大图]
[点击查看大图]
总结
一体化监控应用场景多样化,不仅限于上文提到的 5种(主动监控、定位故障和复查、DevOps 集成与强化、投诉与定责、微服务治理)。可覆盖更多的场景如业务资源评估调整、服务架构升级、活动重保护航等等。更多场景定制化可咨询云监控小M(扫文末二维码,可加云监控小M为好友)。
做好服务监控一般可考虑几点:
1. 业务监控覆盖:需覆盖后才能有效进行监控、分析、定位;
2. 场景化专项支持:不同场景对应诉求不一样,需使用专门技术专门产品效果会更佳;
3. 质量监控:需从监控覆盖、数据处理、告警效果逐一环节做好质量;
4. 有效触达或处理告警:这样上报收集的数据需被有效使用,产生的告警需能有效触达或处理;
5. 以业务质量视角做监控规划和支持:云原生下的监控需跳出单一监控操作,需以整体服务质量、可观察性来做规划和支持等。
[点击查看大图]
直播介绍
点击「阅读原文」,立即查看「端到端的一体化监控解决方案」直播回放 ▶▶!