Go to file
Nils Schneider bd943e4360 Merge branch 'master' of https://github.com/mweinelt/ffmap-backend into mweinelt-master 2015-03-24 18:36:11 +01:00
nodedb create nodedb/ directory 2013-11-23 22:11:46 +01:00
.gitignore update .gitignore 2015-03-24 17:41:12 +01:00
.travis.yml travis-ci: add pep8 check 2015-03-24 18:31:23 +01:00
GlobalRRD.py pep8: some line length fixes 2015-03-24 17:41:02 +01:00
LICENSE add LICENSE 2012-06-16 02:50:02 +02:00
NodeRRD.py fix alot of pep8 2015-03-24 16:49:37 +01:00
README.md travis-ci: add pep8 check 2015-03-24 18:31:23 +01:00
RRD.py fix alot of pep8 2015-03-24 16:49:37 +01:00
alfred.py Merge branch 'master' of https://github.com/mweinelt/ffmap-backend into mweinelt-master 2015-03-24 18:36:11 +01:00
aliases.json_sample alfred: restructure code, add nodeinfo, statistics, vis 2015-02-24 13:34:22 +01:00
backend.py backend.py: use argparser to set mesh default, join paths with os.path.join 2015-03-24 17:50:36 +01:00
batman.py pep8: some line length fixes 2015-03-24 17:41:02 +01:00
graph.py fix alot of pep8 2015-03-24 16:49:37 +01:00
nodes.py batman.py: fix broken identation caused by previous commit 2015-03-24 17:58:06 +01:00
rrddb.py fix alot of pep8 2015-03-24 16:49:37 +01:00

README.md

Data for Freifunk Map, Graph and Node List

Build Status

ffmap-backend gathers information on the batman network by invoking

  • batctl,
  • alfred-json and
  • batadv-vis

as root (via sudo) and has this information placed into a target directory as the file "nodes.json" and also updates the directory "nodes" with graphical representations of uptimes and the number of clients connecting.

Run backend.py --help for a quick overview of all available options.

When executed without root privileges, we suggest to grant sudo permissions within wrappers of those binaries, so no further changes are required in other scripts:

$ cat < $HOME/batctl
#!/bin/sh
exec sudo /usr/sbin/batctl $*
EOCAT

and analogously for batadv-vis. The entry for /etc/sudoers could be whateveruser ALL=(ALL:ALL) NOPASSWD: /usr/sbin/batctl,/usr/sbin/batadv-vis,/usr/sbin/alfred-json

For the script's regular execution add the following to the crontab:

* * * * * /path/to/ffmap-backend/backend.py -d /path/to/output -a /path/to/aliases.json --vpn ae:7f:58:7d:6c:2a --vpn d2:d0:93:63:f7:da

Data format

nodes.json

{ 'nodes': {
    node_id: { 'flags': { flags },
               'firstseen': isoformat,
               'lastseen': isoformat,
               'nodeinfo': {...},         # copied from alfred type 158
               'statistics': {
                  'uptime': double,       # seconds
                  'memory_usage': double, # 0..1
                  'clients': double,
                  'rootfs_usage': double, # 0..1
                  'loadavg': double,
                  'gateway': mac
                }
             },
    ...
  }
  'timestamp': isoformat
}

flags (bool)

  • online
  • gateway