> ## Documentation Index
> Fetch the complete documentation index at: https://docs-xcor.paloaltonetworks.com/llms.txt
> Use this file to discover all available pages before exploring further.

# OTLP

> Logs, metrics, and traces ingested over the OpenTelemetry Protocol from instrumented apps.

The OTLP integration requires CXDOT Collector 1.4.0 or greater.

[OpenTelemetry Protocol (OTLP)](https://opentelemetry.io/docs/specs/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:

| Type | Supported |
| - | - |
| Logs | Yes |
| Metrics | Yes |
| Traces | Yes |
| Events | No |

## 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:

   ```yaml theme={null}
   config:
     integrations:
       otlp:
         enabled: false
   ```

### 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:

   ```text theme={null}
   count by ("service.name") ({"cxdot.integration.name"="otlp"})
   ```

   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.

## 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.


## Related topics

- [Use OpenTelemetry protocol endpoints](/ingest/metrics-traces/otel/otlp-endpoints.md)
- [Ingest DogStatsD metrics with the OpenTelemetry Collector](/ingest/metrics-traces/otel/ingest-dogstatsd.md)
- [Configure your OpenTelemetry Collector](/ingest/metrics-traces/otel/otel-ingest.md)
- [Integrate with Cortex XCOR](/integrate.md)


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.