导出器

Send telemetry to the OpenTelemetry Collector to make sure it’s exported correctly. Using the Collector in production environments is a best practice. To visualize your telemetry, export it to a backend such as Jaeger, Zipkin, Prometheus, or a vendor-specific backend.

Available exporters

The registry contains a list of exporters for Go.

Among exporters, OpenTelemetry Protocol (OTLP) exporters are designed with the OpenTelemetry data model in mind, emitting OTel data without any loss of information. Furthermore, many tools that operate on telemetry data support OTLP (such as Prometheus, Jaeger, and most vendors), providing you with a high degree of flexibility when you need it. To learn more about OTLP, see OTLP Specification.

This page covers the main OpenTelemetry Go exporters and how to set them up.

控制台

控制台导出器适用于开发和调试任务,是最简单的设置方式。

控制台链路追踪

go.opentelemetry.io/otel/exporters/stdout/stdouttrace 该包实现了将链路(traces)数据输出到控制台的导出器(exporter)。

控制台指标

go.opentelemetry.io/otel/exporters/stdout/stdoutmetric 该包实现了将指标(metrics)数据输出到控制台的导出器。

控制台日志 (Experimental)

go.opentelemetry.io/otel/exporters/stdout/stdoutlog 该包实现了将日志(logs)输出到控制台的导出器。

OTLP

若你希望将 Trace 数据发送到 OTLP 端点(例如 collector 或者 Jaeger >= v1.35.0),你需要配置一个 OTLP 导出器,将数据发送到对应地址。

基于 HTTP 的 OTLP 链路追踪

go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracehttp 提供了使用 HTTP 协议,并以 protobuf 二进制格式作为载荷的 OTLP 链路导出器。

基于 gRPC 的 OTLP 链路追踪

go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracegrpc 提供了使用 gRPC 实现的 OTLP 链路导出器(exporter)。

Jaeger

从 v1.35.0 开始,Jaeger 支持以 OTLP 端点形式运行。你可以通过以下方式在 Docker 容器中试用: Jaeger,并能够实现链路追踪可视化。

docker run -d --name jaeger \
  -e COLLECTOR_OTLP_ENABLED=true \
  -p 16686:16686 \
  -p 4317:4317 \
  -p 4318:4318 \
  jaegertracing/all-in-one:latest

基于 HTTP 的 OTLP 指标

go.opentelemetry.io/otel/exporters/otlp/otlpmetric/otlpmetrichttp 提供了使用 HTTP 协议,并以 protobuf 二进制格式作为载荷实现的 OTLP 指标导出器。

基于 gRPC 的 OTLP 指标

go.opentelemetry.io/otel/exporters/otlp/otlpmetric/otlpmetricgrpc 提供了使用 gRPC 实现的 OTLP metrica 指标导出器。

通过 HTTP 的 OTLP 日志(Experimental)

go.opentelemetry.io/otel/exporters/otlp/otlplog/otlploghttp 提供了使用 HTTP 协议,并以 protobuf 二进制格式作为载荷实现的 OTLP 日志导出器。

通过 gRPC 的 OTLP 日志(Experimental)

go.opentelemetry.io/otel/exporters/otlp/otlplog/otlploggrpc 提供了使用 gRPC 实现的 OTLP 日志导出器。

Prometheus (Experimental)

Prometheus 导出器通过 Prometheus 抓取 HTTP 端点来报告指标。

go.opentelemetry.io/otel/exporters/prometheus 提供了 Prometheus 指标导出器的实现。

有关如何使用 Prometheus 导出器的更多信息,请参考 prometheus example