dashboard/alert/monitor for the numbat-powered metrics system
JavaScript
Switch branches/tags

README.md

numbat-analyzer

An alerting engine for the numbat-powered metrics & monitoring system.

npm Tests Coverage Dependencies

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

Outgoing integrations:

  • pagerduty
  • slack messages (this is an existing output rule)

What do rules look like?

  • match & act
  • calculate history & act on outlier
  • presence-required
  • absence-required
  • 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.

Contributing

Yes, please do! See our contributing guide for basic rules of engagement.

License

ISC