# Splunk Observability Cloud

Splunk Observability Cloud is a real-time observability platform purpose-built for monitoring metrics, traces, and logs at scale. It ingests OpenTelemetry data and provides advanced dashboards and analytics to help teams detect and resolve performance issues quickly. This guide explains how to integrate ThousandEyes data with Splunk Observability Cloud using OpenTelemetry.

For more information about sending metrics to Splunk Observability Cloud using OpenTelemetry, see [Splunk Observability Cloud: Manage Data](https://help.splunk.com/en/splunk-observability-cloud/manage-data).

## Step 1: Create a Splunk Observability Cloud Access Token

To send data to Splunk Observability Cloud, you need an access token. Follow these steps to create a Splunk Observability Cloud access token:

1. In the Splunk Observability Cloud platform, go to **Settings > Access Token**.
2. Click **Create Token**.
3. Enter a **Name**.
4. Select **Ingest** scope
5. Select **Create** to generate your access token.
6. Copy the access token and store it securely.

   You need the access token to send telemetry data to Splunk Observability Cloud.

For more information, see [Create and manage organization access tokens using Splunk Observability Cloud](https://help.splunk.com/en/splunk-observability-cloud/administer/authentication-and-security/authentication-tokens/org-access-tokens).

## Step 2: Create an Integration

### Create an Integration Using the ThousandEyes UI

To integrate Splunk Observability Cloud with ThousandEyes, follow these steps.

1. Log in to your account on the ThousandEyes platform and go to **Manage > Integration > Integration 1.0**.
2. Click **New Integration** and select **OpenTelemetry Integration**.
3. Enter a **Name** for the integration.
4. Set the **Target** to **HTTP**.
5. Enter the **Endpoint URL** to send data in **OTLP (OpenTelemetry Protocol)** format `https://ingest.{REALM}.signalfx.com/v2/datapoint/otlp`. Replace **{REALM}** with your Splunk environment such as **us1**, **eu0**.
6. For **Preset Configuration**, select **Splunk Observability Cloud**.
7. For **Auth Type**, select **Custom**.
8. Add the following **Custom Headers**:
   * `X-SF-Token: {TOKEN}`. Enter your Splunk Observability Cloud access token created in [step 1](#step-1-create-a-splunk-observability-cloud-access-token).
   * `Content-Type`: `application/x-protobuf`.
9. For the OpenTelemetry **Signal**, select **Metric**.
10. For the **Data Model Version**, select **v2**.
11. Select a **test**. For more information on creating a test, see [General Setup Instructions](https://docs.thousandeyes.com/product-documentation/integration-guides/opentelemetry/observability-platforms#general-setup-instructions).
12. Click **Save** to complete the integration setup.

You have now successfully integrated your ThousandEyes data with Splunk Observability Cloud.

### Manage Integrations in the UI

For more information on managing OpenTelemetry integrations, including listing, editing, and deleting integrations, see [Manage Integrations Using the UI - Integrations 1.0](https://docs.thousandeyes.com/product-documentation/integration-guides/opentelemetry/manage-integrations#manage-integrations-using-the-ui-integrations-1.0).

### Create an Integration Using the ThousandEyes API

For a programmatic integration, use the following API command:

#### Using HTTP Protocol

```curl
curl -v -XPOST https://api.thousandeyes.com/v7/stream -H "Content-Type: application/json" -H "Authorization: Bearer $BEARER_TOKEN" -d '{
  "type": "opentelemetry",
  "testMatch": [{
    "id": "281474976717575",
    "domain": "cea"
  }],
  "endpointType": "http",
  "streamEndpointUrl": "https://ingest.{REALM}.signalfx.com:443/v2/datapoint/otlp",
  "customHeaders" : {
    "X-SF-Token": "{TOKEN}",
    "Content-Type": "application/x-protobuf"
  }
}'
```

#### Using gRPC Protocol

```curl
curl -v -XPOST https://api.thousandeyes.com/v7/stream -H "Content-Type: application/json" -H "Authorization: Bearer $BEARER_TOKEN" -d '{
  "type": "opentelemetry",
  "testMatch": [{
    "id": "281474976717575",
    "domain": "cea"
  }],
  "endpointType": "grpc",
  "streamEndpointUrl": "https://ingest.{REALM}.signalfx.com:443",
  "customHeaders" : {
    "X-SF-Token": "{TOKEN}",
    "Content-Type": "application/x-protobuf"
  }
}'
```

Replace `streamEndpointUrl` and `X-SF-Token` values with the correct values for your Splunk Observability Cloud instance.

## ThousandEyes Dashboard in Splunk Observability Cloud

Once the integration is set up, you can view real-time monitoring data in the ThousandEyes Network Monitoring Dashboard within Splunk Observability Cloud. The dashboard includes:

* **HTTP Server Availability (%**): Displays the availability of monitored HTTP servers.
* **HTTP Throughput (bytes/s)**: Shows the data transfer rate over time.
* **Client Request Duration (seconds)**: Measures the latency of client requests.
* **Web Page Load Completion (%)**: Indicates the percentage of successful page loads.
* **Page Load Duration (seconds)**: Displays the time taken to load pages.

![ThousandEyes Dashboard in Splunk Observability Cloud](https://1112912342-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-M4QARF6s57qxMrOHDTZ%2Fuploads%2Fgit-blob-0673ad460013145189027163aa18bcbaafebc9df%2Fsplunk-observability-cloud-thousandeyes-dashboard.png?alt=media)

You can download the dashboard template from the following link: [Download ThousandEyes Splunk Observability Cloud dashboard template](https://github.com/thousandeyes/thousandeyes-observability-dashboards/blob/main/splunk/ThousandEyesDashboard.json).


---

# Agent Instructions: Querying This Documentation

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

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://docs.thousandeyes.com/product-documentation/integration-guides/opentelemetry/observability-platforms/splunk-observability-cloud.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
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.
