graph LR
A[可观测性] --> B[检测 instrumented]-->C[信号]
    C --> D[追踪 traces]
    C --> E[指标 metrics]
    C --> F[日志 logs]
    C --> G[上下文 Baggage]
    D --> D1[日志]
    D --> D2[Span]

围绕着平台的可观测性,催生了一系列开源用于观测的平台,如 (Jaeger 和 Zipkin),可每个平台对于数据的采集规则并不一样。于是为了统一业界标准,Opentelemtry(OTel)诞生了。 需要强调的是OpenTelemetry 不是像 Jaeger 或 Prometheus 那样提供可观察性的后端。相反,它支持将数据导出到各种开源和商业后端。它提供了一个可插入的架构,因此可以轻松添加额外的技术协议和格式。

graph LR
A[OpenTelemetry组成]
    A --> D[跨语言规范]
    A --> E[采集器]
    A --> F[每种语言的SDK]
    A --> G[每种语言的检测库]
    A --> H[每种语言的自动化检测]
    A --> I[K8S集成]
    E --> E1[可以接收处理以及导出监测数据]

采集器

![[Pasted image 20221228173158.png]]

graph LR
A[应用]
    A --> B0[OTEL-SDK] --> B[OpenTelemetry Collector]
    A --> B1[Jeager-SDK]
    A --> B2[Zipkin-SDK]
    A --> B3[Jeager-agent]
    A --> B4[Zipkin-agent]
    B1 --> B
    B2 --> B
    B --> C1[OTLP]
    B --> C2[Jeager UI]
    B --> C3[Prometheus UI]
	B3 --> C2[Jeager UI]
	B4 --> C4[Zipkin UI]
	
                                          -----> Jaeger (trace)
App + SDK ---> OpenTelemetry Collecto
r ---|
                                          -----> Prometheus (metrics)

https://opentelemetry.io/