# Honeycomb

Honeycomb is an observability platform designed for high-cardinality and high-dimensional analysis. This enables deep debugging of complex systems to help teams quickly identify and resolve issues. This guide explains how to integrate ThousandEyes metrics with Honeycomb using OpenTelemetry.

For more information about sending metrics to Honeycomb using OpenTelemetry, see [Honeycomb: Send Data with OpenTelemetry](https://docs.honeycomb.io/send-data/opentelemetry/collector/).

## Prerequisites

* You have [created a ThousandEyes test](https://docs.thousandeyes.com/product-documentation/integration-guides/opentelemetry/observability-platforms#create-a-test).
* You have created a Honeycomb environment.
  1. In the Honeycomb platform, go to **Manage Data** > **Environments**.
  2. Click **Create Environment**.
  3. Enter a **Name** and **Description** for your environment.
  4. Click **Create Environment**.
* You have retrieved your Honeycomb API key.
  1. Click the newly created environment.
  2. Click **API Keys > Configuration**.
  3. Copy the **API Key** to use it to send telemetry data to Honeycomb.

## Stream OpenTelemetry Metrics to Honeycomb

### Step 1: Create a Metrics Integration

#### Using the ThousandEyes UI

1. In ThousandEyes, go to **Integrations > Integration 1.0**.
2. Click **New Integration** and select **OpenTelemetry Integration**.
3. Enter a **Name** for the integration.
4. Set the **Target** to **GRPC**.

   Honeycomb supports both **HTTP** and **GRPC**
5. Enter the **Endpoint URL**.
6. For **Preset Configurations**, select **Honeycomb**.
7. For **Auth Type**, select **Custom**.
8. Add the following **Custom Headers**:
   * **X-Honeycomb-Team**: Enter your Honeycomb API key.
   * **X-Honeycomb-Dataset**: Enter your **Environment Name** as the **Dataset value**.
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**.

#### 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://api.honeycomb.io:443/v1/metrics",
  "customHeaders" : {
    "x-honeycomb-team": "{API_KEY}",
    "x-honeycomb-dataset": "{ENVIRONMENT_NAME}"
  }
}'
```

**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://api.honeycomb.io:443",
    "customHeaders": {
      "x-honeycomb-team": "{API_KEY}",
      "x-honeycomb-dataset": "{ENVIRONMENT_NAME}"
    }
  }'
  }
}'
```

Replace `{API_KEY}` and `{ENVIRONMENT_NAME}` with the correct values for your instance.

### ThousandEyes Dashboard in Honeycomb

1. In Honeycomb, select your **Environment**.
2. Open the **Query Builder**.
3. Select a ThousandEyes metric dataset and apply filters.

![ThousandEyes Dashboard in Honeycomb](https://1112912342-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-M4QARF6s57qxMrOHDTZ%2Fuploads%2Fgit-blob-31bce7d21ecc9008d4eab36a430af0f57e8f56d8%2Fhoneycomb-thousandeyes-dashboard.png?alt=media)

## Stream OpenTelemetry Traces to Honeycomb

### Step 1: Create a Traces Integration

#### Using the ThousandEyes UI

1. In ThousandEyes, go to **Integrations > Integration 1.0**.
2. Click **New Integration** and select **OpenTelemetry Integration**.
3. Enter a **Name** for the integration.
4. Set the **Target** to **GRPC**.

   Honeycomb supports both **HTTP** and **GRPC**
5. Enter the **Endpoint URL**.
6. For **Preset Configurations**, select **Honeycomb**.
7. For **Auth Type**, select **Custom**.
8. Add the following **Custom Headers**:
   * **X-Honeycomb-Team**: Enter your Honeycomb API key.
   * **X-Honeycomb-Dataset**: Enter your **Environment Name** as the **Dataset value**.
9. For the OpenTelemetry **Signal**, select **Trace**.
10. 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).
11. Click **Save**.

#### 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",
    "signal": "trace",
    "streamEndpointUrl": "https://api.honeycomb.io:443/v1/traces",
    "customHeaders": {
      "x-honeycomb-team": "{API_KEY}",
      "x-honeycomb-dataset": "{ENVIRONMENT_NAME}"
    }
}'
```

**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",
    "signal": "trace",
    "streamEndpointUrl": "https://api.honeycomb.io:443",
    "customHeaders": {
      "x-honeycomb-team": "{API_KEY}",
      "x-honeycomb-dataset": "{ENVIRONMENT_NAME}"
    }
}'
```

Replace `{API_KEY}` and `{ENVIRONMENT_NAME}` with the correct values for your instance.

### Step 2: Visualize Traces in Honeycomb

1. In Honeycomb, select your **Environment**.
2. Open the **Query Builder**.
3. Select a ThousandEyes trace dataset and apply filters.

![ThousandEyes Traces in Honeycomb](https://1112912342-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-M4QARF6s57qxMrOHDTZ%2Fuploads%2Fgit-blob-92ded5a035c70f3cff8eded48d916e4dfa754ec2%2Fhoneycomb-traces.png?alt=media)

## Stream OpenTelemetry Logs to Honeycomb

### Step 1: Create a Logs Integration

#### Using the ThousandEyes UI

1. In ThousandEyes, go to **Integrations > Integration 1.0**.
2. Click **New Integration** and select **OpenTelemetry Integration**.
3. Enter a **Name** for the integration.
4. Set the **Target** to **GRPC**.

   Honeycomb supports both **HTTP** and **GRPC**
5. Enter the **Endpoint URL**.
6. For **Preset Configurations**, select **Honeycomb**.
7. For **Auth Type**, select **Custom**.
8. Add the following **Custom Headers**:
   * **X-Honeycomb-Team**: Enter your Honeycomb API key.
   * **X-Honeycomb-Dataset**: Enter your **Environment Name** as the **Dataset value**.
9. For the OpenTelemetry **Signal**, select **Log**.
10. 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).
11. Click **Save**.

#### 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",
    "endpointType": "http",
    "signal": "log",
    "streamEndpointUrl": "https://api.honeycomb.io:443/v1/logs",
    "customHeaders": {
      "x-honeycomb-team": "{API_KEY}",
      "x-honeycomb-dataset": "{ENVIRONMENT_NAME}"
    }
}'
```

**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",
    "endpointType": "grpc",
    "signal": "log",
    "streamEndpointUrl": "https://api.honeycomb.io:443",
    "customHeaders": {
      "x-honeycomb-team": "{API_KEY}",
      "x-honeycomb-dataset": "{ENVIRONMENT_NAME}"
    }
}'
```

Replace `{API_KEY}` and `{ENVIRONMENT_NAME}` with the correct values for your instance.

### Step 2: Visualize Logs in Honeycomb

1. In Honeycomb, select your **Environment**.
2. Open the **Query Builder**.
3. Select a ThousandEyes log dataset and apply filters.

![ThousandEyes Logs in Honeycomb](https://1112912342-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-M4QARF6s57qxMrOHDTZ%2Fuploads%2Fgit-blob-7238af2d367c2a445914e6bd4e868fc2db4464d7%2Fhoneycomb-logs.png?alt=media)


---

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