> For the complete documentation index, see [llms.txt](https://docs.bindplane.com/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.bindplane.com/integrations/destinations/arize-ax.md).

# Arize AX

Sends traces to Arize AX over OTLP, authenticated with your space's API key and Space ID.

### Supported Telemetry Types

| Platform           | Metrics | Logs | Traces |
| ------------------ | ------- | ---- | ------ |
| Linux              |         |      | ✓      |
| Windows            |         |      | ✓      |
| macOS              |         |      | ✓      |
| Kubernetes Node    |         |      | ✓      |
| Kubernetes Cluster |         |      | ✓      |
| Kubernetes Gateway |         |      | ✓      |
| OpenShift Node     |         |      | ✓      |
| OpenShift Cluster  |         |      | ✓      |
| OpenShift Gateway  |         |      | ✓      |

### Prerequisites

* An Arize AX space. Its Space ID and an API key are on the space's Settings page.
* Outbound TLS access from the collector to your region's OTLP endpoint on port 443.

### Configuration

#### Basic Configuration

<figure><img src="https://1405008107-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FgmiOMzBfoNFwmKJFHMcJ%2Fuploads%2Fgit-blob-91365b134f73165b70d7b9af9cd96cf76a5a9929%2Fintegrations-destinations-arize-ax-image-1.png?alt=media" alt="Bindplane docs - Arize AX - image 1"><figcaption></figcaption></figure>

| Parameter                      | Type             | Required | Default        | Description                                                                                                                                                                                                                                                                                        |
| ------------------------------ | ---------------- | -------- | -------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| Endpoint                       | Enum (creatable) | Yes      | otlp.arize.com | The OTLP endpoint for your Arize region: otlp.arize.com, otlp.ca-central-1a.arize.com, otlp.eu-west-1a.arize.com, otlp.us-central-1a.arize.com, or otlp.us-east-1b.arize.com. Type a hostname Arize gives you if your region isn't listed. Enter the hostname only, with no scheme, port, or path. |
| Protocol                       | Enum: gRPC, HTTP | No       | gRPC           | The OTLP protocol. gRPC connects to `<endpoint>:443`, and HTTP sends to `https://<endpoint>/v1/traces`.                                                                                                                                                                                            |
| API Key                        | String           | Yes      | *(empty)*      | The Arize AX API key, sent in the `authorization` header. Sensitive value.                                                                                                                                                                                                                         |
| Space ID                       | String           | Yes      | *(empty)*      | The space that receives the traces, sent in the `arize-space-id` header.                                                                                                                                                                                                                           |
| Project Name                   | String           | No       | *(empty)*      | The Arize AX project the traces land in. Sets the `openinference.project.name` resource attribute. Leave blank to keep whatever project name the application already sets.                                                                                                                         |
| Override Existing Project Name | Boolean          | No       | false          | Replace a project name the application already set. When off, the project name only fills in traces that lack one. Shown when Project Name is set.                                                                                                                                                 |

#### TLS

TLS is always on, since Arize AX requires it.

| Parameter                         | Type    | Required | Default   | Description                                                                                                 |
| --------------------------------- | ------- | -------- | --------- | ----------------------------------------------------------------------------------------------------------- |
| Skip TLS Certificate Verification | Boolean | No       | false     | Skip verification of the server's certificate. Not recommended.                                             |
| TLS Certificate Authority File    | String  | No       | *(empty)* | A CA file used to validate the server's certificate, for networks that re-sign TLS traffic through a proxy. |

#### Advanced

| Parameter          | Type             | Required | Default   | Description                                                                                                                                                      |
| ------------------ | ---------------- | -------- | --------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| Compression        | Enum: none, gzip | No       | gzip      | Compression applied to each request.                                                                                                                             |
| Timeout (Seconds)  | Integer          | No       | 30        | Seconds to wait for each send to complete.                                                                                                                       |
| Additional Headers | Map              | No       | *(empty)* | Extra headers attached to each request. The `authorization`, `arize-space-id`, and `arize-interface` headers are set by the destination and can't be added here. |

#### Supported Retry and Queuing Settings

These settings are on the Delivery tab.

| Parameter                  | Type      | Required | Default | Description                                                                                                             |
| -------------------------- | --------- | -------- | ------- | ----------------------------------------------------------------------------------------------------------------------- |
| Enable Batching            | Boolean   | No       | true    | Batch spans before sending.                                                                                             |
| Send Batch Size            | Integer   | Yes      | 512     | Spans per batch that trigger a send, even before the timeout. Shown when batching is enabled.                           |
| Send Batch Max Size        | Integer   | Yes      | 512     | The largest batch sent. Larger batches are split. Shown when batching is enabled.                                       |
| Batch Timeout              | Duration  | Yes      | 5s      | Time after which a batch is sent, even if it isn't full. Shown when batching is enabled.                                |
| Enable Retry on Failure    | Boolean   | No       | true    | Resend traces that failed to send.                                                                                      |
| Initial Interval (Seconds) | Integer   | No       | 5       | Seconds to wait after the first failure before retrying. Shown when retry is enabled.                                   |
| Max Interval (Seconds)     | Integer   | No       | 30      | Upper bound, in seconds, on retry backoff. Shown when retry is enabled.                                                 |
| Max Elapsed Time (Seconds) | Integer   | No       | 300     | Seconds spent retrying a batch before giving up. Shown when retry is enabled.                                           |
| Enable Sending Queue       | Boolean   | No       | true    | Buffer traces in memory so a short network outage doesn't drop them.                                                    |
| Number of Consumers        | Integer   | No       | 10      | Consumers that send batches from the queue. Shown when the sending queue is enabled.                                    |
| Queue Size                 | Integer   | No       | 1000    | Batches kept in memory before new ones are dropped. Shown when the sending queue is enabled.                            |
| Enable Persistent Queuing  | Boolean   | No       | true    | Buffer traces on disk so they survive network outages and collector restarts. Shown when the sending queue is enabled.  |
| Persistent Queue Storage   | Extension | Yes      | Pebble  | The storage extension that holds the persistent queue. Shown when the sending queue and persistent queuing are enabled. |

### Examples

#### Send to the EU region over HTTP

<figure><img src="https://1405008107-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FgmiOMzBfoNFwmKJFHMcJ%2Fuploads%2Fgit-blob-649123d8061e83d1627f5340ba0704c1e73f8d03%2Fintegrations-destinations-arize-ax-image-2.png?alt=media" alt="Bindplane docs - Arize AX - image 2"><figcaption></figcaption></figure>

Use HTTP when a proxy or firewall between the collector and Arize doesn't pass gRPC.

#### Force every trace into one project

<figure><img src="https://1405008107-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FgmiOMzBfoNFwmKJFHMcJ%2Fuploads%2Fgit-blob-f31d5a9ad893ff51dce63a0605598050d8f326fc%2Fintegrations-destinations-arize-ax-image-3.png?alt=media" alt="Bindplane docs - Arize AX - image 3"><figcaption></figcaption></figure>

Applications instrumented with Arize or OpenInference often set their own project name. Enable Override Existing Project Name to send everything from this pipeline to the project you choose.

### Configuration Tips

#### Batch Size

* LLM spans carry prompts and completions, so they're much larger than typical spans. The 512-span default matches what Arize's own SDK sends. Raise it carefully.

#### Project Name

* Project Name sets the `openinference.project.name` resource attribute, which Arize AX uses to pick the project a trace lands in.
* With Override Existing Project Name off, applications that set their own project name keep it, and the rest go to the project configured here.

### Troubleshooting

#### Traces don't appear in Arize AX

Symptoms: The collector reports no errors, but no traces show up in the space.

Solutions:

1. Confirm the Endpoint is the one for your space's region.
2. Check the project. With Project Name blank, traces land in the project the application set.

#### Authentication errors

Symptoms: The collector logs show the endpoint rejecting requests as unauthenticated or unauthorized.

Solutions:

1. Copy the API Key and Space ID again from the space's Settings page.
2. Confirm the API key belongs to the same space as the Space ID.

### Standalone Destination

```yaml
apiVersion: bindplane.observiq.com/v1
kind: Destination
metadata:
  name: arize-ax
spec:
  type: arize_ax
  parameters:
    - name: endpoint
      value: otlp.arize.com
    - name: api_key
      value: REPLACE_WITH_API_KEY
    - name: space_id
      value: REPLACE_WITH_SPACE_ID
    - name: project_name
      value: my-llm-app
```

### Related Resources

* [Arize AX: OpenTelemetry (arize-otel)](https://arize.com/docs/ax/integrations/opentelemetry/opentelemetry-arize-otel)
* [OTLP Exporter (otlpexporter) reference](https://github.com/open-telemetry/opentelemetry-collector/blob/main/exporter/otlpexporter/README.md)
* [OTLP HTTP Exporter (otlphttpexporter) reference](https://github.com/open-telemetry/opentelemetry-collector/blob/main/exporter/otlphttpexporter/README.md)


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation by asking a question.

Perform an HTTP GET request on the following URL with the `ask` and `goal` query parameters:

```
GET https://docs.bindplane.com/integrations/destinations/arize-ax.md?ask=<question>&goal=<user_goal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is what the user is ultimately trying to achieve, the reason they need the answer. Sharing it helps GitBook give you a better, more relevant answer. A goal is most helpful when it describes the outcome the user wants rather than restating the question. For example, with `ask=how do I create an API token`, a goal like `automate deployments from our CI pipeline` lets GitBook tailor the answer to that use case.

The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
