GIAC-2022sh 学习笔记 | 云原生时代的可观测体系在大规模应用中的落地实践

本文涉及的产品
应用实时监控服务-可观测链路OpenTelemetry版,每月50GB免费额度
可观测监控 Prometheus 版,每月50GB免费额度
应用实时监控服务-用户体验监控,每月100OCU免费额度
简介: GIAC-2022sh 学习笔记 | 云原生时代的可观测体系在大规模应用中的落地实践

otel.png

GIAC-2022sh 学习笔记 | 云原生时代的可观测体系在大规模应用中的落地实践

http://www.thegiac.com/2022sh/schedule

云原生时代的可观测体系在大规模应用中的落地实践

闫鹏

阿里云智能高级技术专家

个人简介

  • 目前就职于阿里云智能云原生应用平台部门
  • 阿里云可观测产品ARMS技术负责人
  • 在云计算/PaaS/中间件领域工作10年+
  • 主导了从阿里巴巴鹰眼监控产品到公有云可观测产品的体系建设及系统架构演进
  • 在分布式链路追踪,根因诊断,开源技术以及产品商业化等方向具有丰富的实战经验。

OpenTelemetry的前世与今生

OpenTelemetry横空出世

可观测领域的两大阵营

  • OpenTracing:CNCF(Cloud Native Computing Foundation)的项目,提供与厂商无关的API及规范, 使应用能够快速具备Tracing能力,如Zipkin、Jaeger都遵循此协议。
  • OpenCensus:Google公司主导的开源项目,Dapper的社区版本,在应用中快速集成Metrics和Tracing, 不仅仅提供规范,还提供Agent、Collector等组件。

OpenTelemetry的架构设计

otel_arch.png

OpenTelemetry不是像Jaeger、Prometheus这些开源项目一样具备存储、查询、以及Dashboard的能力。 相反,它提供了一个可插拔的体系结构,能够将数据导出到各种开源和商业化产品的后端服务。

开源项目、商业化产品之间的关系

相比Zipkin、Jaeger拥有更加优秀的设计理念

  • 全面消除厂商的 Lock-on 隐患
  • 提供标准化的Instrumentation框架
  • 提供可插拔的能力,服务选择更加自由
  • 提供多种数据源,系统对接灵活
  • 规范的制定、协议的统一
  • API语言无关,定义Metrics、Trace、Logs数据类型及操作
  • SDK根据不同API来实现,定义配置、数据处理和导出过程
  • OTLP原生标准协议定义,同时支持Thrift等多种协议扩展
  • 多语言、多环境的支持
  • 支持C++、.NET、Go、Java、PHP等10+种不同语言的SDK
  • 提供Host、Docker、以及Kubernates等多种不同环境下的接入方案
  • 通过Collector实现与不同开源及商业化产品数据的无缝对接

开源、商业化产品之间的关系

  • 应用场景: OpenTelemetry等开源产品 阿里云ARMS可观测套件 (商业化产品)
  • 接入成本
  • 系统运维
  • 采集器(探针)管 理
  • 可视化展示
  • 安全性
  • 根因定位能力
  • 统一监控
  • 可扩展性与服务性

从0到1落地可观测体系的三大挑战及解决方案

实际生产环境下构建可观测体系的三大挑战

  • 数据孤岛: 挑战一:数据的孤岛、监控工具的孤岛导致无法释放数据的关联价值。
  • 高昂成本: 挑战二:多探针、数据、环境的多样化带来的高昂运维及存储成本。
  • 场景复杂: 挑战三:异构系统的互通、异步调用等场景复杂化为最终落地增加了难度。

打破数据孤岛的三个要素

  • 将三个柱子,变成互相连接的一股绳子
  • 指标 调用链 日志 (Metrics) (Trace) (Logs)
  • 三个要素: 数据采集 模型定义 关联分析

三个柱子+三个要素的落地方案

Metrics(指标) Trace(调用链) Logs(日志)

与存量监控系统工具的互联与互通

Kubernates场景下探针自动接入的技术方案

  • 探针种类繁多
  • 探针版本管理
  • 业务遇到问题,探针如何快速回滚 探针如何安装

预聚合、链路压缩实现低成本的无损统计与传输

通过预聚合的实现原理,捕捉每一次真实请求,先聚合,后采样,再上报,从而实现无损统计,端侧成本降低80%。

冷热数据分离,进一步降低存储成本

  • 热数据实时分析:30分钟全量调用链、实时查询 &分析,满足在线诊断需求。
  • 冷数据精准采样:根据链路特征自定义采样策略 (Tail-based Sampling),只持久化存储需要的 调用链(比如错慢调用),大幅降低存储成本。

不同Trace协议下异构系统无法实现互通

异步场景下的断链影响准确性与完整性

落地完整可观测体系的技术架构

otel.png

可观测的未来与展望

行业发展趋势

  • 伴随运维能力下沉,可观测重要性得到进一步提升。
  • 多云、混合云架构应用,为可观测体系的建设带来新的机遇与挑战。
  • 打破数据孤岛、系统融合、统一监控运维等诉求变得更加强烈。
  • 可观测在IT成本治理、业务运营等细分领域逐渐被广泛应用。

可观测技术的演进

  • 开源技术栈进一步收敛(Prometheus、OpenTelemetry、Grafana)
  • eBPF 技术由初始阶段进入发展阶段,逐步在生产环境中应用。
  • eBPF 与开源APM项目强强联合,持续释放技术红利。
