3.5. 连接器


连接器连接两个管道。它在一个管道的末尾将数据视为导出器,并在另一个管道开始时将数据作为接收器发送。它可以消耗和发送相同或不同数据类型的数据。它可以生成并发送数据以汇总已消耗的数据,或者可以完全复制或路由数据。

目前,红帽构建的 OpenTelemetry 提供了以下正式发行(GA)和技术预览连接器:

3.5.1. 计数连接器

Count Connector 计算 trace span、trace span 事件、指标、指标数据点和导出器管道中的日志记录。

重要

Count Connector 只是一个技术预览功能。技术预览功能不受红帽产品服务等级协议(SLA)支持,且功能可能并不完整。红帽不推荐在生产环境中使用它们。这些技术预览功能可以使用户提早试用新的功能,并有机会在开发阶段提供反馈意见。

有关红帽技术预览功能支持范围的更多信息,请参阅技术预览功能支持范围

以下是默认指标名称:

  • trace.span.count
  • trace.span.event.count
  • metric.count
  • metric.datapoint.count
  • log.record.count

您还可以公开自定义指标名称。

带有启用 Count Connector 的 OpenTelemetry Collector 自定义资源 (CR)

# ...
  config:
    receivers:
      otlp:
        protocols:
          grpc:
            endpoint: 0.0.0.0:4317
    exporters:
      prometheus:
        endpoint: 0.0.0.0:8889
    connectors:
      count: {}
    service:
      pipelines: 
1

        traces/in:
          receivers: [otlp]
          exporters: [count] 
2

        metrics/out:
          receivers: [count] 
3

          exporters: [prometheus]
# ...
Copy to Clipboard Toggle word wrap

1
务必要将 Count Connector 正确配置为管道中的导出器或接收器,并将生成的指标导出到正确的导出器。
2
Count Connector 配置为作为导出器接收 span。
3
Count Connector 配置为将生成的指标作为接收器发出。
提示

如果 Count Connector 没有生成预期的指标,您可以检查 OpenTelemetry Collector 是否收到预期的 span、指标和日志,以及是否按预期通过 Count Connector 的遥测数据流。您还可以使用 Debug Exporter 检查传入的遥测数据。

Count Connector 可以根据定义的条件计算遥测数据,并在配置时将这些数据公开为指标,如 spans, spanevents, metrics, datapoints, 或 logs。请参阅下个示例。

Count Connector 的 OpenTelemetry Collector CR 示例,按条件计算 span

# ...
  config:
    connectors:
      count:
        spans: 
1

          <custom_metric_name>: 
2

            description: "<custom_metric_description>"
            conditions:
              - 'attributes["env"] == "dev"'
              - 'name == "devevent"'
# ...
Copy to Clipboard Toggle word wrap

1
在本例中,公开的指标计数超过指定条件。
2
您可以指定一个自定义指标名称,如 cluster.prod.event.count
提示

正确写入条件,并遵循与属性匹配或遥测字段条件所需的语法。不正确的定义条件是最有可能的错误源。

使用 spans, spanevents, metrics, datapoints, 或 logs 等字段配置时,Count Connector 可以根据定义的属性计算遥测数据。请参阅下个示例。属性键被注入到遥测数据。您必须为缺少属性的 default_value 字段定义一个值。

Count Connector 的 OpenTelemetry Collector CR 示例,按属性计算日志

# ...
  config:
    connectors:
      count:
        logs: 
1

          <custom_metric_name>: 
2

            description: "<custom_metric_description>"
            attributes:
              - key: env
                default_value: unknown 
3

# ...
Copy to Clipboard Toggle word wrap

1
指定日志的属性。
2
您可以指定一个自定义指标名称,如 my.log.count
3
在未设置属性时定义一个默认值。

3.5.2. Routing Connector

Routing Connector 根据资源属性及其路由条件将日志、指标和追踪路由到指定的管道,它们被写为 OpenTelemetry Transformation Language (OTTL) 语句。

重要

