aboutsummaryrefslogtreecommitdiff
path: root/README.md
diff options
context:
space:
mode:
Diffstat (limited to 'README.md')
-rw-r--r--README.md45
1 files changed, 45 insertions, 0 deletions
diff --git a/README.md b/README.md
new file mode 100644
index 0000000..77a47db
--- /dev/null
+++ b/README.md
@@ -0,0 +1,45 @@
+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>