菜单
文档breadcrumb arrow Grafana Alloybreadcrumb arrow 参考breadcrumb arrow 组件breadcrumb arrow otelcolbreadcrumb arrow otelcol.receiver.jaeger
开源

otelcol接收器:Jaeger

otelcol.receiver.jaeger 接受网络中 Jaeger 格式的数据并将其转发到其他 otelcol.* 组件。

注意

otelcol.receiver.jaeger 是 OpenTelemetry Collector 上游 jaeger 接收器的包装。如有必要,错误报告或功能请求将被重定向到上游存储库。

您可以通过为它们提供不同的标签来指定多个 otelcol.receiver.jaeger 组件。

用法

alloy
otelcol.receiver.jaeger "LABEL" {
  protocols {
    grpc {}
    thrift_http {}
    thrift_binary {}
    thrift_compact {}
  }

  output {
    metrics = [...]
    logs    = [...]
    traces  = [...]
  }
}

参数

otelcol.receiver.jaeger 不支持任何参数,并且完全通过内部块进行配置。

以下块支持在 otelcol.receiver.jaeger 的定义内部使用

层次结构描述必需
protocolsprotocols配置组件可以接收流量的协议。
protocols > grpcgrpc配置一个 Jaeger gRPC 服务器以接收跟踪。
protocols > grpc > tlstls配置 gRPC 服务器的 TLS。
protocols > grpc > keepalivekeepalive配置配置服务器的 keepalive 设置。
protocols > grpc > keepalive > server_parametersserver_parameters用于配置 keepalive 设置的服务器参数。
protocols > grpc > keepalive > enforcement_policyenforcement_policykeepalive 设置的强制策略。
protocols > thrift_httpthrift_http配置 Thrift HTTP 服务器以接收跟踪。
protocols > thrift_http > tlstls为 Thrift HTTP 服务器配置 TLS。
protocols > thrift_http > corscors为 Thrift HTTP 服务器配置 CORS。
protocols > thrift_binarythrift_binary配置 Thrift 二进制 UDP 服务器以接收跟踪。
protocols > thrift_compactthrift_compact配置 Thrift 压缩 UDP 服务器以接收跟踪。
debug_metricsdebug_metrics配置该组件生成的用于监控其状态的指标。
outputoutput配置将接收到的遥测数据发送到何处。

大于号(>)符号表示更深的嵌套级别。例如,protocols > grpc 表示在 protocols 块内定义的 grpc 块。

协议块

protocols 块定义了一组协议,用于通过网络接受跟踪。

protocols 不支持任何参数,并且完全通过内部块进行配置。

otelcol.receiver.jeager 至少需要一个协议块 (grpcthrift_httpthrift_binarythrift_compact)。

grpc 块

grpc 块用于配置一个 gRPC 服务器,它可以接受 Jaeger 跟踪信息。如果没有提供 grpc 块,将不会启动 gRPC 服务器。

支持以下参数

名称类型描述默认值必需
endpoint字符串监听流量的 host:port"0.0.0.0:14250"
transport字符串用于 gRPC 服务器的传输类型。"tcp"
max_recv_msg_size字符串服务器接受的最多消息大小。"4MiB""
max_concurrent_streams数字限制并发流式 RPC 调用的数量。
read_buffer_size字符串gRPC 服务器从客户端读取数据时使用的读取缓冲区大小。"512KiB"
write_buffer_size字符串gRPC 服务器写入客户端数据时使用的写入缓冲区大小。
include_metadata布尔值将传入连接的元数据传播到下游消费者。

tls 块

tls 块配置用于服务器的 TLS 设置。如果没有提供 tls 块,则不会使用 TLS 来连接到服务器。

支持以下参数

名称类型描述默认值必需
ca_file字符串CA 文件路径。
ca_pem字符串用来验证服务器的 CA PEM 编码的文本。
cert_file字符串TLS 证书路径。
cert_pem字符串客户端认证的 PEM 编码证书文本。
include_system_ca_certs_pool布尔值是否在证书颁发机构池中加载系统证书颁发机构。false
key_file字符串TLS 证书密钥路径。
key_pemsecret客户端认证的密钥 PEM 编码文本。
max_version字符串连接可以接受的最高 TLS 版本。"TLS 1.3"
min_version字符串连接可以接受的最小 TLS 版本。"TLS 1.2"
cipher_suites列表(字符串)可以由 TLS 传输使用的 TLS 密码套件列表。[]
reload_interval时间段证书重新加载的时间间隔。"0s"
client_ca_file字符串服务器用于验证客户端证书的 TLS 证书路径。

reload_interval 设置为 "0s" 时,证书永远不会重新加载。

以下参数对互斥,不能同时设置

  • ca_pemca_file
  • cert_pemcert_file
  • key_pemkey_file

如果 cipher_suites 留空,将使用安全默认列表。有关支持的密码套件列表,请参阅 Go 密码套件文档

client_ca_fileTLSConfig 中设置 ClientCAClientAuthRequireAndVerifyClientCert。有关更多信息,请参阅 Go TLS 文档

keepalive 块

keepalive 块用于配置连接到 gRPC 服务器的 keepalive 设置。

keepalive 不支持任何参数,全部通过内部块配置。

server_parameters 块

server_parameters 块用于控制 gRPC 服务器中 keepalive 和最大年龄设置。

支持以下参数

