3.3. 配置和部署分布式追踪数据收集
Red Hat OpenShift distributed tracing 数据收集 Operator 使用一个自定义资源定义(CRD)文件来定义创建和部署 Red Hat OpenShift distributed tracing 数据收集资源时要使用的架构和配置设置。您可以安装默认配置或修改该文件以更好地满足您的业务要求。
3.3.1. OpenTelemetry Collector 配置选项
Red Hat OpenShift distributed tracing 数据收集 Operator 只是一个技术预览功能。技术预览功能不被红帽产品服务等级协议 (SLA) 支持,且可能在功能方面有缺陷。红帽不推荐在生产环境中使用它们。这些技术预览功能可以使用户提早试用新的功能,并有机会在开发阶段提供反馈意见。有关红帽技术预览功能支持范围的详情,请参阅 https://access.redhat.com/support/offerings/techpreview/。
OpenTelemetry Collector 由访问遥测数据的三个组件组成:
- Receivers - 用于控制数据如何进入收集器的接收器,它基于推送或拉取。通常,接收器接受指定格式的数据,将其转换为内部格式,并将其传递给适用管道中定义的处理器和导出器。默认情况下,不会配置接收器。必须配置一个或多个接收器。接收器可以支持一个或多个数据源。
- Processors -(可选)处理器在收到和导出的数据中运行。默认情况下,不启用处理器。每个数据源都必须启用处理器。不是所有处理器都支持所有数据源。根据数据源,建议启用多个处理器。此外,请务必注意处理器的顺序,这很重要。
- Exporters - 用于控制数据如何发送到一个或多个后端/目的地的导出器,它基于推送或拉取。默认情况下,不会配置导出器。必须配置一个或多个导出器。导出器可能支持一个或多个数据源。导出器可能会附带默认设置,但一般还需要指定目标和安全设置。
您可以在自定义资源 YAML 文件中定义多个组件实例。配置后,必须通过 YAML 文件的 spec.config.service
部分中定义的管道启用这些组件。作为最佳实践,您应该只启用您需要的组件。
OpenTelemetry 收集器自定义资源文件示例
apiVersion: opentelemetry.io/v1alpha1 kind: OpenTelemetryCollector metadata: name: cluster-collector namespace: tracing-system spec: mode: deployment config: | receivers: otlp: protocols: grpc: http: processors: exporters: jaeger: endpoint: jaeger-production-collector-headless.tracing-system.svc:14250 tls: ca_file: "/var/run/secrets/kubernetes.io/serviceaccount/service-ca.crt" service: pipelines: traces: receivers: [otlp] processors: [] exporters: [jaeger]
如果一个组件已配置,但没有在 service
部分中定义,则不会启用它。
参数 | 描述 | 值 | default |
---|---|---|---|
receivers: | 接收器用于控制数据如何进入 Collector。默认情况下,不会配置接收器。必须至少有一个启用的接收器才能使配置被视为有效。接收器通过添加到管道中来启用。 |
| 无 |
receivers: otlp: |
| ||
processors: | 处理器在被接收和导出的数据上运行。默认情况下,不启用处理器。 | 无 | |
exporters: | 导出器将数据发送到一个或多个后端/目标。默认情况下,不会配置导出器。必须至少启用了一个 exporter 时,配置才被视为有效。将导出器添加到管道中即可启用。导出器可能会附带默认设置,但一般还需要指定目标和安全设置。 |
| 无 |
exporters: jaeger: endpoint: |
| ||
exporters: jaeger: tls: ca_file: | CA 证书的路径。对于客户端,这将验证服务器证书。对于服务器,这会验证客户端证书。如果为空使用系统 root CA。 | ||
service: pipelines: |
组件通过将组件添加到 | ||
service: pipelines: traces: receivers: |
您可以通过在 | 无 | |
service: pipelines: traces: processors: |
您可以通过在 | 无 | |
service: pipelines: traces: exporters: |
您可以通过在 | 无 |