第 5 章 分布式追踪数据收集(OpenTelemetry)

5.1. 安装分布式追踪数据收集

重要

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

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

安装分布式追踪数据收集涉及以下步骤:

  1. 安装 Red Hat OpenShift distributed tracing 数据收集 Operator。
  2. 为 OpenTelemetry Collector 实例创建命名空间。
  3. 创建 OpenTelemetryCollector 自定义资源来部署 OpenTelemetry Collector 实例。

5.1.1. 从 Web 控制台安装分布式追踪数据收集

您可从 web 控制台的 Administrator 视图安装分布式追踪数据收集。

先决条件

  • 以集群管理员身份使用 cluster-admin 角色登录到 web 控制台。
  • 对于 Red Hat OpenShift Dedicated,您必须使用具有 dedicated-admin 角色的帐户登录。
  • 集群管理员具有 cluster-admin 角色的活跃 OpenShift CLI (oc) 会话。

    提示
    • 确保您的 OpenShift CLI (oc) 版本为最新版本,并与您的 OpenShift Container Platform 版本匹配。
    • 运行 oc login:

      $ oc login --username=<your_username>

流程

  1. 安装 Red Hat OpenShift distributed tracing 数据收集 Operator:

    1. 进入 OperatorsOperatorHub 并搜索 Red Hat OpenShift distributed tracing data collection Operator
    2. 选择 Red Hat OpenShift distributed tracing data collection Operatorprovided by Red HatInstallInstallView Operator

      重要

      这会使用默认预设置来安装 Operator:

      • Update channelstable
      • Installation modeAll namespaces on the cluster
      • Installed Namespaceopenshift-operators
      • Update approvalAutomatic
    3. 在安装的 Operator 页面的 Details 选项卡中,在 ClusterServiceVersion details 下验证安装 Status 是否为 Succeeded
  2. 通过转至 HomeProjectsCreate Project,为您在下一步中创建的 OpenTelemetry Collector 实例创建一个项目。
  3. 创建 OpenTelemetry Collector 实例。

    1. 进入 OperatorsInstalled Operators
    2. 选择 OpenTelemetry CollectorCreate OpenTelemetryCollectorYAML view
    3. YAML 视图中,使用 OTLP、Jaeger、Zipkin 接收器和日志记录导出器自定义 OpenTelemetryCollector 自定义资源(CR)。

      apiVersion: opentelemetry.io/v1alpha1
      kind: OpenTelemetryCollector
      metadata:
        name: otel
        namespace: <project_of_opentelemetry_collector_instance>
      spec:
        mode: deployment
        config: |
          receivers:
            otlp:
              protocols:
                grpc:
                http:
            jaeger:
              protocols:
                grpc:
                thrift_binary:
                thrift_compact:
                thrift_http:
            zipkin:
          processors:
            batch:
            memory_limiter:
              check_interval: 1s
              limit_percentage: 50
              spike_limit_percentage: 30
          exporters:
            logging:
          service:
            pipelines:
              traces:
                receivers: [otlp,jaeger,zipkin]
                processors: [memory_limiter,batch]
                exporters: [logging]
    4. 选择 Create

验证

  1. 运行以下命令,验证 OpenTelemetry Collector pod 的 status.phase 是否为 Running条件type: Ready

    $ oc get pod -l app.kubernetes.io/managed-by=opentelemetry-operator,app.kubernetes.io/instance=<namespace>.<instance_name> -o yaml
  2. 运行以下命令来获取 OpenTelemetry Collector 服务:

    $ oc get service -l app.kubernetes.io/managed-by=opentelemetry-operator,app.kubernetes.io/instance=<namespace>.<instance_name>

5.1.2. 其他资源