aboutsummaryrefslogtreecommitdiff
path: root/README.md
blob: 31756b889ee893cd8498a899beb6a054d14daf6a (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
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 <action> <target>

References
----------

* [MonitoringScape: Definitive IT Monitoring Guide - BigPanda](https://bigpanda.io/monitoringscape/).