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

本文涉及的产品
可观测可视化 Grafana 版,10个用户账号 1个月
云拨测,每月3000次拨测额度
简介: 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项目强强联合,持续释放技术红利。
目录
相关文章
|
14天前
|
Cloud Native 安全 开发者
云原生技术的未来演进与应用展望
【4月更文挑战第9天】 随着企业数字化转型的不断深入,云原生技术以其独特的弹性、敏捷性和可扩展性成为推动创新的重要力量。本文将探讨云原生技术的发展趋势,分析其在各行各业中的应用前景,并针对未来的挑战提出相应的对策和建议。我们还将讨论如何利用云原生技术优化资源配置,提高业务连续性,并最终实现企业的技术升级和价值增长。
|
4天前
|
Kubernetes Cloud Native Go
《Go 简易速速上手小册》第10章:微服务与云原生应用(2024 最新版)(下)
《Go 简易速速上手小册》第10章:微服务与云原生应用(2024 最新版)
38 0
|
4天前
|
Cloud Native 算法 Go
《Go 简易速速上手小册》第10章:微服务与云原生应用(2024 最新版)(上)
《Go 简易速速上手小册》第10章:微服务与云原生应用(2024 最新版)
26 0
|
10天前
|
Kubernetes 监控 Cloud Native
构建高效云原生应用:基于Kubernetes的微服务治理实践
【4月更文挑战第13天】 在当今数字化转型的浪潮中,企业纷纷将目光投向了云原生技术以支持其业务敏捷性和可扩展性。本文深入探讨了利用Kubernetes作为容器编排平台,实现微服务架构的有效治理,旨在为开发者和运维团队提供一套优化策略,以确保云原生应用的高性能和稳定性。通过分析微服务设计原则、Kubernetes的核心组件以及实际案例,本文揭示了在多变的业务需求下,如何确保系统的高可用性、弹性和安全性。
13 4
|
13天前
|
运维 Cloud Native 持续交付
构建未来:云原生架构在现代企业中的应用与挑战
【4月更文挑战第10天】 随着数字化转型的不断深入,企业对信息技术基础设施的要求日益提高。云原生架构作为一种新兴的设计理念和技术集合,以其灵活性、可扩展性和容错性,正在成为推动企业技术革新的关键力量。本文将探讨云原生技术的核心组件、实施策略以及面临的主要挑战,并分析如何通过采纳云原生架构来优化业务流程和提升服务效率。
|
21天前
|
人工智能 Cloud Native 物联网
探索云原生技术的发展趋势与应用前景
在当今数字化时代,云原生技术已经成为企业数字化转型的核心驱动力之一。本文将深入探讨云原生技术的发展趋势和应用前景,分析其在大数据、人工智能、物联网等领域的应用,并探讨未来可能的发展方向。
11 1
|
22天前
|
运维 Cloud Native 云计算
云原生技术:构建灵活高效的应用生态
随着云计算技术的不断发展,云原生技术作为一种全新的应用开发和部署模式,正逐渐成为业界关注的焦点。本文将介绍云原生技术的基本概念、优势以及在构建灵活高效的应用生态方面的应用实践,以期为读者提供全面了解云原生技术的视角。
|
25天前
|
运维 Cloud Native 云计算
云原生技术在企业信息化中的应用与挑战
随着云计算技术的快速发展,云原生技术作为一种新兴的应用方式,正逐渐成为企业信息化转型中的热门话题。本文将探讨云原生技术在企业信息化中的应用现状、优势以及面临的挑战,并结合具体案例分析其实际效益和发展趋势。
15 3
|
29天前
|
消息中间件 Cloud Native 网络安全
云原生最佳实践系列 3:基于 SpringCloud 应用玩转 MSE
该文档介绍了基于云原生应用的产品构建的微服务架构实践。
|
29天前
|
运维 Cloud Native 云计算
云原生技术的发展与应用前景
随着云计算技术的快速发展,云原生技术作为一种新兴的技术范式,正在逐渐引起人们的关注。本文将从云原生技术的概念、特点及其在实际应用中的优势等方面进行阐述,并探讨云原生技术在未来的发展前景。