Sammelt ALFRED-Daten und verteilt sie an verschiedene Dienste weiter (Karte, Bot, Graphite, Knoten-Management, etc.)

Helge Jung 0686f0caf2 dict_merge(): merge lists, too %!s(int64=10) %!d(string=hai) anos
contrib 55eca34b31 rename to BATCAVE %!s(int64=10) %!d(string=hai) anos
ffstatus 0686f0caf2 dict_merge(): merge lists, too %!s(int64=10) %!d(string=hai) anos
.gitignore b3d7d615d6 add dummy scripts+data to .gitignore %!s(int64=10) %!d(string=hai) anos
Readme.md ea1bfb4686 ReadMe: there is a HTTP JSON api %!s(int64=10) %!d(string=hai) anos
batcave.py 65111f3e86 batcave: add --verbose flag to increase log verbosity %!s(int64=10) %!d(string=hai) anos

Readme.md

BATCAVE

Batman/Alfred Transmission Collection, Aggregation & Value Engine

Dieser Daemon läuft auf einem Rechner der im Freifunk-Mesh hängt und fragt periodisch (Default = 15s) die Batman- und Alfred-Daten ab.

Die Daten werden aggregiert und können anschließend an mehrere Datensenken weitergegeben werden:

  • Knoten-Management (allgemeine Meta-Daten zu eigenen Knoten)
  • Redis-Datenbank (zentrale Datenbank mit aktuellen Knoten-Daten)
  • Graphite (Knoten-Graphen und Detail-Statistiken)

Zusätzlich besteht die Möglichkeit der Datenabfrage über eine HTTP-JSON-Schnittstelle.

Voraussetzungen

Installation

sudo apt-get install python-daemon python-requests
sudo ln -s "`pwd`/contrib/init-script.sh" /etc/init.d/ffstatus
echo "DAEMON_DIR=`pwd`" | sudo tee -a /etc/default/ffstatus
sudo update-rc.d ffstatus defaults
sudo update-rc.d ffstatus enable

Nutzung

$ ./batcave.py -h
usage: batcave.py [-h] [--logfile LOGFILE] [--interval INTERVAL] [-d] [-n]
                  [-A ALFRED_JSON] [-B BATADV_VIS] [-G GRAPHITE_HOST]
                  [--graphite-port GRAPHITE_PORT] [--dashing-url DASHING_URL]
                  [--dashing-token DASHING_TOKEN]

Batman/Alfred Transmission Collection, Aggregation & Value Engine

optional arguments:
  -h, --help            show this help message and exit
  --logfile LOGFILE     path for log file
  --interval INTERVAL   data poll interval
  -d, --no-detach       Don't detach (daemonize) ourself
  -n, --no-send         Fetch data but don't send it
  -A ALFRED_JSON, --alfred-json ALFRED_JSON
                        executable path for alfred-json
  -B BATADV_VIS, --batadv-vis BATADV_VIS
                        executable path for batadv-vis
  -G GRAPHITE_HOST, --graphite-host GRAPHITE_HOST
                        Graphite host
  --graphite-port GRAPHITE_PORT
                        Graphite port
  --dashing-url DASHING_URL
                        Dashing URL
  --dashing-token DASHING_TOKEN
                        Dashing's secret update token