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

otelcol.receiver.solace

otelcol.receiver.solace 接受来自 Solace PubSub+ Event Broker 的追踪,并将其转发到其他 otelcol.* 组件。

注意

otelcol.receiver.solace 是对来自 otelcol-contrib 发行版的上游 OpenTelemetry Collector solace 接收器的封装。Bug 报告或功能请求将在必要时重定向到上游存储库。

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

用法

alloy
otelcol.receiver.solace "LABEL" {
  queue = "QUEUE"
  auth {
    // sasl_plain or sasl_xauth2 or sasl_external block
  }
  output {
    traces  = [...]
  }
}

参数

支持以下参数

名称类型描述默认值必需
queuestring要从中获取 span 追踪消息的 Solace 遥测队列的名称。
brokerstring使用 AMQP over TLS 的 Solace Broker 的名称。localhost:5671
max_unacknowledgedintSolace Broker 可以传输的最大未确认消息数。10

queue 必须具有 queue://#telemetry-myTelemetryProfile 格式。

otelcol.receiver.solace 的定义中支持以下块

层级结构描述必需
authenticationauthentication配置连接到 Solace Broker 的身份验证。
authentication > sasl_plainsasl_plain使用 SASL PLAIN 对 Solace Broker 进行身份验证。
authentication > sasl_xauth2sasl_xauth2使用 SASL XOauth2 对 Solace Broker 进行身份验证。
authentication > sasl_externalsasl_external使用 SASL External 对 Solace Broker 进行身份验证。
flowflow配置在从下一个组件遇到临时错误时使用的行为。
flow > delayed_retrydelayed_retry将流控制策略设置为 delayed retry,它将在再次尝试将消息推送到下一个组件之前等待。
tlstls配置用于连接到 Solace Broker 的 TLS。
debug_metricsdebug_metrics配置此组件生成的用于监控其状态的指标。
outputoutput配置将接收到的遥测数据发送到哪里。

authentication 块中需要一个 SASL 身份验证块。

sasl_external 必须与 tls 块一起使用。

> 符号表示更深层次的嵌套。例如,authentication > tls 指的是在 authentication 块内定义的 tls 块。

authentication 块

authentication 块配置如何进行身份验证以连接到 Solace Broker。它不支持任何参数,并且完全通过内部块进行配置。

sasl_plain 块

sasl_plain 块配置如何使用 SASL PLAIN 对 Solace Broker 进行身份验证。

支持以下参数

名称类型描述默认值必需
usernamestring要使用的用户名。
passwordstring要使用的密码。

sasl_xauth2 块

sasl_xauth2 块配置如何使用 SASL XOauth2 对 Solace Broker 进行身份验证。

支持以下参数

名称类型描述默认值必需
usernamestring要使用的用户名。
bearerstring纯文本的 bearer。

sasl_external 块

sasl_xauth2 块配置如何使用 SASL External 对 Solace Broker 进行身份验证。它不支持任何参数或块。它必须与 tls 块一起使用。

flow 块

flow 块配置在从下一个组件遇到临时错误时使用的行为。它不支持任何参数,并且完全通过内部块进行配置。

delayed_retry 块

delayed_retry 块将流控制策略设置为 delayed retry,它将在再次尝试将消息推送到下一个组件之前等待。

支持以下参数

名称类型描述默认值必需
delaystring重试前等待的时间。"10ms"

tls 块

支持以下参数

名称类型描述默认值必需
ca_filestringCA 文件的路径。
ca_pemstring用于验证服务器的 CA PEM 编码文本。
cert_filestringTLS 证书的路径。
cert_pemstring用于客户端身份验证的证书 PEM 编码文本。
insecure_skip_verifyboolean忽略不安全的服务器 TLS 证书。
include_system_ca_certs_poolboolean是否与证书颁发机构一起加载系统证书颁发机构池。false
insecureboolean禁用连接到配置的服务器时的 TLS。
key_filestringTLS 证书密钥的路径。
key_pemsecret用于客户端身份验证的密钥 PEM 编码文本。
max_versionstring连接可接受的最大 TLS 版本。"TLS 1.3"
min_versionstring连接可接受的最小 TLS 版本。"TLS 1.2"
cipher_suiteslist(string)TLS 传输可以使用的 TLS 密码套件列表。[]
reload_intervalduration证书重新加载的持续时间。"0s"
server_namestring设置后,验证服务器证书的主机名。

如果服务器不支持 TLS,则必须将 insecure 参数设置为 true

要禁用与服务器连接的 tls,请将 insecure 参数设置为 true

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

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

  • ca_pemca_file
  • cert_pemcert_file
  • key_pemkey_file

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

debug_metrics 块

debug_metrics 块配置此组件生成的用于监控其状态的指标。

支持以下参数

名称类型描述默认值必需
disable_high_cardinality_metricsboolean是否禁用某些高基数指标。true
levelstring控制包装的收集器发出的指标的详细程度。"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 块配置一组组件,用于将生成的遥测数据转发到这些组件。

支持以下参数

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

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

警告

由于重试策略,拥有多个消费者可能会导致重复的追踪。建议此组件仅设置一个消费者。

导出的字段

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

组件健康状况

仅当 otelcol.receiver.solace 被赋予无效配置时,才会被报告为不健康。

调试信息

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

示例

此示例通过批处理器转发读取的遥测数据,然后最终将其发送到支持 OTLP 的端点

alloy
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 可以接受来自以下组件的参数

注意

连接某些组件可能不合理,或者组件可能需要进一步配置才能使连接正常工作。有关更多详细信息,请参阅链接的文档。