Anomalies detection system for periodic metrics.
- Designed for periodic metrics.
- Easy to get started.
- Automatically anomalies detection.
- Alerting rules admin panels.
- Detection result visualization.
- Built for a large quantity of metrics.
- Run
make
. - Run
./banshee -c <path/to/config.json>
.
The default configuration is exampleConfig.json.
-
Install
statsd-banshee
on the statsd servers:npm install statsd-banshee
. -
Add module
statsd-banshee
to statsd's backends:{ , backends: ['statsd-banshee'] , bansheeHost: 'localhost' , bansheePort: 2015 }
Very simple line-based:
<Name> <Timestamp> <Value>\n
For example:
$ telnet 0.0.0.0 2015 18 ↵ (go1.5.2 node@v5.0.0)
Trying 0.0.0.0...
Connected to 0.0.0.0.
Escape character is '^]'.
counter.foo 1451471948 3.14
-
Anomalies detection: 3-sigma.
if abs(v-avg) > 3*stdev: return True # anomaly
-
Metric trendings following: ewma and ewms:
avg_old = avg avg = avg*(1-f) + v*f stdev = sqrt((1-f)*stdev*stdev + f*(v-avg_old)*(v-avg))
MIT Copyright (c) 2015 - 2016 Eleme, Inc.