名称类型描述默认值必需
max_connection_idle时间段空闲连接的最大年龄。"infinity"
max_connection_age时间段非空闲连接的最大年龄。"infinity"
max_connection_age_grace时间段在强制关闭连接之前等待的时间。"infinity"
时间时间段轮询不活跃客户端以检查其活动性。"2h"
timeout时间段在不响应活动性检查的情况下关闭不活跃客户端之前等待的时间。"20s"

enforcement_policy 块

enforcement_policy 块用于配置 gRPC 服务器的 keepalive 执行策略。服务器将关闭违反配置策略的客户端连接。

支持以下参数

名称类型描述默认值必需
min_time时间段客户端发送心跳ping前应等待的最短时间。"5m"
permit_without_stream布尔值允许客户端在没有活跃流时发送心跳ping。false

thrift_http block

thrift_http块配置可接收Thrift格式跟踪的HTTP服务器。如果未指定thrift_http块,则不会启动HTTP服务器。

支持以下参数

名称类型描述默认值必需
endpoint字符串监听流量的 host:port"0.0.0.0:14268"
max_request_body_size字符串服务器允许的最大请求体大小。20MiB
include_metadata布尔值将传入连接的元数据传播到下游消费者。
compression_algorithms列表(字符串)服务器可以接受的压缩算法列表。["", "gzip", "zstd", "zlib", "snappy", "deflate"]

cors block

cors块配置HTTP服务器的CORS设置。

支持以下参数

名称类型描述默认值必需
allowed_origins列表(字符串)Origin头部的允许值。
allowed_headers列表(字符串)CORS请求接受的头部。["X-Requested-With"]
max_age数字配置Access-Control-Max-Age响应头。

allowed_headers指定来自CORS请求的哪些头部是可接受的。以下头部始终隐式允许:

  • Accept
  • Accept-Language
  • Content-Type
  • Content-Language

如果allowed_headers包括""*"",则允许所有头部。

thrift_binary block

thrift_binary块配置一个可以接受Thrift二进制协议格式跟踪的UDP服务器。如果未提供thrift_binary块,则不会启动UDP服务器。

支持以下参数

名称类型描述默认值必需
endpoint字符串监听流量的 host:port"0.0.0.0:6832"
queue_size数字一次可以排队的数据包的最大UDP消息数。1000
max_packet_size字符串最大UDP消息大小。"65KiB"
workers数字并发读取消息队列的工作线程数。10
socket_buffer_size字符串为UDP套接字分配的缓冲区。

thrift_compact block

thrift_compact块配置一个可以接受Thrift紧凑协议格式跟踪的UDP服务器。如果未提供thrift_compact块,则不会启动UDP服务器。

支持以下参数

名称类型描述默认值必需
endpoint字符串监听流量的 host:port"0.0.0.0:6831"
queue_size数字一次可以排队的数据包的最大UDP消息数。1000
max_packet_size字符串最大UDP消息大小。"65KiB"
workers数字并发读取消息队列的工作线程数。10
socket_buffer_size字符串为UDP套接字分配的缓冲区。

debug_metrics block

debug_metrics块配置该组件生成的以监控其状态的指标。

支持以下参数

名称类型描述默认值必需
disable_high_cardinality_metrics布尔值是否禁用某些高基数指标。true
level字符串控制被包装的收集器输出的指标的详细程度。"detailed"

disable_high_cardinality_metrics是Grafana Alloy中OpenTelemetry Collector的telemetry.disableHighCardinalityMetrics功能标志的等效。它移除了可能导致高基数指标的属性。例如,从HTTP和gRPC连接的指标中移除了具有IP地址和端口号的属性。

注意

如果配置,则disable_high_cardinality_metrics仅适用于otelcol.exporter.*otelcol.receiver.*组件。

level是OpenTelemetry Collector中telemetry.metrics.level功能标志的Alloy等效。可能的值是"none""basic""normal""detailed"

output block

output块配置了一组组件,用于将结果遥测数据转发到。

支持以下参数

名称类型描述默认值必需
logslist(otelcol.Consumer)将日志发送到的消费者列表。[]
metricslist(otelcol.Consumer)将指标发送到的消费者列表。[]
traceslist(otelcol.Consumer)将跟踪发送到的消费者列表。[]

必须指定output块,但所有其参数都是可选的。默认情况下,遥测数据将被丢弃。相应配置metricslogstraces参数,以将遥测数据发送到其他组件。

导出字段

otelcol.receiver.jaeger不导出任何字段。

组件健康

otelcol.receiver.jaeger仅在提供无效配置时报告为不健康。

调试信息

otelcol.receiver.jaeger不公开任何特定于组件的调试信息。

示例

本例创建了一个管道,该管道接受Jaeger格式的跟踪并将它们写入OTLP服务器

alloy
otelcol.receiver.jaeger "default" {
  protocols {
    grpc {}
    thrift_http {}
    thrift_binary {}
    thrift_compact {}
  }

  output {
    traces = [otelcol.processor.batch.default.input]
  }
}

otelcol.processor.batch "default" {
  output {
    traces = [otelcol.exporter.otlp.default.input]
  }
}

otelcol.exporter.otlp "default" {
  client {
    endpoint = "my-otlp-server:4317"
  }
}

技术细节

otelcol.receiver.jaeger支持gzip压缩。

兼容组件

otelcol.receiver.jaeger可以接受以下组件的参数

注意

连接某些组件可能不合理,或者组件可能需要进一步配置才能正确连接。请参阅链接文档以获取更多详细信息。