https://github.com/nitro/envoymon
Gathers stats from Envoy and relays them to New Relic Insights
https://github.com/nitro/envoymon
Last synced: 10 months ago
JSON representation
Gathers stats from Envoy and relays them to New Relic Insights
- Host: GitHub
- URL: https://github.com/nitro/envoymon
- Owner: Nitro
- License: mit
- Created: 2018-04-30T15:10:34.000Z (about 8 years ago)
- Default Branch: master
- Last Pushed: 2018-05-17T12:48:50.000Z (about 8 years ago)
- Last Synced: 2025-03-22T00:15:48.570Z (about 1 year ago)
- Language: Crystal
- Size: 150 KB
- Stars: 4
- Watchers: 3
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
Envoymon
========
[](https://microbadger.com/images/gonitro/envoymon "Get your own image badge on microbadger.com")
[](https://microbadger.com/images/gonitro/envoymon "Get your own version badge on microbadger.com")
Fetches data from an Envoy `/clusters` endpoint and relays stats to New Relic
Insights via the Insights API. Keeps state between runs in memory and
calculates differences in the results so that the counters are sent up as
1 minute counters instead.
Sample New Relic Insights dashboard using data from Envoymon:

Take a look at [some example queries](nrql.md) to get started.
Configuration
-------------
If you run envoymon on the CLI, you can use command line flags to configure it.
Example help output:
```
$ ./envoymon --help
Usage: envoymon [arguments]
-h HOST, --host=HOST The Envoy hostname
-p PORT, --port=PORT The Enovy stats port
-i URL, --insights-url=URL Insights URL to report to
-k KEY, --insights-key=KEY Insights Insert key
-e ENV, --environment=ENV Runtime environment name
--help Show this help
```
If you are running the Docker container, you may configure it with the
following environment variables:
* `ENVOYMON_HOST`: The Envoy hostname
* `ENVOYMON_PORT`: The Enovy stats port
* `ENVOYMON_INSIGHTS_URL`: New Relic Insights URL to report to
* `ENVOYMON_INSIGHTS_INSERT_KEY`: New Relic Insights Insights Insert key
* `ENVOYMON_ENVIRONMENT`: A name for this environment, usually something
like 'production', 'prod', 'development', or 'staging'.
Building
--------
On a Linux host with Docker, run `./build.sh`. A container based on Alpine
Linux is the result. It will be pushed to Docker Hub automatically, tagged
with the most recent git sha.
Contributing
------------
Contributions are more than welcome. Bug reports with specific reproduction
steps are great. If you have a code contribution you'd like to make, open a
pull request with suggested code.
Pull requests should:
* Clearly state their intent in the title
* Have a description that explains the need for the changes
* Include tests!
* Not break the public API
Ping us to let us know what you're working on by opening a GitHub Issue on the
project.
Copyright (c) 2018 Nitro Software