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

本文涉及的产品
可观测监控 Prometheus 版,每月50GB免费额度
应用实时监控服务-应用监控,每月50GB免费额度
应用实时监控服务-可观测链路OpenTelemetry版,每月50GB免费额度
简介: 《阿里云可观测最佳实践》——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%以上的故障定位平均耗时,极大地提升了用户体验,为业务持续发展打下了坚实的基础。核桃技术团队将基于自身的技术特点,继续探索更多前沿的云原生技术,充分享受云计算带来的红利。

相关实践学习
通过轻量消息队列(原MNS)主题HTTP订阅+ARMS实现自定义数据多渠道告警
本场景将自定义告警信息同时分发至多个通知渠道的需求,例如短信、电子邮件及钉钉群组等。通过采用轻量消息队列(原 MNS)的主题模型的HTTP订阅方式,并结合应用实时监控服务提供的自定义集成能力,使得您能够以简便的配置方式实现上述多渠道同步通知的功能。
相关文章
|
安全 搜索推荐 数据挖掘
什么是TikTok机房?有什么用?
TikTok机房是专为高效管理多个TikTok账号设计的系统或场所,配备大量硬件设备和海外代理IP,可模拟真实用户行为,提升内容推广效率。通过自动化工具批量操作,不仅能规避账号关联风险,还能实现精准营销并优化数据分析。使用时需注意合规性、安全性和数据保护。
|
域名解析 缓存 负载均衡
如何在 Ubuntu 20.04 上安装 Nginx
Nginx 可以处理大量的并发连接,并且每个连接占用一个很小的内存。本文将为大家介绍如何在 Ubuntu 20.04上安装和管理 Nginx。
10849 3
如何在 Ubuntu 20.04 上安装 Nginx
|
4月前
|
存储 人工智能 缓存
tauri2.0+vite6接入deepseek-v3电脑端ai流式多轮聊天对话系统
原创重磅新作tauri2.0+vite6+deepseek-v3+arco-design实战客户端AI流式聊天对话系统。整合 Tauri2.x 接入 DeepSeek-V3 大模型。支持多窗口浅色+暗黑主题、代码高亮、本地会话缓存。
218 5
|
6月前
|
人工智能 搜索推荐 开发者
GPT-4o测评准确率竟不到1%!BrowseComp:OpenAI开源AI代理评测新基准,1266道高难度网络检索问题
OpenAI最新开源的BrowseComp基准包含1266个高难度网络检索问题,覆盖影视、科技、艺术等九大领域,其最新Deep Research模型以51.5%准确率展现复杂信息整合能力,为AI代理的浏览能力评估建立新标准。
371 4
GPT-4o测评准确率竟不到1%!BrowseComp:OpenAI开源AI代理评测新基准,1266道高难度网络检索问题
|
6月前
|
人工智能 Java 开发者
通义灵码:当AI成为你的编程搭档,效率革命已经到来
本文介绍了通义灵码作为AI编程伙伴的革命性意义及其技术特点。基于阿里云通义代码大模型CodeQwen1.5,它具备多模态代码理解、意图推理和跨语言知识融合能力,可重构开发者工作流,从智能编码到Debug预警再到文档自动化全面提升效率。数据显示,其能将常规开发时间缩短60%,错误率下降43%,新技术上手速度提升2倍。未来,通义灵码将推动需求-代码双向翻译、架构自演进等全新编程形态,助力开发者聚焦更高价值领域,开启人机共生的编程新时代。
228 10
太空资源的开发与利用:太空经济的新篇章
【9月更文挑战第25天】随着科技进步,人类正逐步开发太空资源,开启太空经济的新篇章。太空资源涵盖轨道、矿物与能源三类,如地球轨道支撑着卫星活动,而小行星带和月球则蕴藏丰富矿物质与水冰,特别是月球氦-3及水冰资源,对太空活动至关重要。然而,太空资源开发需克服技术挑战与高成本问题,涉及航天器设计到资源提取等多个环节。尽管如此,其潜在的经济价值巨大,预估地月空间经济活动年产值可达数万亿美元,并将促进太空采矿、制造等新兴工业的发展,为全球经济增长注入新动力,推动人类社会进入新的发展阶段。
|
机器学习/深度学习 人工智能 监控
阿里云的大数据计算引擎应用场景
阿里云的大数据计算引擎应用场景
|
JavaScript 前端开发 开发者
Vue.js 2 项目实战(六):小黑记账清单
Vue.js 2 项目实战(六):小黑记账清单
|
缓存 自然语言处理 JavaScript
万字长文深度解析JDK序列化原理及Fury高度兼容的极致性能实现
Fury是一个基于JIT动态编译的高性能多语言原生序列化框架,支持Java/Python/Golang/C++/JavaScript等语言,提供全自动的对象多语言/跨语言序列化能力,以及相比于别的框架最高20~200倍的性能。
169025 12
|
机器学习/深度学习 编译器 TensorFlow
基于Python TensorFlow Estimator的深度学习回归与分类代码——DNNRegressor
基于Python TensorFlow Estimator的深度学习回归与分类代码——DNNRegressor
139 2