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]
Copy to Clipboard Toggle word wrap

注意

如果一个组件已配置,但没有在 service 部分中定义,则不会启用它。

Expand
表 3.17. Operator 用来定义 OpenTelemetry Collector 的参数
参数描述default
receivers:
Copy to Clipboard Toggle word wrap

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

otlp, jaeger

receivers:
  otlp:
Copy to Clipboard Toggle word wrap

oltpjaeger 接收器附带默认设置,一般只需要再指定接收方的名称。

  
processors:
Copy to Clipboard Toggle word wrap

处理器在被接收和导出的数据上运行。默认情况下,不启用处理器。

 

exporters:
Copy to Clipboard Toggle word wrap

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

logging, jaeger

exporters:
 jaeger:
  endpoint:
Copy to Clipboard Toggle word wrap

jaeger exporter 的端点必须是 <name>-collector-headless.<namespace>.svc 的形式,其中包含 Jaeger 部署的名称和命名空间,以便建立安全连接。

  
exporters:
 jaeger:
  tls:
   ca_file:
Copy to Clipboard Toggle word wrap

CA 证书的路径。对于客户端,这将验证服务器证书。对于服务器,这会验证客户端证书。如果为空使用系统 root CA。

  
service:
  pipelines:
Copy to Clipboard Toggle word wrap

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

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

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

 

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

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

 

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

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

 

3.3.2. 验证部署

3.3.3. 访问 Jaeger 控制台

要访问 Jaeger 控制台,您必须安装 Red Hat OpenShift Service Mesh 或 Red Hat OpenShift distributed tracing,并且安装、配置和部署了 Red Hat OpenShift distributed tracing 平台。

安装过程会创建路由来访问 Jaeger 控制台。

如果您知道 Jaeger 控制台的 URL,您可以直接访问它。如果您不知道 URL,请使用以下指示:

从 OpenShift 控制台的步骤

  1. 以具有 cluster-admin 权限的用户身份登录到 OpenShift Container Platform web 控制台。如果使用 Red Hat OpenShift Dedicated,则必须有一个具有 dedicated-admin 角色的帐户。
  2. 进入 Networking Routes
  3. Routes 页面中,从 Namespace 菜单中选择 control plane 项目,如 tracing-system

    Location 列显示每个路由的链接地址。

  4. 如有必要,使用过滤器来查找 jaeger 路由。单击路由 位置 以启动控制台。
  5. 单击 Log In With OpenShift

通过 CLI 操作的步骤

  1. 以具有 cluster-admin 角色的用户身份登录 OpenShift Container Platform CLI。如果使用 Red Hat OpenShift Dedicated,则必须有一个具有 dedicated-admin 角色的帐户。

    $ oc login --username=<NAMEOFUSER> https://<HOSTNAME>:6443
    Copy to Clipboard Toggle word wrap
  2. 要使用命令行查询路由详情,请输入以下命令。在本例中,trace-system 是 control plane 命名空间。

    $ export JAEGER_URL=$(oc get route -n tracing-system jaeger -o jsonpath='{.spec.host}')
    Copy to Clipboard Toggle word wrap
  3. 启动浏览器并进入 https://<JAEGER_URL>,其中 <JAEGER_URL> 是您在上一步中发现的路由。
  4. 使用您用于访问 OpenShift Container Platform 控制台的相同用户名和密码登录。
  5. 如果您已将服务添加到服务网格中并生成了 trace,您可以使用过滤器和 Find Traces 按钮搜索 trace 数据。

    如果您要验证控制台安装,则不会显示 trace 数据。

返回顶部
Red Hat logoGithubredditYoutubeTwitter

学习

尝试、购买和销售

社区

关于红帽文档

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

让开源更具包容性

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

關於紅帽

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

Theme

© 2025 Red Hat