Files
nexus/wiki/concepts/OpenTelemetry.md

4.2 KiB
Raw Blame History

title, type, tags, sources, last_updated
title type tags sources last_updated
OpenTelemetry concept
DevOps
Observability
Cloud-Native
CNCF
AWS
public-cloud-learning-sessions-observability-with-opentelemetry-20240402-160113
ctp-topic-67-cloud-native-observability-using-opentelemetry
2026-04-27

OpenTelemetry

OpenTelemetryOTel是云原生计算基金会CNCF的可观测性框架提供跨语言的统一遥测数据采集标准涵盖 Traces链路追踪、Metrics指标和 Logs日志三种信号。

Core Components

Component Role Description
OTLP Protocol 标准化传输 OpenTelemetry Protocol遥测数据的标准化传输格式
Language SDKs 应用集成 11 种语言提供统一 SDKJava/Python/Go/Node.js/.NET 等)
Collector 数据处理管道 标准化和转换遥测数据,包含 Receivers/Processors/Exporters/Extensions
Auto-Instrumentation 零侵入注入 自动检测应用语言并注入遥测代码,无需修改业务代码

Three Signals Model三信号模型

可观测性依赖三种互补的遥测信号:

Signal 用途 特点
Metrics 聚合统计 CPU/内存/请求率等数值指标,适合告警和趋势分析
Logs 根因定位 离散的事件记录,包含时间戳和上下文,用于问题排查
Traces 全链路追踪 单一请求在分布式系统中的完整路径,每个 trace 包含多个 span

OpenTelemetry Collector Architecture

Receivers接收器→ Processors处理器→ Exporters导出器
     ↑                                              ↓
  Extensions扩展                         目标后端OpenSearch/Grafana/CloudWatch 等)
  • Receivers接收数据AWS-specific 或开源标准)
  • Processors:过滤和转换数据
  • Exporters导出至后端AWS Native / Open Source / Third-party
  • Extensions辅助功能SIGV 授权、健康检查)

AWS Distribution for OpenTelemetry

AWS 提供的 OpenTelemetry 统一发行版,在 CNCF OpenTelemetry 基础上增加了 AWS 集成:

  • 统一代理:同时收集 Traces/Metrics/Logs无需分别部署多种 Agent
  • EKS Operator:自动检测应用语言并创建预配置 Collector实现零侵入式自动注入
  • Pod 级 IAM:通过 Pod Identity Associations 实现 Pod 级权限控制,无需修改 ServiceAccount
  • 日志支持:最新版本支持日志采集,完善了可观测性三信号覆盖
  • Managed Collector for Prometheus:无服务器、无代理的 Prometheus 指标自动发现和抓取

EKS Integration Pipeline

典型 EKS 环境下的端到端可观测性管道:

应用容器 (Auto-Instrumented by OTel SDK)
    ↓
Fluent Bit (DaemonSet) → 采集容器日志
    ↓ (端口 55681)
OpenTelemetry Collector (Sidecar/Deployment)
    ↓ (OTLP)
Amazon OpenSearch Service / CloudWatch / Prometheus / Grafana

Key Claims

  • OpenTelemetry 是 CNCF 毕业项目,提供 vendor-agnostic厂商无关的统一可观测性方案
  • 解决了微服务架构下不同组件使用不同 SDK 和工具的碎片化问题
  • OTLP 是 OpenTelemetry 的标准化数据传输协议,所有主流可观测性后端均支持
  • AWS Distribution for OpenTelemetry 简化了 AWS 环境(尤其是 EKS的部署复杂度
  • 自动注入Auto-Instrumentation实现零侵入式集成无需修改业务代码
  • ELK-StackOpenTelemetry 常与 OpenSearch/Elasticsearch 配合作为日志后端
  • Cloud-Monitoring:可观测性是云监控的核心组成部分
  • Amazon-EKSOpenTelemetry 在 AWS EKS 环境下的典型部署场景
  • Fluent-BitEKS 环境中常用的日志采集器,与 OpenTelemetry 配合使用
  • GrafanaOpenTelemetry 常用的可视化后端
  • PrometheusOpenTelemetry Metrics 的常用后端
  • Observability可观测性OpenTelemetry 服务的核心目标

Sources