metrics: distributed measurement system ======================================= Goals ----- - essential, simple and reliable. - minimum maintenance. Architecture ------------ - probes: run probes that gather data from the current or any remote node. - analyzers: process collected hosts, triggering events (notifications, graphing, etc). - syncer: send collected and analyzed data to remote locations. Worflow ------- - cronjob: synced dispatch. - command line: asynced dispatch. Plugable -------- - plugin lookup in shared folders such as `~/.local/share` and `/usr/local/share`. - analyzer cronjobs detects collected data and dispatch available analyzers. Formats ------- - outputs: yaml, json or any other format understood by each probe/analyzer pair. - version field: so analyzers knows by which schema they should process data. Filesystem ---------- - unique locations per host/probe/analyzer to ease syncing. - folders: {/etc,/var/lib}/metrics/$HOSTNAME/{probes,analyzers,syncers}/{localhost,$HOST}/$NAME/. - files: config.yaml (failing back to defaults) and $TIMESTAMP.{json,yaml,rrd,etc}. Usage ----- metrics References ---------- * [MonitoringScape: Definitive IT Monitoring Guide - BigPanda](https://bigpanda.io/monitoringscape/).