Axiom Honeycomb Proxy ships logs to Axiom and Honeycomb simultaneously.

Axiom Honeycomb Proxy

Go Workflow Coverage Status Go Report Latest Release License Docker


Table of Contents

  1. Introduction
  2. Usage
  3. Contributing
  4. License

Introduction

Axiom Honeycomb Proxy ships logs to Axiom and Honeycomb simultaneously.

Installation

Download the pre-compiled and archived binary manually

Binary releases are available on GitHub Releases.

Install using Homebrew

brew tap axiomhq/tap
brew install axiom-honeycomb-proxy

To update:

brew update
brew upgrade axiom-honeycomb-proxy

Install using go get

go get -u github.com/axiomhq/axiom-honeycomb-proxy/cmd/axiom-honeycomb-proxy

Install from source

git clone https://github.com/axiomhq/axiom-honeycomb-proxy.git
cd axiom-honeycomb-proxy
make install

Run the Docker image

Docker images are available on DockerHub.

Usage

  1. Set the following environment variables:
  • AXIOM_TOKEN: Personal Access or Ingest token. Can be created under Profile or Settings > Ingest Tokens. For security reasons it is advised to use an Ingest Token with minimal privileges only.

When using Axiom Selfhost:

  • AXIOM_URL: URL of the Axiom deployment to use.
  1. Run it: ./axiom-honeycomb-proxy or using Docker:
docker run -p8080:8080/tcp \
  -e=AXIOM_TOKEN=<YOUR_AXIOM_TOKEN> \
  axiomhq/axiom-honeycomb-proxy
  1. Point all Honeycomb related tools at the proxy deployment.

Request format

Single event requests

" \ -H "X-Honeycomb-Event-Time: 2018-02-09T02:01:23.115Z" \ -d '{"method":"GET","endpoint":"/foo","shard":"users","dur_ms":32}' ">
curl http://localhost:3111/honeycomb/v1/events/<DATASET> -X POST \
  -H "X-Honeycomb-Team: " \
  -H "X-Honeycomb-Event-Time: 2018-02-09T02:01:23.115Z" \
  -d '{"method":"GET","endpoint":"/foo","shard":"users","dur_ms":32}'

Event batch requests

" \ -d '[ { "time":"2018-02-09T02:01:23.115Z", "data":{"key1":"val1","key2":"val2"} }, { "data":{"key3":"val3"} } ]' ">
curl  http://localhost:3111/honeycomb/v1/batch/<DATASET> -X POST \
  -H "X-Honeycomb-Team: " \
  -d '[
        {
          "time":"2018-02-09T02:01:23.115Z",
          "data":{"key1":"val1","key2":"val2"}
        },
        {
          "data":{"key3":"val3"}
        }
      ]'

Note

Honeycomb creates datasets when you push data to them. Axiom does not support that (yet). Make sure you create the matching datasets on the Axiom side, first.

Contributing

Feel free to submit PRs or to fill issues. Every kind of help is appreciated.

Before committing, make should run without any issues.

Kindly check our Contributing guide on how to propose bugfixes and improvements, and submitting pull requests to the project.

License

© Axiom, Inc., 2021

Distributed under MIT License (The MIT License).

See LICENSE for more information.

Similar Resources

Telemetry interfaces for logs and metrics allowing complete decoupling of instrumentation implementations.

Telemetry This package provides a set of Telemetry interfaces allowing you to completely decouple your libraries and packages from Logging and Metrics

Aug 9, 2022

A CLI tool to get Certificate Transparency logs of a domain name.

A CLI tool to get Certificate Transparency logs of a domain name.

crt crt is a CLI tool to get Certificate Transparency logs of a domain name. It can also enumerate subdomains. Installation If you have Go installed:

Dec 17, 2022

A tool for capturing newly issued x.509 from Certificate Transparency logs & performing periodic revocation checking.

ct-logster This repository contains the tools for collecting newly issued x509 certificates from Certificate Transparency logs, as well as performing

May 4, 2022

Transparent TLS and HTTP proxy serve and operate on all 65535 ports, with domain regex whitelist and rest api control

goshkan Transparent TLS and HTTP proxy serve & operating on all 65535 ports, with domain regex whitelist and rest api control tls and http on same por

Nov 5, 2022

:alarm_clock: :fire: A TCP proxy to simulate network and system conditions for chaos and resiliency testing

:alarm_clock: :fire: A TCP proxy to simulate network and system conditions for chaos and resiliency testing

Toxiproxy Toxiproxy is a framework for simulating network conditions. It's made specifically to work in testing, CI and development environments, supp

Jan 7, 2023

Smocker is a simple and efficient HTTP mock server and proxy.

Smocker is a simple and efficient HTTP mock server and proxy.

Smocker (server mock) is a simple and efficient HTTP mock server. The documentation is available on smocker.dev. Table of contents Installation With D

Jan 7, 2023

It is a proxy to improve article readability, a directory for your favorite articles, and a way to make the internet lighter and more accessible.

timoneiro It is a work in progress. Some features are unimplemented yet. The helmsman's goal is to be a way to browse articles without all the distrac

Jun 13, 2022

Toxiproxy - A TCP proxy to simulate network and system conditions for chaos and resiliency testing

Toxiproxy - A TCP proxy to simulate network and system conditions for chaos and resiliency testing

Toxiproxy is a framework for simulating network conditions. It's made specifically to work in testing, CI and development environments, supp

Nov 3, 2021
An experimental Tor-Proxy serivce written in Go using Go-proxy and Go-libtor.

tor-proxy An experimental standalone tor-proxy service built with Go, using go-proxy, go-libtor and bine. This is a simple replacement to Tor's origin

Nov 9, 2022
IP2Proxy Go package allows users to query an IP address to determine if it was being used as open proxy, web proxy, VPN anonymizer and TOR exits.

IP2Proxy Go Package This package allows user to query an IP address if it was being used as VPN anonymizer, open proxies, web proxies, Tor exits, data

Sep 15, 2022
Battlesnake-logging-proxy - A little proxy between the internet and your battlesnake

battlesnake-logging-proxy a little proxy between the internet and your battlesna

Feb 11, 2022
mt-multiserver-proxy is a reverse proxy designed for linking multiple Minetest servers together

mt-multiserver-proxy mt-multiserver-proxy is a reverse proxy designed for linking multiple Minetest servers together. It is the successor to multiserv

Nov 17, 2022
A simple tool to convert socket5 proxy protocol to http proxy protocol

Socket5 to HTTP 这是一个超简单的 Socket5 代理转换成 HTTP 代理的小工具。 如何安装? Golang 用户 # Required Go 1.17+ go install github.com/mritd/s2h@master Docker 用户 docker pull m

Jan 2, 2023
Tcp-proxy - A dead simple reverse proxy server.

tcp-proxy A proxy that forwords from a host to another. Building go build -ldflags="-X 'main.Version=$(git describe --tags $(git rev-list --tags --max

Jan 2, 2022
Proxy - Minimalistic TCP relay proxy.

Proxy Minimalistic TCP relay proxy. Installation ensure you have go >= 1.17 installed clone the repo cd proxy go install main.go Examples Listen on po

May 22, 2022
Http-logging-proxy - A HTTP Logging Proxy For Golang

http-logging-proxy HTTP Logging Proxy Description This project builds a simple r

Aug 1, 2022
Watch for interesting patterns in Caddy logs and send a Telegram notification.

Watch for interesting patterns in Caddy logs and send a Telegram notification.

Jul 21, 2022