axiomhoneycombproxy

package module
v0.1.0 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Jul 19, 2021 License: MIT Imports: 0 Imported by: 0

README

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 simultaniously.

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_DEPLOYMENT_URL: URL of the Axiom deployment to use
  • AXIOM_ACCESS_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.
  1. Run it: ./axiom-honeycomb-proxy or using docker:
docker run -p3111:3111/tcp \
  -e=AXIOM_DEPLOYMENT_URL=<AXIOM_DEPLOYMENT_URL> \
  -e=AXIOM_ACCESS_TOKEN=<AXIOM_ACCESS_TOKEN> \
  axiomhq/axiom-honeycomb-proxy
  1. Point all Honeycomb related tools at the proxy deployment.
Request format
Single event requests
curl http://localhost:3111/honeycomb/v1/events/<DATASET> -X POST \
  -H "X-Honeycomb-Team: <YOUR-HONEYCOMB-KEY>" \
  -H "X-Honeycomb-Event-Time: 2018-02-09T02:01:23.115Z" \
  -d '{"method":"GET","endpoint":"/foo","shard":"users","dur_ms":32}'
Event batch requests
curl  http://localhost:3111/honeycomb/v1/batch/<DATASET> -X POST \
  -H "X-Honeycomb-Team: <YOUR-HONEYCOMB-KEY>" \
  -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.

Documentation

Overview

Package axiomhoneycombproxy implements a Honeycomb compatible multiplexer that pushes logs to Axiom and Honeycomb.

Directories

Path Synopsis
cmd

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL