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

Helge Jung 18e2efde54 correctly merge BATMAN neighbours 10 years ago
contrib 55eca34b31 rename to BATCAVE 10 years ago
ffstatus 18e2efde54 correctly merge BATMAN neighbours 10 years ago
.gitignore b3d7d615d6 add dummy scripts+data to .gitignore 10 years ago
Readme.md ea1bfb4686 ReadMe: there is a HTTP JSON api 10 years ago
batcave.py 65111f3e86 batcave: add --verbose flag to increase log verbosity 10 years ago

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