otelcol.receiver.solace
otelcol.receiver.solace
接受来自 Solace PubSub+ Event Broker 的追踪,并将其转发到其他 otelcol.*
组件。
注意
otelcol.receiver.solace
是对来自otelcol-contrib
发行版的上游 OpenTelemetry Collectorsolace
接收器的封装。Bug 报告或功能请求将在必要时重定向到上游存储库。
您可以通过为多个 otelcol.receiver.solace
组件赋予不同的标签来指定它们。
用法
otelcol.receiver.solace "LABEL" {
queue = "QUEUE"
auth {
// sasl_plain or sasl_xauth2 or sasl_external block
}
output {
traces = [...]
}
}
参数
支持以下参数
名称 | 类型 | 描述 | 默认值 | 必需 |
---|---|---|---|---|
queue | string | 要从中获取 span 追踪消息的 Solace 遥测队列的名称。 | 是 | |
broker | string | 使用 AMQP over TLS 的 Solace Broker 的名称。 | localhost:5671 | 否 |
max_unacknowledged | int | Solace Broker 可以传输的最大未确认消息数。 | 10 | 否 |
queue
必须具有 queue://#telemetry-myTelemetryProfile
格式。
块
在 otelcol.receiver.solace
的定义中支持以下块
层级结构 | 块 | 描述 | 必需 |
---|---|---|---|
authentication | authentication | 配置连接到 Solace Broker 的身份验证。 | 是 |
authentication > sasl_plain | sasl_plain | 使用 SASL PLAIN 对 Solace Broker 进行身份验证。 | 否 |
authentication > sasl_xauth2 | sasl_xauth2 | 使用 SASL XOauth2 对 Solace Broker 进行身份验证。 | 否 |
authentication > sasl_external | sasl_external | 使用 SASL External 对 Solace Broker 进行身份验证。 | 否 |
flow | flow | 配置在从下一个组件遇到临时错误时使用的行为。 | 否 |
flow > delayed_retry | delayed_retry | 将流控制策略设置为 delayed retry ,它将在再次尝试将消息推送到下一个组件之前等待。 | 否 |
tls | tls | 配置用于连接到 Solace Broker 的 TLS。 | 否 |
debug_metrics | debug_metrics | 配置此组件生成的用于监控其状态的指标。 | 否 |
output | output | 配置将接收到的遥测数据发送到哪里。 | 是 |
authentication
块中需要一个 SASL 身份验证块。
sasl_external
必须与 tls
块一起使用。
>
符号表示更深层次的嵌套。例如,authentication > tls
指的是在 authentication
块内定义的 tls
块。
authentication 块
authentication
块配置如何进行身份验证以连接到 Solace Broker。它不支持任何参数,并且完全通过内部块进行配置。
sasl_plain 块
sasl_plain
块配置如何使用 SASL PLAIN 对 Solace Broker 进行身份验证。
支持以下参数
名称 | 类型 | 描述 | 默认值 | 必需 |
---|---|---|---|---|
username | string | 要使用的用户名。 | 是 | |
password | string | 要使用的密码。 | 是 |
sasl_xauth2 块
sasl_xauth2
块配置如何使用 SASL XOauth2 对 Solace Broker 进行身份验证。
支持以下参数
名称 | 类型 | 描述 | 默认值 | 必需 |
---|---|---|---|---|
username | string | 要使用的用户名。 | 是 | |
bearer | string | 纯文本的 bearer。 | 是 |
sasl_external 块
sasl_xauth2
块配置如何使用 SASL External 对 Solace Broker 进行身份验证。它不支持任何参数或块。它必须与 tls 块一起使用。
flow 块
flow
块配置在从下一个组件遇到临时错误时使用的行为。它不支持任何参数,并且完全通过内部块进行配置。
delayed_retry 块
delayed_retry
块将流控制策略设置为 delayed retry
,它将在再次尝试将消息推送到下一个组件之前等待。
支持以下参数
名称 | 类型 | 描述 | 默认值 | 必需 |
---|---|---|---|---|
delay | string | 重试前等待的时间。 | "10ms" | 否 |
tls 块
支持以下参数
名称 | 类型 | 描述 | 默认值 | 必需 |
---|---|---|---|---|
ca_file | string | CA 文件的路径。 | 否 | |
ca_pem | string | 用于验证服务器的 CA PEM 编码文本。 | 否 | |
cert_file | string | TLS 证书的路径。 | 否 | |
cert_pem | string | 用于客户端身份验证的证书 PEM 编码文本。 | 否 | |
insecure_skip_verify | boolean | 忽略不安全的服务器 TLS 证书。 | 否 | |
include_system_ca_certs_pool | boolean | 是否与证书颁发机构一起加载系统证书颁发机构池。 | false | 否 |
insecure | boolean | 禁用连接到配置的服务器时的 TLS。 | 否 | |
key_file | string | TLS 证书密钥的路径。 | 否 | |
key_pem | secret | 用于客户端身份验证的密钥 PEM 编码文本。 | 否 | |
max_version | string | 连接可接受的最大 TLS 版本。 | "TLS 1.3" | 否 |
min_version | string | 连接可接受的最小 TLS 版本。 | "TLS 1.2" | 否 |
cipher_suites | list(string) | TLS 传输可以使用的 TLS 密码套件列表。 | [] | 否 |
reload_interval | duration | 证书重新加载的持续时间。 | "0s" | 否 |
server_name | string | 设置后,验证服务器证书的主机名。 | 否 |
如果服务器不支持 TLS,则必须将 insecure
参数设置为 true
。
要禁用与服务器连接的 tls
,请将 insecure
参数设置为 true
。
如果 reload_interval
设置为 "0s"
,则证书永远不会重新加载。
以下参数对互斥,不能同时设置
ca_pem
和ca_file
cert_pem
和cert_file
key_pem
和key_file
如果 cipher_suites
留空,则使用安全的默认列表。有关支持的密码套件的列表,请参阅 Go TLS 文档。
debug_metrics 块
debug_metrics
块配置此组件生成的用于监控其状态的指标。
支持以下参数
名称 | 类型 | 描述 | 默认值 | 必需 |
---|---|---|---|---|
disable_high_cardinality_metrics | boolean | 是否禁用某些高基数指标。 | true | 否 |
level | string | 控制包装的收集器发出的指标的详细程度。 | "detailed" | 否 |
disable_high_cardinality_metrics
是 Grafana Alloy 等效于 OpenTelemetry Collector 中的 telemetry.disableHighCardinalityMetrics
功能门。它删除可能导致高基数指标的属性。例如,HTTP 和 gRPC 连接指标中包含 IP 地址和端口号的属性将被删除。
注意
如果配置了
disable_high_cardinality_metrics
,则仅适用于otelcol.exporter.*
和otelcol.receiver.*
组件。
level
是 Alloy 等效于 OpenTelemetry Collector 中的 telemetry.metrics.level
功能门。可能的值为 "none"
、"basic"
、"normal"
和 "detailed"
。
output 块
output
块配置一组组件,用于将生成的遥测数据转发到这些组件。
支持以下参数
名称 | 类型 | 描述 | 默认值 | 必需 |
---|---|---|---|---|
logs | list(otelcol.Consumer) | 要将日志发送到的消费者列表。 | [] | 否 |
metrics | list(otelcol.Consumer) | 要将指标发送到的消费者列表。 | [] | 否 |
traces | list(otelcol.Consumer) | 要将追踪发送到的消费者列表。 | [] | 否 |
您必须指定 output
块,但其所有参数都是可选的。默认情况下,遥测数据将被丢弃。相应地配置 metrics
、logs
和 traces
参数,以将遥测数据发送到其他组件。
警告
由于重试策略,拥有多个消费者可能会导致重复的追踪。建议此组件仅设置一个消费者。
导出的字段
otelcol.receiver.solace
不导出任何字段。
组件健康状况
仅当 otelcol.receiver.solace
被赋予无效配置时,才会被报告为不健康。
调试信息
otelcol.receiver.solace
不公开任何组件特定的调试信息。
示例
此示例通过批处理器转发读取的遥测数据,然后最终将其发送到支持 OTLP 的端点
otelcol.receiver.solace "default" {
queue = "queue://#telemetry-testprofile"
broker = "localhost:5672"
auth {
sasl_plain {
username = "alloy"
password = "password"
}
}
tls {
insecure = true
insecure_skip_verify = true
}
output {
traces = [otelcol.processor.batch.default.input]
}
}
otelcol.processor.batch "default" {
output {
traces = [otelcol.exporter.otlp.default.input]
}
}
otelcol.exporter.otlp "default" {
client {
endpoint = sys.env("OTLP_ENDPOINT")
}
}
兼容组件
otelcol.receiver.solace
可以接受来自以下组件的参数
注意
连接某些组件可能不合理,或者组件可能需要进一步配置才能使连接正常工作。有关更多详细信息,请参阅链接的文档。