otelcol接收器:Jaeger
otelcol.receiver.jaeger
接受网络中 Jaeger 格式的数据并将其转发到其他 otelcol.*
组件。
注意
otelcol.receiver.jaeger
是 OpenTelemetry Collector 上游jaeger
接收器的包装。如有必要,错误报告或功能请求将被重定向到上游存储库。
您可以通过为它们提供不同的标签来指定多个 otelcol.receiver.jaeger
组件。
用法
otelcol.receiver.jaeger "LABEL" {
protocols {
grpc {}
thrift_http {}
thrift_binary {}
thrift_compact {}
}
output {
metrics = [...]
logs = [...]
traces = [...]
}
}
参数
otelcol.receiver.jaeger
不支持任何参数,并且完全通过内部块进行配置。
块
以下块支持在 otelcol.receiver.jaeger
的定义内部使用
层次结构 | 块 | 描述 | 必需 |
---|---|---|---|
protocols | protocols | 配置组件可以接收流量的协议。 | 是 |
protocols > grpc | grpc | 配置一个 Jaeger gRPC 服务器以接收跟踪。 | 否 |
protocols > grpc > tls | tls | 配置 gRPC 服务器的 TLS。 | 否 |
protocols > grpc > keepalive | keepalive | 配置配置服务器的 keepalive 设置。 | 否 |
protocols > grpc > keepalive > server_parameters | server_parameters | 用于配置 keepalive 设置的服务器参数。 | 否 |
protocols > grpc > keepalive > enforcement_policy | enforcement_policy | keepalive 设置的强制策略。 | 否 |
protocols > thrift_http | thrift_http | 配置 Thrift HTTP 服务器以接收跟踪。 | 否 |
protocols > thrift_http > tls | tls | 为 Thrift HTTP 服务器配置 TLS。 | 否 |
protocols > thrift_http > cors | cors | 为 Thrift HTTP 服务器配置 CORS。 | 否 |
protocols > thrift_binary | thrift_binary | 配置 Thrift 二进制 UDP 服务器以接收跟踪。 | 否 |
protocols > thrift_compact | thrift_compact | 配置 Thrift 压缩 UDP 服务器以接收跟踪。 | 否 |
debug_metrics | debug_metrics | 配置该组件生成的用于监控其状态的指标。 | 否 |
output | output | 配置将接收到的遥测数据发送到何处。 | 是 |
大于号(>)符号表示更深的嵌套级别。例如,protocols > grpc
表示在 protocols
块内定义的 grpc
块。
协议块
protocols
块定义了一组协议,用于通过网络接受跟踪。
protocols
不支持任何参数,并且完全通过内部块进行配置。
otelcol.receiver.jeager
至少需要一个协议块 (grpc
、thrift_http
、thrift_binary
或 thrift_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_pem | secret | 客户端认证的密钥 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_pem
和ca_file
cert_pem
和cert_file
key_pem
和key_file
如果 cipher_suites
留空,将使用安全默认列表。有关支持的密码套件列表,请参阅 Go 密码套件文档。
client_ca_file
在 TLSConfig
中设置 ClientCA
和 ClientAuth
为 RequireAndVerifyClientCert
。有关更多信息,请参阅 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
块配置了一组组件,用于将结果遥测数据转发到。
支持以下参数
名称 | 类型 | 描述 | 默认值 | 必需 |
---|---|---|---|---|
logs | list(otelcol.Consumer) | 将日志发送到的消费者列表。 | [] | 否 |
metrics | list(otelcol.Consumer) | 将指标发送到的消费者列表。 | [] | 否 |
traces | list(otelcol.Consumer) | 将跟踪发送到的消费者列表。 | [] | 否 |
必须指定output
块,但所有其参数都是可选的。默认情况下,遥测数据将被丢弃。相应配置metrics
、logs
和traces
参数,以将遥测数据发送到其他组件。
导出字段
otelcol.receiver.jaeger
不导出任何字段。
组件健康
otelcol.receiver.jaeger
仅在提供无效配置时报告为不健康。
调试信息
otelcol.receiver.jaeger
不公开任何特定于组件的调试信息。
示例
本例创建了一个管道,该管道接受Jaeger格式的跟踪并将它们写入OTLP服务器
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
可以接受以下组件的参数
注意
连接某些组件可能不合理,或者组件可能需要进一步配置才能正确连接。请参阅链接文档以获取更多详细信息。