Coder Social home page Coder Social logo

axiomhq / axiom-honeycomb-proxy Goto Github PK

View Code? Open in Web Editor NEW
7.0 3.0 2.0 1.29 MB

A log forwarder/multiplexer for Axiom and Honeycomb.

Home Page: https://axiom.co

License: MIT License

Go 58.55% Dockerfile 4.72% Makefile 36.74%
honeycomb honeycomb-server axiom

axiom-honeycomb-proxy's Introduction

axiom-honeycomb-proxy: Ship logs to Axiom and Honeycomb simultaneously axiom-honeycomb-proxy: Ship logs to Axiom and Honeycomb simultaneously

Documentation Go Workflow Latest Release License

Axiom unlocks observability at any scale.

  • Ingest with ease, store without limits: Axiom's next-generation datastore enables ingesting petabytes of data with ultimate efficiency. Ship logs from Kubernetes, AWS, Azure, Google Cloud, DigitalOcean, Nomad, and others.
  • Query everything, all the time: Whether DevOps, SecOps, or EverythingOps, query all your data no matter its age. No provisioning, no moving data from cold/archive to "hot", and no worrying about slow queries. All your data, all. the. time.
  • Powerful dashboards, for continuous observability: Build dashboards to collect related queries and present information that's quick and easy to digest for you and your team. Dashboards can be kept private or shared with others, and are the perfect way to bring together data from different sources.

For more information check out the official documentation and our community Discord.

Usage

There are multiple ways you can install Axiom Honeycomb Proxy:

  • With Homebrew: brew install axiomhq/tap/axiom
  • Download the pre-built binary from the GitHub Releases
  • Using Go: go install github.com/axiomhq/axiom-honeycomb-proxy/cmd/axiom@latest
  • Use the Docker image: docker run axiomhq/axiom-honeycomb-proxy

Create an api token in Settings > API Tokens with minimal privileges (ingest permission for the dataset(s) you want to ingest into) and export it as AXIOM_TOKEN.

Alternatively, if you use the Axiom CLI, run eval $(axiom config export -f) to configure your environment variables. Otherwise create a personal token in the Axiom settings and export it as AXIOM_TOKEN. Set AXIOM_ORG_ID to the organization ID from the settings page of the organization you want to access.

Run it: axiom-honeycomb-proxy or using Docker:

docker run -p8080:8080/tcp \
  -e=AXIOM_TOKEN=<YOUR_AXIOM_TOKEN> \
  axiomhq/axiom-honeycomb-proxy

Important: Honeycomb creates datasets when you push data to them. Axiom does not support this. Make sure you create the matching datasets in Axiom, first.

Point all Honeycomb related tools at the proxy deployment which accepts data on the following endpoints:

Single event requests

curl http://localhost:8080/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:8080/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"}
        }
      ]'

License

Distributed under the MIT License.

axiom-honeycomb-proxy's People

Contributors

dependabot[bot] avatar gordallott avatar lukasmalkmus avatar njpatel avatar seiflotfy avatar thecraftman avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar

axiom-honeycomb-proxy's Issues

Act like a generic proxy

  • Proxy all requests, no matter method or path
  • Multiplex ingest requests (events/batch) to Axiom
  • Do not have special paths etc - users should be able to drop-in-replace the server url with the proxy's url
  • Return the response from the upstream server, not the response from Axiom
  • Log any errors from Axiom

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.