https://github.com/instrumental/statsd-instrumental-backend
StatsD Backend for Instrumental Application Monitoring
https://github.com/instrumental/statsd-instrumental-backend
Last synced: about 1 year ago
JSON representation
StatsD Backend for Instrumental Application Monitoring
- Host: GitHub
- URL: https://github.com/instrumental/statsd-instrumental-backend
- Owner: Instrumental
- License: mit
- Created: 2012-09-21T17:21:50.000Z (almost 14 years ago)
- Default Branch: master
- Last Pushed: 2020-04-14T21:56:51.000Z (about 6 years ago)
- Last Synced: 2025-04-23T00:17:59.202Z (about 1 year ago)
- Language: JavaScript
- Homepage: https://instrumentalapp.com
- Size: 111 KB
- Stars: 18
- Watchers: 11
- Forks: 2
- Open Issues: 1
-
Metadata Files:
- Readme: README.md
- Changelog: CHANGELOG.md
- License: LICENSE
Awesome Lists containing this project
README
# StatsD Instrumental Backend
## Overview
Instrumental is a [application monitoring platform](https://instrumentalapp.com) built for developers who want a better understanding of their production software. Powerful tools, like the [Instrumental Query Language](https://instrumentalapp.com/docs/query-language), combined with an exploration-focused interface allow you to get real answers to complex questions, in real-time.
This is a pluggable StatsD backend for sending metrics to Instrumental.
## Requirements
* [StatsD][statsd] versions >= 0.3.0.
* An [Instrumental](https://instrumentalapp.com) account.
## Installation
$ cd /path/to/statsd
$ npm install statsd-instrumental-backend
## Configuration
See our [example config file](exampleConfig.js) for a complete StatsD configuration.
Otherwise, add the following basic configuration information to your
StatsD config file.
```js
{
instrumental: {
key: "[project token]", // REQUIRED
secure: true, // OPTIONAL (boolean), whether or not to use secure protocol to connect to Instrumental, default true
verifyCert: true, // OPTIONAL (boolean), should we attempt to verify the server certificate before allowing communication, default true
timeout: 10000, // OPTIONAL (integer), number of milliseconds to wait for establishing a connection to Instrumental before giving up, default 10s
recordCounterRates: true, // OPTIONAL (boolean) whether or not to send ".rate" metrics with counters, default true
metricPrefix: "", // OPTIONAL (string) this will be prepended (with a dot) to ALL of your metrics
metricFiltersExclude: [], // OPTIONAL (array of regexes) any metrics matching these filters will be dropped. e.g, [/\.rate$/, /\.[^\.]*_99$/] would filter out counter rates and extra metrics for stats like upper_99, mean_99, etc.
metricFiltersInclude: [] // OPTIONAL (array of regexes) any metrics _NOT_ matching at least one of these filters will be dropped
}
}
```
### Filtering Metrics
Metrics can be filtered with either the `metricFiltersExclude` or `metricFiltersInclude` options. Note that for a metric to be sent, it must match at least one include *and* no excludes. An empty or missing metricFiltersInclude option will allow all metrics (assuming the exclusion filter does not exclude any).
## Enabling
This is already done if you are using our [example configuration](exampleConfig.js).
Otherwise, add `statsd-instrumental-backend` backend to the list of StatsD
backends in the StatsD configuration file:
```js
{
backends: ["statsd-instrumental-backend"]
}
```
Start/restart the statsd daemon and your StatsD metrics should now be
pushed to your Instrumental account.
## NPM Dependencies
None
## Development
- [Instrumental Backend](https://github.com/expectedbehavior/statsd-instrumental-backend)
Contributing:
* Fork the project
* Make your feature addition or bug fix
* Commit. Do not mess with package.json, version, or history.
* Send a pull request. Bonus points for topic branches.
[statsd]: https://github.com/etsy/statsd