Send data from Honeycomb to Axiom
Integrate Axiom in your existing Honeycomb stack with minimal effort and without breaking any of your existing Honeycomb workflows.
This page explains how to send data from Honeycomb-instrumented apps to Axiom. Choose the option that matches your instrumentation:
- If your apps use OpenTelemetry-based Honeycomb SDKs or distributions, point the OTLP exporter at Axiom. This is the recommended option.
- If your apps use Libhoney or Beelines, run the Axiom Honeycomb Proxy and point the SDK at the proxy.
Prerequisites
- Create an Axiom account.
- Create a dataset in Axiom where you send your data.
- Create an API token in Axiom with permissions to ingest data to the dataset you have created.
Send data with OpenTelemetry
Honeycomb recommends OpenTelemetry for instrumenting apps, and its language distributions are OpenTelemetry-based. Configure the OTLP exporter to send data to Axiom instead of Honeycomb:
- Set the endpoint to
https://AXIOM_DOMAIN. - Set the
Authorizationheader toBearer API_TOKEN. - Set the
X-Axiom-Datasetheader to the name of the Axiom dataset where you want to send data.
For configuration details and language-specific guides, see Send OpenTelemetry data to Axiom.
Send data with the Axiom Honeycomb Proxy
The Axiom Honeycomb Proxy is an open-source server that accepts Honeycomb event and batch requests and forwards them to Axiom. Use it with Libhoney and Beelines, or with any other tool that speaks the Honeycomb events API.
Install and run the proxy
- Download a release from GitHub, install it with Homebrew (
brew install axiomhq/tap/axiom-honeycomb-proxy), or use the Docker image. - Create the Axiom datasets you want to send data to. Honeycomb creates datasets when you send data to them, but Axiom doesn’t. The proxy sends data to the Axiom dataset with the same name as the Honeycomb dataset in the request.
- Set the
AXIOM_TOKENenvironment variable to an Axiom API token with ingest permission for the datasets. The proxy sends data to Axiom throughhttps://api.axiom.co. - Run the proxy. By default, it listens on port
8080and forwards each request to both Axiom and Honeycomb. Pass-bypassto send data to Axiom only.
For example, with Docker:
Configure the Honeycomb SDK
In your app, set APIHost to the address of the proxy, for example http://localhost:8080. Keep the Honeycomb API key and dataset name as they are: the proxy passes the API key through to Honeycomb when it’s not in bypass mode, and uses the dataset name to select the Axiom dataset.