OpenTelemetry

OpenTelemetry #

OpenTelemetry 是一套 API、SDK 和工具的集合。您可以使用它来检测、生成、收集和导出遥测数据(指标、日志和跟踪),以帮助您分析软件的性能和行为。 OpenTelemetry 现已在多种语言中普遍可用,适用于生产环境。

https://opentelemetry.io/docs/

OpenTelemetry(也被称为OTel)是一个供应商中立的开源可观察性框架,用于检测、生成、收集和导出遥测数据,如跟踪、指标和日志。

作为行业标准,OpenTelemetry 受 40 多个可观察性供应商支持,并被许多库、服务和应用程序集成,并被众多最终用户采用。

otel-diagram.svg

部署 #

部署架构 #

otel-collector-obvisibility.png

OpenTelemetry Collector由OpenTelemetry K8S Operator管理,并以DaemonSet的形式部署在Kubernetes集群的各个节点上。即每个K8S节点上都有一个OTEL Collector Agent进程负责收集并处理本节点上微服务Pod实例的Logs, Traces, Metrics数据,并将Logs, Traces数据发送到后端的日志存储(Loki或ES)、Traces数据存储(Jaeger或Tempo),同时将Metrics数据暴露给Prometheus。

Helm Chart #

opentelemetry-operator 0.56版本之后的helm chart会负责自动安装下面3个CRD:

1kubectl get crd -o custom-columns=NAME:.metadata.name,KIND:.spec.names.kind \
2  -l app.kubernetes.io/name=opentelemetry-operator
3
4NAME                                       KIND
5instrumentations.opentelemetry.io          Instrumentation
6opampbridges.opentelemetry.io              OpAMPBridge
7opentelemetrycollectors.opentelemetry.io   OpenTelemetryCollector

OpenTelemetryCollector #

Archives #

© 2024 青蛙小白 | 总访问量 | 总访客数