《阿里云可观测最佳实践》——6.核桃编程(3)

本文涉及的产品
应用实时监控服务-用户体验监控,每月100OCU免费额度
应用实时监控服务-可观测链路OpenTelemetry版,每月50GB免费额度
可观测可视化 Grafana 版,10个用户账号 1个月
简介: 《阿里云可观测最佳实践》——6.核桃编程(3)

《阿里云可观测最佳实践》——6.核桃编程(2): https://developer.aliyun.com/article/1227051


特别重要的是,ARMS前端监控能够从地理位置、浏览器、操作系统、分辨率、网络运营商、应用版本等多个维护,对性能指标进行聚合分析,从而帮助核桃编程更好地定位性能瓶颈。比如地理分布视图就能通过对地理位置的聚合分析,展现全国每一个省的页面首次渲染平均时间。当某一个地域的CDN出现故障的时候,地理分布视图能帮助核桃编程迅速定位问题的根源,而传统的监控手段是完全没有办法覆盖这类场景的。

image.png


JavaScript错误分析和API请求分析也是核桃编程在应用系统的日常维护中非常关心的页面健康度指标。前者可以展示JavaScript错误的基本信息和分布情况,并具备回溯用户行为的能力。后者可以展示每个API的调用情况,包括调用成功率、返回信息、调用成功或失败的平均耗时等。当前端页面完全载入后,用户的操作会涉及到复杂的JavaScript执行,并在页面触发多个API调用,其中还包括对第三方提供的接口调用。


ARMS能够从最终用户的角度,真实还原前端代码执行的完整现场,帮助核桃编程快速定位来自前端的故障源。和页面加载速度统计一样,JavaScript错误分析和API请求分析都能够通过地理位置、浏览器等多种维度进行聚合分析。在线上编程教育的业务场景里面,客户端的实现包含着大量业务逻辑以及云端之间的双向交互,有一些问题只有在特定的浏览器和页面分辨率下才有可能暴露出来,这类问题就特别依赖多维度聚合分析进行排查。


在熟练掌握ARMS提供的前端可观测性能力之后,核桃编程开始把前端页面健康度指标作为日常业务迭代的检测标准,这项工作是通过与所有业务线的灰度发布计划相互配合而进行的。对于生产环境的每一次版本升级,核桃编程都会通过灰度发布的方式实现,先将小规模的用户流量导入新版本进行功能性、稳定性、健康性验证,只有满足预先定义的各项指标后,才会逐步增加导入新版本的用户流量,否则会立即对版本进行回滚。前端健康度的各种指标都是非常重要的衡量维度,而这些指标仅仅通过版本发布前的常规测试手段,是没有办法全面采集到的。核桃编程将前端健康度纳入业务迭代的衡量标准,体现着业务迭代过程中的可灰度、可观测、可回滚,这也是在阿里巴巴广为推崇的安全生产三板斧原则。


除了通过ARMS控制台主动的观察分析,掌握各项前端业务指标之外,更重要的事情是在遇到用户体验问题时,如何第一时间得到通知和告警,防患于未然。这个诉求通过ARMS完善的报警机制可以轻松实现。核桃基于自身对前端健康度的理解,以及业界通用的方法论,创建了多种维度的报警规则,比如“最近5钟内平均页面首次渲染耗时大于1秒”等。当规则被触发时,系统会以预先指定的报警方式向报警联系人分组发送报警信息,以提醒技术团队及时解决。这些报警规则再配合上对生产故障的分级分类定义,能够帮助核桃技术团队建立一整套生产故障应对机制,真正实现实线上问题5分钟内发现,10分钟内隔离,30分钟内解决。

image.png


核桃编程还积极探索前后端统一链路追踪技术,将API请求从前端发出到后端调用的链路串联起来,真实还原代码执行的完整现场。这是通过对前端API请求自动注入Trace信息而实现,ARMS前端监控能够在允许API自动上报的前提下,在API请求的Request Header中加入自动生成的TraceID,作为串联前后端链路的标识。这样通过调用的时间轴,可以知道是网络传输还是后端调用导致请求耗时时间过长,进一步通过后端应用的线程剖析功能,可以洞察每次请求后端的完整调用链路,对于排查系统故障和性能瓶颈带来了非常大的帮助。


4 业务价值


完善的前端可观测体系在帮助核桃编程减少了30%以上的运维工作量的同时,还缩短了60%以上的故障定位平均耗时,极大地提升了用户体验,为业务持续发展打下了坚实的基础。核桃技术团队将基于自身的技术特点,继续探索更多前沿的云原生技术,充分享受云计算带来的红利。

相关实践学习
通过云拨测对指定服务器进行Ping/DNS监测
本实验将通过云拨测对指定服务器进行Ping/DNS监测,评估网站服务质量和用户体验。
相关文章
|
1月前
|
运维 Prometheus 监控
运维之眼:监控的艺术与实践
在信息技术飞速发展的今天,运维监控已成为保障系统稳定运行的关键。本文将探讨运维监控的重要性,介绍常用的监控工具和方法,并通过实际案例分析,展示如何有效地实施监控策略,以确保系统的高可用性和性能。
|
6月前
|
运维 Prometheus 监控
运维之眼:监控与自动化的融合艺术
【5月更文挑战第31天】随着信息技术的不断演进,运维领域正经历着一场静悄悄的革命。本文将探讨监控与自动化技术如何交织在一起,提升系统的可观测性和智能化水平,从而为现代企业带来更高效、稳定的IT环境。我们将深入分析监控数据的收集、处理和应用流程,以及自动化在故障预防、问题解决和系统优化中的关键作用。通过案例分析和最佳实践分享,本文旨在为运维专业人士提供一套实用的方法论,帮助他们构建更加智能和弹性的运维体系。
可观测性简史-可观测性价值精讲ppt-业务系统的护城河
可观测性价值精讲,文末随附可观测性简史,可以快速注册体验可观测性平台,构建业务系统的护城河,指标体系和价值体系
198 1
|
6月前
|
人工智能 运维 监控
可观测实践,如何利用 AI 算法解决告警配置三大难题
本文介绍了如何利用 AI 算法解决“不知道该监控哪些指标”、“不知道该设置什么阈值”、“指标正常情况下就起伏不定,怎么配告警”告警配置三大难题。
142063 4
|
6月前
|
存储 云计算
生信工程师高效工作的背后——可观测性、资源适配与自动化
使用Memory Machine Cloud(简称MMCloud)的生信工程师们为什么工作效率比别人高呢?我们悄悄总结了MMCloud的三个核心优势——可观测性、资源适配与自动化。
194 0
|
弹性计算 运维 监控
【送书】实现可观测性平台的技术要点是什么?
【送书】实现可观测性平台的技术要点是什么?
【送书】实现可观测性平台的技术要点是什么?
|
Cloud Native 前端开发 架构师
|
移动开发 监控 前端开发
《阿里云可观测最佳实践》——6.核桃编程(2)
《阿里云可观测最佳实践》——6.核桃编程(2)
191 0
|
人工智能 编解码 弹性计算
《阿里云可观测最佳实践》——6.核桃编程(1)
《阿里云可观测最佳实践》——6.核桃编程(1)
242 0
|
编解码 人工智能 运维
《2023云原生实战案例集》——04 互联网——核桃编程 基于ARMS构建可观测体系,全方位提升用户体验
《2023云原生实战案例集》——04 互联网——核桃编程 基于ARMS构建可观测体系,全方位提升用户体验