]> gitweb.fluxo.info Git - metrics.git/commitdiff
Initial import
authorSilvio Rhatto <rhatto@riseup.net>
Thu, 24 Nov 2016 12:45:00 +0000 (10:45 -0200)
committerSilvio Rhatto <rhatto@riseup.net>
Thu, 24 Nov 2016 12:45:00 +0000 (10:45 -0200)
README.rst [new file with mode: 0644]
TODO.rst [new file with mode: 0644]
metrics [new file with mode: 0755]

diff --git a/README.rst b/README.rst
new file mode 100644 (file)
index 0000000..039db10
--- /dev/null
@@ -0,0 +1,46 @@
+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>
diff --git a/TODO.rst b/TODO.rst
new file mode 100644 (file)
index 0000000..20e1b61
--- /dev/null
+++ b/TODO.rst
@@ -0,0 +1,25 @@
+TODO
+====
+
+- website and repository.
+- search for similar software
+- initial plugins:
+  - hddtemp
+  - lshw -json
+  - facter
+  - sensors
+  - raid
+  - smartmontools
+  - load
+  - memory
+  - cpu
+  - disk
+  - smtp
+  - imap
+  - http/https
+  - website
+  - ping
+  - ssh
+- other plugins:
+  - collectd
+  - munin-plugins
diff --git a/metrics b/metrics
new file mode 100755 (executable)
index 0000000..9c1ec68
--- /dev/null
+++ b/metrics
@@ -0,0 +1,27 @@
+#!/usr/bin/python
+#
+# metrics: distributed measurement system.
+#
+# Copyright (C) 2016 Silvio Rhatto - rhatto@riseup.net
+# 
+# This program is free software: you can redistribute it and/or modify
+# it under the terms of the GNU Affero General Public License as
+# published by the Free Software Foundation, either version 3 of the
+# License, or any later version.
+# 
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+# GNU Affero General Public License for more details.
+# 
+# You should have received a copy of the GNU Affero General Public License
+# along with this program.  If not, see <http://www.gnu.org/licenses/>.
+#
+
+# Load
+# Check syntax
+# Check for available target
+# Check superuser rights
+# Determine config file
+# Ensure folders exists
+# Call target and redirect output