×

The Red Hat OpenShift distributed tracing data collection Operator is a Technology Preview feature only. Technology Preview features are not supported with Red Hat production service level agreements (SLAs) and might not be functionally complete. Red Hat does not recommend using them in production. These features provide early access to upcoming product features, enabling customers to test functionality and provide feedback during the development process.

For more information about the support scope of Red Hat Technology Preview features, see Technology Preview Features Support Scope.

Installing the distributed tracing data collection involves the following steps:

  1. Installing the Red Hat OpenShift distributed tracing data collection Operator.

  2. Creating a namespace for an OpenTelemetry Collector instance.

  3. Creating an OpenTelemetryCollector custom resource to deploy the OpenTelemetry Collector instance.

Installing the distributed tracing data collection from the web console

You can install the distributed tracing data collection from the Administrator view of the web console.

Prerequisites
  • You are logged in to the web console as a cluster administrator with the cluster-admin role.

  • For Red Hat OpenShift Dedicated, you must be logged in using an account with the dedicated-admin role.

  • An active OpenShift CLI (oc) session by a cluster administrator with the cluster-admin role.

    • Ensure that your OpenShift CLI (oc) version is up to date and matches your OpenShift Container Platform version.

    • Run oc login:

      $ oc login --username=<your_username>
Procedure
  1. Install the Red Hat OpenShift distributed tracing data collection Operator:

    1. Go to OperatorsOperatorHub and search for Red Hat OpenShift distributed tracing data collection Operator.

    2. Select the Red Hat OpenShift distributed tracing data collection Operator that is provided by Red HatInstallInstallView Operator.

      This installs the Operator with the default presets:

      • Update channelstable

      • Installation modeAll namespaces on the cluster

      • Installed Namespaceopenshift-operators

      • Update approvalAutomatic

    3. In the Details tab of the installed Operator page, under ClusterServiceVersion details, verify that the installation Status is Succeeded.

  2. Create a project of your choice for the OpenTelemetry Collector instance that you will create in the next step by going to HomeProjectsCreate Project.

  3. Create an OpenTelemetry Collector instance.

    1. Go to OperatorsInstalled Operators.

    2. Select OpenTelemetry CollectorCreate OpenTelemetryCollectorYAML view.

    3. In the YAML view, customize the OpenTelemetryCollector custom resource (CR) with the OTLP, Jaeger, Zipkin receiver, and logging exporter.

      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. Select Create.

Verification
  1. Verify that the status.phase of the OpenTelemetry Collector pod is Running and the conditions are type: Ready by running the following command:

    $ oc get pod -l app.kubernetes.io/managed-by=opentelemetry-operator,app.kubernetes.io/instance=<namespace>.<instance_name> -o yaml
  2. Get the OpenTelemetry Collector service by running the following command:

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