Skip to main content
The OTLP integration requires CXDOT Collector 1.4.0 or greater. OpenTelemetry Protocol (OTLP) is OpenTelemetry’s vendor-neutral protocol for transmitting metrics, logs, and traces. Use the OTLP CXDOT Collector integration to ingest telemetry from instrumented apps with the CXDOT collector.

Supported telemetry types

The OTLP CXDOT Collector integration supports these telemetry types:

Prerequisites

The OTLP CXDOT Collector integration has the following prerequisites:
  • Instrument your apps with an OpenTelemetry SDK or another client that exports OTLP over gRPC or HTTP.
  • Configure network access from your apps to an OTLP endpoint that the CXDOT collector serves.

Configure

The OTLP CXDOT Collector integration is enabled by default. To configure it, follow these steps:
  1. Configure each app’s OTLP exporter endpoint. When the CXDOT collector runs as a DaemonSet with host networking, use the node’s host IP so the app sends to the collector on the same node. Send OTLP over gRPC on port 4317 or HTTP on port 4318. If you use the admission controller for routing, add the admission.cxdot.paloaltonetworks.com/enabled: "true" label to each app’s pod template and recreate existing pods.
  2. Optional: Disable OTLP ingest. For example, add the following to the values.yaml for your Helm chart:

Validate

To validate the OTLP CXDOT Collector integration, follow these steps:
  1. Generate telemetry from an instrumented app, including any metrics, logs, and traces the app exports.
  2. In Live Telemetry Analyzer, filter for cxdot.integration.name=otlp. Confirm that the metric names from your app appear.
  3. In Metrics Explorer, run the following query:
    Confirm that the query returns the expected time series for each instrumented service.
  4. In Trace Explorer, filter for cxdot.integration.name=otlp. Confirm that traces from the generated traffic appear with the expected service name and spans.
For more information about diagnosing a failing integration, see Troubleshooting.

Configuration reference

Configure one OTLP integration instance with the following settings. In Helm values, place these settings under config.integrations.otlp. In a Collector configuration file, place them under cxdot.integrations.otlp.

Optional settings

  • enabled Type: boolean. Optional. Default: true. Whether to enable this OTLP integration instance. If true, the Collector accepts OTLP telemetry on the configured endpoints. If false, the Collector doesn’t run this integration instance.
  • grpc Type: object. Optional. Settings for receiving telemetry over OTLP/gRPC.
  • grpc.endpoint Type: string. Optional. Default: 0.0.0.0:4317. Network address and port where the Collector accepts OTLP/gRPC connections. Use an address in host:port format.
  • grpc.max_connection_age Type: duration. Optional. Default: 30m. Maximum time that an OTLP/gRPC connection remains open before the client reconnects. Periodic reconnection helps distribute clients across Collector replicas behind a load-balancing service.
  • http Type: object. Optional. Settings for receiving telemetry over OTLP/HTTP.
  • http.endpoint Type: string. Optional. Default: 0.0.0.0:4318. Network address and port where the Collector accepts OTLP/HTTP connections. Use an address in host:port format.