×

连接器连接两个管道。它在一条管道的末端作为导出器使用数据,并在另一条管道的开头作为接收器发出数据。它可以消费和发出相同或不同类型的数据。它可以生成和发出数据以汇总已消费的数据,或者它可以仅仅复制或路由数据。

计数连接器

计数连接器计算导出器管道中的跟踪跨度、跟踪跨度事件、指标、指标数据点和日志记录。

计数连接器仅为技术预览功能。技术预览功能不受 Red Hat 生产服务级别协议 (SLA) 的支持,并且功能可能不完整。Red Hat 不建议在生产环境中使用它们。这些功能可让您抢先体验即将推出的产品功能,从而使客户能够在开发过程中测试功能并提供反馈。

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

以下是默认指标名称

  • trace.span.count

  • trace.span.event.count

  • metric.count

  • metric.datapoint.count

  • log.record.count

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

启用计数连接器的 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]
# ...
1 正确地将计数连接器配置为管道中的导出器或接收器,并将生成的指标导出到正确的导出器非常重要。
2 计数连接器配置为接收跨度作为导出器。
3 计数连接器配置为发出生成的指标作为接收器。

如果计数连接器没有生成预期的指标,您可以检查 OpenTelemetry Collector 是否正在接收预期的跨度、指标和日志,以及遥测数据是否按预期通过计数连接器流动。您还可以使用调试导出器来检查传入的遥测数据。

计数连接器可以根据定义的条件计算遥测数据,并在使用spansspaneventsmetricsdatapointslogs等字段进行配置时将这些数据作为指标公开。请参见下一个示例。

计数连接器用于根据条件计算跨度的示例 OpenTelemetry Collector CR
# ...
  config: |
    connectors:
      count:
        spans: (1)
          <custom_metric_name>: (2)
            description: "<custom_metric_description>"
            conditions:
              - 'attributes["env"] == "dev"'
              - 'name == "devevent"'
# ...
1 在此示例中,公开的指标计算具有指定条件的跨度。
2 您可以指定自定义指标名称,例如cluster.prod.event.count

请正确编写条件,并遵循属性匹配或遥测字段条件所需的语法。条件定义不当是最常见的错误来源。

计数连接器可以使用诸如spansspaneventsmetricsdatapointslogs之类的字段进行配置,从而根据定义的属性对遥测数据进行计数。请参见以下示例。属性键被注入到遥测数据中。对于缺失的属性,必须为default_value字段定义一个值。

用于按属性对日志进行计数的计数连接器的示例 OpenTelemetry Collector CR
# ...
  config: |
    connectors:
      count:
        logs: (1)
          <custom_metric_name>: (2)
            description: "<custom_metric_description>"
            attributes:
              - key: env
                default_value: unknown (3)
# ...
1 指定日志的属性。
2 您可以指定自定义指标名称,例如my.log.count
3 在未设置属性时定义默认值。

路由连接器

路由连接器根据资源属性及其路由条件(以 OpenTelemetry 变换语言 (OTTL) 语句编写)将日志、指标和跟踪路由到指定的管道。

路由连接器仅为技术预览功能。技术预览功能不受 Red Hat 生产服务级别协议 (SLA) 的支持,并且可能功能不完整。Red Hat 不建议在生产环境中使用它们。这些功能可让您抢先体验即将推出的产品功能,从而能够在开发过程中测试功能并提供反馈。

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

启用了路由连接器的 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]
1 连接器路由表。
2 以 OTTL 语句编写的路由条件。
3 用于路由匹配遥测数据的目标管道。
4 用于路由没有满足任何路由条件的遥测数据的目标管道。
5 错误处理模式:propagate 值用于记录错误并丢弃有效负载。ignore 值用于忽略条件并尝试与下一个条件匹配。silent 值与ignore相同,但不会记录错误。默认为propagate
6 设置为true时,有效负载仅路由到满足路由条件的第一个管道。默认为false

转发连接器

转发连接器合并两个相同类型的管道。

转发连接器仅为技术预览功能。技术预览功能不受 Red Hat 生产服务级别协议 (SLA) 的支持,并且可能功能不完整。Red Hat 不建议在生产环境中使用它们。这些功能可让您抢先体验即将推出的产品功能,从而能够在开发过程中测试功能并提供反馈。

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

启用了转发连接器的 OpenTelemetry Collector 自定义资源
# ...
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]
# ...

Spanmetrics 连接器

Spanmetrics 连接器聚合来自跨度数据的请求、错误和持续时间 (R.E.D.) OpenTelemetry 指标。

启用了 Spanmetrics 连接器的 OpenTelemetry Collector 自定义资源
# ...
  config: |
    connectors:
      spanmetrics:
        metrics_flush_interval: 15s (1)
    service:
      pipelines:
        traces:
          exporters: [spanmetrics]
        metrics:
          receivers: [spanmetrics]
# ...
1 定义生成的指标的刷新间隔。默认为15s