Update nexus: fix conflicts and sync local changes
This commit is contained in:
@@ -1,90 +1,90 @@
|
||||
---
|
||||
title: "OpenTelemetry"
|
||||
type: concept
|
||||
tags: [DevOps, Observability, Cloud-Native, CNCF, AWS]
|
||||
sources: [public-cloud-learning-sessions-observability-with-opentelemetry-20240402-160113, ctp-topic-67-cloud-native-observability-using-opentelemetry]
|
||||
last_updated: 2026-04-27
|
||||
---
|
||||
|
||||
# OpenTelemetry
|
||||
|
||||
**OpenTelemetry**(OTel)是云原生计算基金会(CNCF)的可观测性框架,提供跨语言的统一遥测数据采集标准,涵盖 Traces(链路追踪)、Metrics(指标)和 Logs(日志)三种信号。
|
||||
|
||||
## Core Components
|
||||
|
||||
| Component | Role | Description |
|
||||
|-----------|------|-------------|
|
||||
| **OTLP Protocol** | 标准化传输 | OpenTelemetry Protocol,遥测数据的标准化传输格式 |
|
||||
| **Language SDKs** | 应用集成 | 11 种语言提供统一 SDK(Java/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)实现零侵入式集成,无需修改业务代码
|
||||
|
||||
## Related Concepts
|
||||
|
||||
- [[ELK-Stack]]:OpenTelemetry 常与 OpenSearch/Elasticsearch 配合作为日志后端
|
||||
- [[Cloud-Monitoring]]:可观测性是云监控的核心组成部分
|
||||
- [[Amazon-EKS]]:OpenTelemetry 在 AWS EKS 环境下的典型部署场景
|
||||
- [[Fluent-Bit]]:EKS 环境中常用的日志采集器,与 OpenTelemetry 配合使用
|
||||
- [[Grafana]]:OpenTelemetry 常用的可视化后端
|
||||
- [[Prometheus]]:OpenTelemetry Metrics 的常用后端
|
||||
- [[Observability(可观测性)]]:OpenTelemetry 服务的核心目标
|
||||
|
||||
## Sources
|
||||
|
||||
- [[public-cloud-learning-sessions-observability-with-opentelemetry-20240402-160113]]
|
||||
- [[ctp-topic-67-cloud-native-observability-using-opentelemetry]]
|
||||
---
|
||||
title: "OpenTelemetry"
|
||||
type: concept
|
||||
tags: [DevOps, Observability, Cloud-Native, CNCF, AWS]
|
||||
sources: [public-cloud-learning-sessions-observability-with-opentelemetry-20240402-160113, ctp-topic-67-cloud-native-observability-using-opentelemetry]
|
||||
last_updated: 2026-04-27
|
||||
---
|
||||
|
||||
# OpenTelemetry
|
||||
|
||||
**OpenTelemetry**(OTel)是云原生计算基金会(CNCF)的可观测性框架,提供跨语言的统一遥测数据采集标准,涵盖 Traces(链路追踪)、Metrics(指标)和 Logs(日志)三种信号。
|
||||
|
||||
## Core Components
|
||||
|
||||
| Component | Role | Description |
|
||||
|-----------|------|-------------|
|
||||
| **OTLP Protocol** | 标准化传输 | OpenTelemetry Protocol,遥测数据的标准化传输格式 |
|
||||
| **Language SDKs** | 应用集成 | 11 种语言提供统一 SDK(Java/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)实现零侵入式集成,无需修改业务代码
|
||||
|
||||
## Related Concepts
|
||||
|
||||
- [[ELK-Stack]]:OpenTelemetry 常与 OpenSearch/Elasticsearch 配合作为日志后端
|
||||
- [[Cloud-Monitoring]]:可观测性是云监控的核心组成部分
|
||||
- [[Amazon-EKS]]:OpenTelemetry 在 AWS EKS 环境下的典型部署场景
|
||||
- [[Fluent-Bit]]:EKS 环境中常用的日志采集器,与 OpenTelemetry 配合使用
|
||||
- [[Grafana]]:OpenTelemetry 常用的可视化后端
|
||||
- [[Prometheus]]:OpenTelemetry Metrics 的常用后端
|
||||
- [[Observability(可观测性)]]:OpenTelemetry 服务的核心目标
|
||||
|
||||
## Sources
|
||||
|
||||
- [[public-cloud-learning-sessions-observability-with-opentelemetry-20240402-160113]]
|
||||
- [[ctp-topic-67-cloud-native-observability-using-opentelemetry]]
|
||||
|
||||
Reference in New Issue
Block a user