An alerting engine for the numbat-powered metrics & monitoring system.
How to run
Usage: bin/run-server.js --listen localhost:3333 config.json Options: -l, --listen host:port pair to listen on [default: "0.0.0.0:3337"] --silent silence analyzer-specific logging [boolean] [default: false] --version show version information [boolean] -h, --help Show help [boolean]
An example configuration file using the provided rules is in examples/config.js.
- processing rules are duplex streams
- probably a directory full of them that gets auto-reloaded? static on startup initially, though
- rules write out actionable items (alerts, new data, etc)
- sends generated events back to any configured output
- slack messages (this is an existing output rule)
What do rules look like?
- match & act
- calculate history & act on outlier
- automatic rules (deduced rules)
Example automatic rule: heartbeats. Once a heartbeat is received from a node, a rule requiring the presence of the heartbeat is generated. This rule is removed if a graceful shutdown event from that node arrives. If the heartbeat data times out, an alert is created.
All incoming data points may have a status field. If they have a status field, this is examined for nagios-style warning levels.
Yes, please do! See our contributing guide for basic rules of engagement.