第 3 章 配置 Collector


3.1. 配置 Collector

红帽构建的 OpenTelemetry Operator 使用自定义资源定义(CRD)文件来定义创建和部署分布式追踪平台 (Tempo) 资源时要使用的架构和配置设置。您可以安装默认配置或修改该文件。

3.1.1. OpenTelemetry Collector 配置选项

OpenTelemetry Collector 由访问遥测数据的一组组件组成:

  • Receivers
  • Processors
  • Exporters
  • 连接器
  • 扩展

您可以在自定义资源 YAML 文件中定义多个组件实例。配置后,必须通过 YAML 文件的 spec.config.service 部分中定义的管道启用这些组件。作为最佳实践,仅启用您需要的组件。

OpenTelemetry Collector 自定义资源文件示例

apiVersion: opentelemetry.io/v1beta1
kind: OpenTelemetryCollector
metadata:
  name: cluster-collector
  namespace: tracing-system
spec:
  mode: deployment
  observability:
    metrics:
      enableMetrics: true
  config:
    receivers:
      otlp:
        protocols:
          grpc: {}
          http: {}
    processors: {}
    exporters:
      otlp:
        endpoint: otel-collector-headless.tracing-system.svc:4317
        tls:
          ca_file: "/var/run/secrets/kubernetes.io/serviceaccount/service-ca.crt"
      prometheus:
        endpoint: 0.0.0.0:8889
        resource_to_telemetry_conversion:
          enabled: true # by default resource attributes are dropped
    service: 
1

      pipelines:
        traces:
          receivers: [otlp]
          processors: []
          exporters: [otlp]
        metrics:
          receivers: [otlp]
          processors: []
          exporters: [prometheus]
Copy to Clipboard Toggle word wrap

1
如果一个组件被配置但没有在 service 部分中定义,则组件不会被启用。
Expand
表 3.1. Operator 用来定义 OpenTelemetry Collector 的参数
参数描述default
receivers:
Copy to Clipboard Toggle word wrap

接收器用于控制数据如何进入 Collector。默认情况下,不会配置接收器。必须至少有一个启用的接收器才能使配置被视为有效。接收器通过添加到管道中来启用。

otlp, jaeger, prometheus, zipkin, kafka, opencensus

None

processors:
Copy to Clipboard Toggle word wrap

处理器在导出前会处理接收的数据。默认情况下,不启用处理器。

batch, memory_limiter, resourcedetection, attributes, span, k8sattributes, filter, routing

None

exporters:
Copy to Clipboard Toggle word wrap

导出器将数据发送到一个或多个后端或目的地。默认情况下,不会配置导出器。必须至少启用了一个 exporter 时,配置才被视为有效。将导出器添加到管道中即可启用。导出器可能会与其默认设置一起使用,但很多需要配置至少指定目标和安全设置。

otlp, otlphttp, debug, prometheus, kafka

None

connectors:
Copy to Clipboard Toggle word wrap

连接器通过将数据作为管道导出器来加入管道对,并将数据作为 Start-of-pipeline 接收器发送。连接器可用于总结、复制或路由消耗的数据。

spanmetrics

None

extensions:
Copy to Clipboard Toggle word wrap

不涉及处理遥测数据的任务的可选组件。

bearertokenauth, oauth2client, jaegerremotesampling, pprof, health_check, memory_ballast, zpages

None

service:
  pipelines:
Copy to Clipboard Toggle word wrap

组件通过将组件添加到 services.pipeline 下的管道中来启用。

  
service:
  pipelines:
    traces:
      receivers:
Copy to Clipboard Toggle word wrap

您可以通过在 service.pipelines.traces 下添加用于追踪的接收器。

 

None

service:
  pipelines:
    traces:
      processors:
Copy to Clipboard Toggle word wrap

您可以通过在 service.pipelines.traces 下添加处理器来启用追踪的处理器。

 

None

service:
  pipelines:
    traces:
      exporters:
Copy to Clipboard Toggle word wrap

您可以通过在 service.pipelines.traces 下添加用于追踪的导出器。

 

None

service:
  pipelines:
    metrics:
      receivers:
Copy to Clipboard Toggle word wrap

您可以通过在 service.pipelines.metrics 下添加指标来启用指标接收器。

 

None

service:
  pipelines:
    metrics:
      processors:
Copy to Clipboard Toggle word wrap

您可以通过在 service.pipelines.metrics 下添加 services.pipelines.metrics 来为 metircs 启用处理器。

 

None

service:
  pipelines:
    metrics:
      exporters:
Copy to Clipboard Toggle word wrap

您可以通过在 service.pipelines.metrics 下添加指标启用导出器。

 

None

3.1.2. 自动创建所需的 RBAC 资源

有些 Collector 组件需要配置 RBAC 资源。

流程

  • opentelemetry-operator-controller-manage 服务帐户中添加以下权限,以便红帽构建的 OpenTelemetry Operator 可以自动创建它们:

    apiVersion: rbac.authorization.k8s.io/v1
    kind: ClusterRole
    metadata:
      name: generate-processors-rbac
    rules:
    - apiGroups:
      - rbac.authorization.k8s.io
      resources:
      - clusterrolebindings
      - clusterroles
      verbs:
      - create
      - delete
      - get
      - list
      - patch
      - update
      - watch
    ---
    apiVersion: rbac.authorization.k8s.io/v1
    kind: ClusterRoleBinding
    metadata:
      name: generate-processors-rbac
    roleRef:
      apiGroup: rbac.authorization.k8s.io
      kind: ClusterRole
      name: generate-processors-rbac
    subjects:
    - kind: ServiceAccount
      name: opentelemetry-operator-controller-manager
      namespace: openshift-opentelemetry-operator
    Copy to Clipboard Toggle word wrap
返回顶部
Red Hat logoGithubredditYoutubeTwitter

学习

尝试、购买和销售

社区

关于红帽文档

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

让开源更具包容性

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

關於紅帽

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

Theme

© 2025 Red Hat