Routing Connector 只是一个技术预览功能。技术预览功能不受红帽产品服务等级协议(SLA)支持,且功能可能并不完整。红帽不推荐在生产环境中使用它们。这些技术预览功能可以使用户提早试用新的功能,并有机会在开发阶段提供反馈意见。

有关红帽技术预览功能支持范围的更多信息,请参阅技术预览功能支持范围

带有启用路由连接器的 OpenTelemetry Collector 自定义资源

# ...
  config:
    connectors:
      routing:
        table: 
1

          - statement: route() where attributes["X-Tenant"] == "dev" 
2

            pipelines: [traces/dev] 
3

          - statement: route() where attributes["X-Tenant"] == "prod"
            pipelines: [traces/prod]
        default_pipelines: [traces/dev] 
4

        error_mode: ignore 
5

        match_once: false 
6

    service:
      pipelines:
        traces/in:
          receivers: [otlp]
          exporters: [routing]
        traces/dev:
          receivers: [routing]
          exporters: [otlp/dev]
        traces/prod:
          receivers: [routing]
          exporters: [otlp/prod]
# ...
Copy to Clipboard Toggle word wrap

1
连接器路由表。
2
写入 OTTL 语句的路由条件。
3
用于路由匹配的遥测数据的目的地管道。
4
用于路由不满足路由条件的遥测数据的目的地管道。
5
错误处理模式 :propagate 值用于记录错误并丢弃有效负载。ignore 值用于忽略条件,并尝试与下一个值匹配。silent 值与 ignore 相同,但不记录错误。默认为 propagate
6
当设置为 true 时,有效负载仅路由到满足路由条件的第一个管道。默认值为 false

3.5.3. Forward Connector

Forward Connector 会合并同一类型的两个管道。

重要

Forward Connector 只是一个技术预览功能。技术预览功能不受红帽产品服务等级协议(SLA)支持,且功能可能并不完整。红帽不推荐在生产环境中使用它们。这些技术预览功能可以使用户提早试用新的功能,并有机会在开发阶段提供反馈意见。

有关红帽技术预览功能支持范围的更多信息,请参阅技术预览功能支持范围

启用了 Forward Connector 的 OpenTelemetry Collector 自定义资源

# ...
  config:
    receivers:
      otlp:
        protocols:
          grpc:
      jaeger:
        protocols:
          grpc:
    processors:
      batch:
    exporters:
      otlp:
        endpoint: tempo-simplest-distributor:4317
        tls:
          insecure: true
    connectors:
      forward: {}
    service:
      pipelines:
        traces/regiona:
          receivers: [otlp]
          processors: []
          exporters: [forward]
        traces/regionb:
          receivers: [jaeger]
          processors: []
          exporters: [forward]
        traces:
          receivers: [forward]
          processors: [batch]
          exporters: [otlp]
# ...
Copy to Clipboard Toggle word wrap

3.5.4. Spanmetrics Connector

Spanmetrics Connector 聚合了来自 span 数据的 Request, Error, 和 Duration (R.E.D) OpenTelemetry 指标。

启用了 Spanmetrics Connector 的 OpenTelemetry Collector 自定义资源

# ...
  config:
    connectors:
      spanmetrics:
        metrics_flush_interval: 15s 
1

    service:
      pipelines:
        traces:
          exporters: [spanmetrics]
        metrics:
          receivers: [spanmetrics]
# ...
Copy to Clipboard Toggle word wrap

1
定义生成的指标的清除间隔。默认值为 15s
返回顶部
Red Hat logoGithubredditYoutubeTwitter

学习

尝试、购买和销售

社区

关于红帽文档

通过我们的产品和服务,以及可以信赖的内容,帮助红帽用户创新并实现他们的目标。 了解我们当前的更新.

让开源更具包容性

红帽致力于替换我们的代码、文档和 Web 属性中存在问题的语言。欲了解更多详情,请参阅红帽博客.

關於紅帽

我们提供强化的解决方案,使企业能够更轻松地跨平台和环境(从核心数据中心到网络边缘)工作。

Theme

© 2025 Red Hat