# Honeycomb Refinery

### Description

Sends logs and traces to [Honeycomb Refinery](https://docs.honeycomb.io/manage-data-volume/sample/honeycomb-refinery/).

### Prerequisites

This destination requires network access to a [Honeycomb Refinery](https://docs.honeycomb.io/manage-data-volume/sample/honeycomb-refinery/) deployment.

If refinery is configured to forward telemetry to Honeycomb.io, an API key is required. The API key should have "Send Events" and "Create Dataset" permissions.

See the [Honeycomb Refinery](https://docs.honeycomb.io/manage-data-volume/sample/honeycomb-refinery/) and [Honeycomb quick start guide](https://docs.honeycomb.io/get-started/start-building/application/traces/) for more information.

### Supported Types

| Logs | Metrics | Traces | Bindplane Collector |
| ---- | ------- | ------ | ------------------- |
| ✓    |         | ✓      | `v1.60.0`+          |

### Configuration

<table><thead><tr><th width="274.24609375">Field</th><th>Description</th></tr></thead><tbody><tr><td>Choose Telemetry Type</td><td>The kind of telemetry that should be sent to Honeycomb.</td></tr><tr><td>Hostname</td><td>Hostname or IP address where the exporter will send OTLP data.</td></tr><tr><td>Port</td><td>TCP port to which the exporter is going to send OTLP data.</td></tr><tr><td>API Key</td><td>The API key to use for sending telemetry to Honeycomb. Make sure the key has the "Send Events" permission. If the provided dataset(s) do not exist, use the "Create Dataset" permission as well. See this <a href="https://docs.honeycomb.io/configure/environments/manage-api-keys/">Honeycomb documentation</a> for more.</td></tr><tr><td>Compression</td><td>Compression algorithm to use when sending data to Honeycomb. Available options are <code>none</code> or <code>gzip</code>.</td></tr><tr><td>Enable TLS</td><td>Whether or not to use TLS.</td></tr><tr><td>Skip TLS Certificate Verification</td><td>Enable to skip TLS certificate verification.</td></tr><tr><td>TLS Certificate Authority File</td><td>Certificate authority used to validate TLS certificates.</td></tr><tr><td>Server Name Override</td><td>Optional virtual hostname. Indicates the name of the server requested by the client. This option is generally not required. Read more <a href="https://github.com/open-telemetry/opentelemetry-collector/blob/main/config/configtls/README.md#client-configuration">here</a>.</td></tr><tr><td>Mutual TLS</td><td>Whether or not to use mutual TLS authentication.</td></tr><tr><td>Mutual TLS Client Certificate File</td><td>A TLS certificate used for client authentication.</td></tr><tr><td>Mutual TLS Client Private Key File</td><td>A TLS private key used for client authentication.</td></tr></tbody></table>

This destination supports the [retry settings](https://docs.bindplane.com/configuration/bindplane-otel-collector/retry-on-failure), the [sending queue settings](https://docs.bindplane.com/configuration/bindplane-otel-collector/sending-queue), and the [persistent queue settings.](https://docs.bindplane.com/configuration/bindplane-otel-collector/persistent-queue)

| Sending Queue | Persistent Queue | Retry on Failure |
| ------------- | ---------------- | ---------------- |
| ✓             | ✓                | ✓                |

### Honeycomb Datasets

Your Refinery server can be configured to route telemetry to specific Honeycomb datasets, however,\
Refinery will respect the `service.name` resource field when determining which dataset the telemetry\
should belong to.

You can route telemetry to datasets dynamically by using the [Add Fields](https://docs.bindplane.com/integrations/processors/add-fields) processor to set `service.name` resource field.

### Example Configuration

**Web Interface**

<figure><img src="https://1405008107-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FgmiOMzBfoNFwmKJFHMcJ%2Fuploads%2Fgit-blob-52bc25521d21f0a527859cf53b39e88db1e5a8fb%2Fintegrations-destinations-honeycomb-refinery-image-1.png?alt=media" alt="Bindplane docs - Honeycomb Refinery - image 1"><figcaption></figcaption></figure>

**Standalone Destination**

```yaml
apiVersion: bindplane.observiq.com/v1
kind: Destination
metadata:
  name: honeycomb-refinery
spec:
  type: honeycomb_refinery_otlp
  parameters:
    - name: telemetry_types
      value: ['Logs', 'Traces']
    - name: hostname
      value: refinery.default.svc.cluster.local
    - grpc_port:
      value: 4317
    - name: api_key
      value: your_api_key
    - name: compression
      value: gzip
```


---

# 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.bindplane.com/integrations/destinations/honeycomb-refinery.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.