目录
相关文章
|
26天前
|
Cloud Native 持续交付 开发者
云原生技术在现代企业中的应用与实践####
本文深入探讨了云原生技术的核心概念及其在现代企业IT架构转型中的关键作用,通过具体案例分析展示了云原生如何促进企业的敏捷开发、高效运维及成本优化。不同于传统摘要仅概述内容,本部分旨在激发读者对云原生领域的兴趣,强调其在加速数字化转型过程中的不可或缺性,为后续详细论述奠定基础。 ####
|
16天前
|
Cloud Native 安全 Java
铭师堂的云原生升级实践
铭师堂完整经历了云计算应用的四个关键阶段:从”启动上云”到”全量上云”,再到”全栈用云”,最终达到”精益用云”。通过 MSE 云原生网关的落地,为我们的组织带来了诸多收益,SLA 提升至100%,财务成本降低67%,算力成本降低75%,每次请求 RT 减少5ms。
铭师堂的云原生升级实践
|
21天前
|
人工智能 缓存 异构计算
云原生AI加速生成式人工智能应用的部署构建
本文探讨了云原生技术背景下,尤其是Kubernetes和容器技术的发展,对模型推理服务带来的挑战与优化策略。文中详细介绍了Knative的弹性扩展机制,包括HPA和CronHPA,以及针对传统弹性扩展“滞后”问题提出的AHPA(高级弹性预测)。此外,文章重点介绍了Fluid项目,它通过分布式缓存优化了模型加载的I/O操作,显著缩短了推理服务的冷启动时间,特别是在处理大规模并发请求时表现出色。通过实际案例,展示了Fluid在vLLM和Qwen模型推理中的应用效果,证明了其在提高模型推理效率和响应速度方面的优势。
云原生AI加速生成式人工智能应用的部署构建
|
1天前
|
存储 人工智能 调度
容器服务:智算时代云原生操作系统及月之暗面Kimi、深势科技实践分享
容器技术已经发展成为云计算操作系统的关键组成部分,向下高效调度多样化异构算力,向上提供统一编程接口,支持多样化工作负载。阿里云容器服务在2024年巴黎奥运会中提供了稳定高效的云上支持,实现了子弹时间特效等创新应用。此外,容器技术还带来了弹性、普惠的计算能力升级,如每分钟创建1万Pod和秒级CPU资源热变配,以及针对大数据与AI应用的弹性临时盘和跨可用区云盘等高性能存储解决方案。智能运维方面,推出了即时弹性节点池、智能应用弹性策略和可信赖集群托管运维等功能,进一步简化了集群管理和优化了资源利用率。
|
15天前
|
Cloud Native 安全 Java
杭州铭师堂的云原生升级实践
在短短 2-3 年间,杭州铭师堂完整经历了云计算应用的四个关键阶段:从“启动上云”到“全量上云”,再到“全栈用云”,最终达到“精益用云”。也从云计算的第一次浪潮,迈过了第二次浪潮,顺利的进入到了 第三次浪潮 AI + 云。
|
15天前
|
Cloud Native
邀您参加云原生高可用技术沙龙丨云上高可用体系构建:从理论到实践
云原生高可用技术专场,邀您从理论到实践一起交流,探索云上高可用体系构建!
|
26天前
|
Cloud Native JavaScript Docker
云原生技术:构建现代应用的基石
在数字化转型的浪潮中,云原生技术如同一艘承载梦想的航船,引领企业驶向创新与效率的新海域。本文将深入探索云原生技术的核心价值,揭示其如何重塑软件开发、部署和运维模式,同时通过一个简易代码示例,展现云原生应用的构建过程,让读者领略到云原生技术的魅力所在。
|
1天前
|
运维 Cloud Native Serverless
Serverless Argo Workflows大规模计算工作流平台荣获信通院“云原生技术创新标杆案例”
2024年12月24日,阿里云Serverless Argo Workflows大规模计算工作流平台荣获由中国信息通信研究院颁发的「云原生技术创新案例」奖。
|
1天前
|
运维 监控 Cloud Native
云原生之运维监控实践:使用 taosKeeper 与 TDinsight 实现对 时序数据库TDengine 服务的监测告警
在数字化转型的过程中,监控与告警功能的优化对保障系统的稳定运行至关重要。本篇文章是“2024,我想和 TDengine 谈谈”征文活动的三等奖作品之一,详细介绍了如何利用 TDengine、taosKeeper 和 TDinsight 实现对 TDengine 服务的状态监控与告警功能。作者通过容器化安装 TDengine 和 Grafana,演示了如何配置 Grafana 数据源、导入 TDinsight 仪表板、以及如何设置告警规则和通知策略。欢迎大家阅读。
15 0
|
26天前
|
Cloud Native API 持续交付
云原生架构下的微服务治理策略与实践####
本文旨在探讨云原生环境下微服务架构的治理策略,通过分析当前面临的挑战,提出一系列实用的解决方案。我们将深入讨论如何利用容器化、服务网格(Service Mesh)等先进技术手段,提升微服务系统的可管理性、可扩展性和容错能力。此外,还将分享一些来自一线项目的经验教训,帮助读者更好地理解和应用这些理论到实际工作中去。 ####
38 0