Go to file
Adrian Schmutzler a57d459c77 api/alfred: Disable router_rate_limit_list
With router_rate_limit_list, routers were not processed if the
time difference between calls was less than 5 minutes for the
same MAC address.

While this is generally not bad, there are some drawbacks:
- Not having been aware of this fact, we have established other
  mechanisms to dilute data density, which might have interfered
- With KeyXchangeV2, two gateways will send data with less than
  5 min. difference. As gateways are not connected, we know that
  we alternately receive newer and older data. With
  router_rate_limit_list, some of this data has been discarded
  before its "age" was evaluated. This caused an unwanted additional
  dilution of data which might have caused "offline" routers not
  being actually offline (for a short period)
- With KeyXchangeV1, if the second call was a little earlier, the
  a big share of the data would not be "new enough" and just be
  discarded
- With KeyXchangeV1, the same would happen for the order of records
  varying between alfred calls, were some records would have more and
  some less than 5 minutes time difference

To get rid of these issues, we remove router_rate_limit_list and
test whether the newer measures to dilute data are effective.

Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de>
2018-04-16 12:49:34 +02:00
alfred-monitoring-proxy Handle even larger requests 2016-02-17 02:47:13 +01:00
contrib Rename net_if from router_neighbor table to netif 2017-12-30 18:21:08 +01:00
ffmap api/alfred: Disable router_rate_limit_list 2018-04-16 12:49:34 +02:00
gwinfo Introduce infrastructure to receive and process gateway information 2018-01-15 12:30:08 +01:00
scripts scripts: Add deleteunlinked.py 2018-01-15 12:30:09 +01:00
.gitignore gitignore: Add mysqlconfig 2017-11-19 15:59:12 +01:00
install.sh Rename hoodsv2 to hoods_v2 for consistency 2017-11-16 20:41:52 +01:00
README.md Update README to include changes due to MySQL and python3 2017-11-16 00:09:14 +01:00
restart.sh Add restart.sh, start.sh, stop.sh 2018-02-02 13:02:51 +01:00
setup.py add alfred support and dynamic map creation 2015-10-10 17:42:44 +02:00
start.sh Add restart.sh, start.sh, stop.sh 2018-02-02 13:02:51 +01:00
stop.sh Add restart.sh, start.sh, stop.sh 2018-02-02 13:02:51 +01:00

Debian Dependencies

apt-get install mysql-server python3-mysqldb python python3 python3-requests python3-lxml python3-pip python3-flask python3-dateutil python3-numpy python3-scipy python3-mapnik python3-pip uwsgi-plugin-python3 nginx
pip3 install pymongo pillow modestmaps simplejson werkzeug

When updating

apt-get install mysql-server python3-mysqldb python3-mapnik
apt-get uninstall mongodb python-mapnik uwsgi-plugin-python tilestache
pip3 install pillow modestmaps simplejson werkzeug
pip3 uninstall uuid

Prerequisites

  • Datenbank in MySQL anlegen
  • Git vorbereiten:
git clone https://github.com/asdil12/fff-monitoring
git clone https://github.com/TileStache/TileStache
cd fff-monitoring
cp ffmap/mysqlconfig.example.py ffmap/mysqlconfig.py
  • MySQL Zugangsdaten in mysqlconfig.py eintragen

Installation

./install.sh
systemctl daemon-reload
systemctl enable uwsgi-ffmap
systemctl enable uwsgi-tiles
systemctl start uwsgi-ffmap
systemctl start uwsgi-tiles
cd ffmap/db/
./init_db.py
# Then apply NGINX Config

NGINX Config

server {
	listen 443 ssl default_server;
	listen [::]:443 ssl default_server;

...

	location / {
		include uwsgi_params;
		uwsgi_pass 127.0.0.1:3031;
		client_max_body_size 30M;
	}

	location /tiles {
		include uwsgi_params;
		uwsgi_pass 127.0.0.1:3032;
	}
	
	location /static/ {
		root /usr/share/ffmap/;
		expires max;
		add_header Cache-Control "public";
	}

...

}

Admin anlegen

  • User über WebUI anlegen
  • Dann über z.B. phpmyadmin in der Tabelle users 'admin' auf 1 setzen