青蛙小白
目录

OpenTelemetry

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

https://opentelemetry.io/docs/

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

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

otel-diagram.svg
otel-diagram.svg

部署

部署架构

otel-collector-obvisibility.png
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:

kubectl get crd -o custom-columns=NAME:.metadata.name,KIND:.spec.names.kind \
  -l app.kubernetes.io/name=opentelemetry-operator

NAME                                       KIND
instrumentations.opentelemetry.io          Instrumentation
opampbridges.opentelemetry.io              OpAMPBridge
opentelemetrycollectors.opentelemetry.io   OpenTelemetryCollector

OpenTelemetryCollector

OpenTelemetry Demo

OpenTelemetry Demo 2.0新版本带来多项重大更新:引入Flagd-ui管理功能标志;新增Image-provider服务;Redis替换为CNCF项目Valkey;服务命名简化;会计服务重写为.NET;增加示例记录功能;新增React Native示例应用;优化消息跨度链接;支持多架构构建。项目已获2048星标,容器下载超1200万次,期待社区继续参与改进仪表板、测试流程及Erlang/Elixir重新引入等计划。

Archives

评论