Server Dokumentation: Unterschied zwischen den Versionen

Aus FreifunkNordheide
Wechseln zu:Navigation, Suche
(Karten-Frontend Hopglass)
 
(11 dazwischenliegende Versionen desselben Benutzers werden nicht angezeigt)
Zeile 8: Zeile 8:
 
=== SSL Certificate ===
 
=== SSL Certificate ===
 
Wir verwenden für nordheide.freifunk.net SSL-Certificates von [https://letsencrypt.org/ Let's Encrypt]. D.h. über die root crontab wird regelmässig geprüft ob das Certificate demnächst ausläuft und die Aktualisierung angefordert. Leider gibt es verschiedene Gründe warum das evtl. schief gehen kann.  
 
Wir verwenden für nordheide.freifunk.net SSL-Certificates von [https://letsencrypt.org/ Let's Encrypt]. D.h. über die root crontab wird regelmässig geprüft ob das Certificate demnächst ausläuft und die Aktualisierung angefordert. Leider gibt es verschiedene Gründe warum das evtl. schief gehen kann.  
 +
 
Das Log liegt unter  
 
Das Log liegt unter  
: /var/log/runJobs.log
+
: '''/var/log/le-renew.log'''
 
Manuell kann man die evtl. anstehende Aktualisierung so anstoßen:
 
Manuell kann man die evtl. anstehende Aktualisierung so anstoßen:
: sudo /usr/local/sbin/le-renew nordheide.freifunk.net
+
: <code>sudo /usr/local/sbin/le-renew nordheide.freifunk.net</code>
  
 
== map.freifunk-nordheide.net ==
 
== map.freifunk-nordheide.net ==
Zeile 18: Zeile 19:
 
Die Daten der Freifunkkonten werden mit einem [https://github.com/hopglass/hopglass-server Hopglass Server] aggregiert dem Karten-Frontend (s.u.) zur Darstellung übergeben.
 
Die Daten der Freifunkkonten werden mit einem [https://github.com/hopglass/hopglass-server Hopglass Server] aggregiert dem Karten-Frontend (s.u.) zur Darstellung übergeben.
  
Der Server läuft auf Port 4000, ist unter '''/opt/hopglass/server/''' installiert.
+
Der Server ist unter '''/opt/hopglass/server/''' installiert und liefert via Apache Reverse Proxy und /hopglass/ aus. Das ermöglicht Komprimierung der JSON-Responses und die Nutzung eines SSL-Zertifikats.
Seine Einstellungen und zwischengespeicherten Daten liegen unter '''/etc/hopglass-server/ffnh/'''.
+
Seine Einstellungen und Daten liegen unter '''/etc/hopglass-server/ffnh/'''.
 
Die Daten werden alle 5 Minuten zwischengespeichert und jede Stunde auf die letzten 7 Tage reduziert.
 
Die Daten werden alle 5 Minuten zwischengespeichert und jede Stunde auf die letzten 7 Tage reduziert.
  
Betrieben wird er über <code>systemctl restart hopglass-server@ffnh.service</code>.
+
'''Achtung:''' das letzte Release ist sehr alt und läuft nicht richtig mit der aktuellen Knotenliste. Daher mit <code>git clone https://github.com/hopglass/hopglass-server server</code> (ohne Release) klonen.
 +
 
 +
Betrieben wird er über <code>[https://manpages.debian.org/jessie/systemd/systemctl.1.en.html systemctl] restart hopglass-server@ffnh.service</code>.
  
 
Bereitgestellte URLs:
 
Bereitgestellte URLs:
*[http://map.freifunk-nordheide.de:4000/nodes.json /nodes.json] HopGlass nodes.json v2
+
*[http://map.freifunk-nordheide.de/hopglass/nodes.json /nodes.json] HopGlass nodes.json v2
*[http://map.freifunk-nordheide.de:4000/graph.json /graph.json] HopGlass graph.json v1
+
*[http://map.freifunk-nordheide.de/hopglass/graph.json /graph.json] HopGlass graph.json v1
*[http://map.freifunk-nordheide.de:4000/mv/nodes.json /mv/nodes.json] Meshviewer nodes.json v2
+
*[http://map.freifunk-nordheide.de/hopglass/mv/nodes.json /mv/nodes.json] Meshviewer nodes.json v2
*[http://map.freifunk-nordheide.de:4000/mv/graph.json /mv/graph.json] Meshviewer graph.json v1
+
*[http://map.freifunk-nordheide.de/hopglass/mv/graph.json /mv/graph.json] Meshviewer graph.json v1
*[http://map.freifunk-nordheide.de:4000/mv1/nodes.json /mv1/nodes.json] Meshviewer nodes.json v1
+
*[http://map.freifunk-nordheide.de/hopglass/mv1/nodes.json /mv1/nodes.json] Meshviewer nodes.json v1
*[http://map.freifunk-nordheide.de:4000/mv1/graph.json /mv1/graph.json] Meshviewer graph.json v1
+
*[http://map.freifunk-nordheide.de/hopglass/mv1/graph.json /mv1/graph.json] Meshviewer graph.json v1
*[http://map.freifunk-nordheide.de:4000/raw.json /raw.json] Raw data collected, same as the raw.json save file
+
*[http://map.freifunk-nordheide.de/hopglass/raw.json /raw.json] Raw data collected, same as the raw.json save file
*[http://map.freifunk-nordheide.de:4000/nodelist.json/nodelist.json nodelist.json] format (github.com/ffansbach/nodelist)
+
*[http://map.freifunk-nordheide.de/hopglass/nodelist.json /nodelist.json] format (github.com/ffansbach/nodelist)
*[http://map.freifunk-nordheide.de:4000/hosts /hosts] hosts file to be placed in /etc/hosts
+
*[http://map.freifunk-nordheide.de/hopglass/hosts /hosts] hosts file to be placed in /etc/hosts
*[http://map.freifunk-nordheide.de:4000/metrics /metrics] Prometheus metrics
+
*[http://map.freifunk-nordheide.de/hopglass/metrics /metrics] Prometheus metrics
*[http://map.freifunk-nordheide.de:4000/wifi-aliases.txt /wifi-aliases.txt] Aliases file for Wifi Analyzer app
+
*[http://map.freifunk-nordheide.de/hopglass/wifi-aliases.txt /wifi-aliases.txt] Aliases file for Wifi Analyzer app
*[http://map.freifunk-nordheide.de:4000/WifiAnalyzer_Alias.txt /WifiAnalyzer_Alias.txt] Aliases file for Wifi Analyzer app
+
*[http://map.freifunk-nordheide.de/hopglass/WifiAnalyzer_Alias.txt /WifiAnalyzer_Alias.txt] Aliases file for Wifi Analyzer app
*[http://map.freifunk-nordheide.de:4000/ffapi.json /ffapi.json] Freifunk API file
+
<!--*[http://map.freifunk-nordheide.de/hopglass/ffapi.json /ffapi.json] Freifunk API file-->
*[http://map.freifunk-nordheide.de:4000/nodes.zone /nodes.zone] Named DNS zone file
+
*[http://map.freifunk-nordheide.de/hopglass/nodes.zone /nodes.zone] Named DNS zone file
  
 
==== Karten-Frontend Hopglass ====
 
==== Karten-Frontend Hopglass ====
Zeile 46: Zeile 49:
 
*Anzahl der Nutzer/Geräte am jeweiingen Knoten
 
*Anzahl der Nutzer/Geräte am jeweiingen Knoten
  
Die Karten-Anwendung ist unter '''/home/freifunker/hopglass/build''' installiert und die Einstellungen in der [http://map.freifunk-nordheide.de/config.json config.json] abgelegt. Diese schränkt den Kartenbereich auf 25Km rund um Buchholz und die Knoten für einen Tag als neu (grün) angezeigt.  
+
Die Kartenanwendung ist unter '''/home/freifunker/hopglass/build''' installiert und die Einstellungen in der [http://map.freifunk-nordheide.de/config.json config.json] abgelegt. Diese zeigt den Kartenbereich von mindestens 25Km rund um Buchholz und die neuen Knoten werden für einen Tag als grün gekennzeichnet.  
  
 
Sie wird über den Apache ausgeliefert.
 
Sie wird über den Apache ausgeliefert.
  
 
=== Nodelist ===
 
=== Nodelist ===
Die [https://github.com/freifunkMUC/nodelist Kontenliste] unter [http://map.freifunk-nordheide.de/nodelist/ map.freifunk-nordheide.de/nodelist] zeigt alle verfügbaren Knotendaten im Netz. Sie visualisiert die Daten ([http://map.freifunk-nordheide.de:4000/nodes.json /nodes.json]) aus obigem Hopglass-Server.  
+
Die [https://github.com/freifunkMUC/nodelist Kontenliste] unter [http://map.freifunk-nordheide.de/nodelist/ map.freifunk-nordheide.de/nodelist] zeigt alle verfügbaren Knotendaten im Netz. Sie visualisiert die Daten ([http://map.freifunk-nordheide.de/hopglass/nodes.json /nodes.json] und [http://map.freifunk-nordheide.de/hopglass/graph.json /graph.json]) aus obigem Hopglass-Server.
 +
 
 +
Die Karten-Anwendung ist unter '''/home/freifunker/nodelist''' installiert und wird über den Apache ausgeliefert.
 +
 
 +
== statistik.freifunk-nordheide.de ==
 +
=== Freifunk-Collector ===
 +
Ein Ruby-Script bereitet die Knoten- und Graph-Daten aus dem Hopglass-Backend kontinuierlich auf und befüllt damit die InfluxDB.
 +
* Seine Einstellungen liegen unter '''/etc/freifunk-collector/ffnh/'''.
 +
* Das Script liegt unter '''/opt/ffnh-stats/scripts/'''.
 +
* Es läuft via <code>[https://manpages.debian.org/jessie/systemd/systemctl.1.en.html systemctl] status freifunk-collector@ffnh.service</code>.
 +
 
 +
Dabei nutzt es die beiden JSONs:
 +
* graph_json = http://map.freifunk-nordheide.de/hopglass/graph.json
 +
* nodes_json = http://map.freifunk-nordheide.de/hopglass/mv1/nodes.json
 +
 
 +
=== InfluxDB ===
 +
Die [https://docs.influxdata.com/influxdb/ InfluxDB] speichert zeitlich anfallende Statistik-Daten.
 +
Die genutzte Datenbank ist '''freifunk'''.
 +
 
 +
=== Grafana ===
 +
Das Analyse-Werkzeug [https://grafana.com/ Grafana] erlabut die Visualisierung und Analyse der Daten aus der InfluxDB. Eine Reihe von Dashboards wird vom Karten-Frontend Hopglass eingebunden (siehe [http://map.freifunk-nordheide.de/config.json config.json]) und sind so leicht aus der Karte erreichbar. Dies sind:
 +
* das [http://map.freifunk-nordheide.de/grafana/dashboard/db/status?orgId=1 Status Dashboard], welches den Gesamtüberblick über Anzahl/Qualität von Clients und Verbindungen abbildet
 +
* die Statistik zu jedem [http://map.freifunk-nordheide.de/grafana/dashboard/db/knotenid?orgId=1 Knoten]
 +
* die Statistik zu jeder [http://map.freifunk-nordheide.de/grafana/dashboard/db/verbindung?orgId=1 Verbindung]
 +
 
 +
Einbindungen der Charts über PNG-Bilder anstatt der iFrames legen die Bilder lokal unter '''/srv/ff/grafana/lib/png/''' ab.
  
Die Karten-Anwendung ist unter '''/home/freifunker/hopglass/nodelist''' installiert und wird über den Apache ausgeliefert.
+
Das gesamte Grafana-Frontend wird, wie Hopglass via Apache Reverse Proxy unter /grafana/ auf map.freifunk-nordheide.de ausgeliefert.

Aktuelle Version vom 1. Januar 2018, 18:49 Uhr

Dokumentation

Auch Server brauch hin und wieder mal einen Klapps oder etwas Hilfe. Hier einfach mal ein paar Hilfestellungen

Github vom Freifunk Nordheide

Freifunk Nordheide Github Repo

Wiki nordheide.freifunk.net

SSL Certificate

Wir verwenden für nordheide.freifunk.net SSL-Certificates von Let's Encrypt. D.h. über die root crontab wird regelmässig geprüft ob das Certificate demnächst ausläuft und die Aktualisierung angefordert. Leider gibt es verschiedene Gründe warum das evtl. schief gehen kann.

Das Log liegt unter

/var/log/le-renew.log

Manuell kann man die evtl. anstehende Aktualisierung so anstoßen:

sudo /usr/local/sbin/le-renew nordheide.freifunk.net

map.freifunk-nordheide.net

Freifunkkarte

Karten-Backend Hopglass Server

Die Daten der Freifunkkonten werden mit einem Hopglass Server aggregiert dem Karten-Frontend (s.u.) zur Darstellung übergeben.

Der Server ist unter /opt/hopglass/server/ installiert und liefert via Apache Reverse Proxy und /hopglass/ aus. Das ermöglicht Komprimierung der JSON-Responses und die Nutzung eines SSL-Zertifikats. Seine Einstellungen und Daten liegen unter /etc/hopglass-server/ffnh/. Die Daten werden alle 5 Minuten zwischengespeichert und jede Stunde auf die letzten 7 Tage reduziert.

Achtung: das letzte Release ist sehr alt und läuft nicht richtig mit der aktuellen Knotenliste. Daher mit git clone https://github.com/hopglass/hopglass-server server (ohne Release) klonen.

Betrieben wird er über systemctl restart hopglass-server@ffnh.service.

Bereitgestellte URLs:

Karten-Frontend Hopglass

Die Hopglass-Karte unter map.freifunk-nordheide.de wird im Browser zusammengestellt und zeigt den aktuellen Zustand und Vernetzung der Knoten in Freifunk Nordheide. Sie nutzt eine wählbare Leaflet-Karte als Hintergrund und stellt darauf u.a. folgendes dar:

  • Freifunkknoten mit Geo-Koordinaten
  • Netzverbindung und Verbindungsqualität
  • Anzahl der Nutzer/Geräte am jeweiingen Knoten

Die Kartenanwendung ist unter /home/freifunker/hopglass/build installiert und die Einstellungen in der config.json abgelegt. Diese zeigt den Kartenbereich von mindestens 25Km rund um Buchholz und die neuen Knoten werden für einen Tag als grün gekennzeichnet.

Sie wird über den Apache ausgeliefert.

Nodelist

Die Kontenliste unter map.freifunk-nordheide.de/nodelist zeigt alle verfügbaren Knotendaten im Netz. Sie visualisiert die Daten (/nodes.json und /graph.json) aus obigem Hopglass-Server.

Die Karten-Anwendung ist unter /home/freifunker/nodelist installiert und wird über den Apache ausgeliefert.

statistik.freifunk-nordheide.de

Freifunk-Collector

Ein Ruby-Script bereitet die Knoten- und Graph-Daten aus dem Hopglass-Backend kontinuierlich auf und befüllt damit die InfluxDB.

  • Seine Einstellungen liegen unter /etc/freifunk-collector/ffnh/.
  • Das Script liegt unter /opt/ffnh-stats/scripts/.
  • Es läuft via systemctl status freifunk-collector@ffnh.service.

Dabei nutzt es die beiden JSONs:

InfluxDB

Die InfluxDB speichert zeitlich anfallende Statistik-Daten. Die genutzte Datenbank ist freifunk.

Grafana

Das Analyse-Werkzeug Grafana erlabut die Visualisierung und Analyse der Daten aus der InfluxDB. Eine Reihe von Dashboards wird vom Karten-Frontend Hopglass eingebunden (siehe config.json) und sind so leicht aus der Karte erreichbar. Dies sind:

  • das Status Dashboard, welches den Gesamtüberblick über Anzahl/Qualität von Clients und Verbindungen abbildet
  • die Statistik zu jedem Knoten
  • die Statistik zu jeder Verbindung

Einbindungen der Charts über PNG-Bilder anstatt der iFrames legen die Bilder lokal unter /srv/ff/grafana/lib/png/ ab.

Das gesamte Grafana-Frontend wird, wie Hopglass via Apache Reverse Proxy unter /grafana/ auf map.freifunk-nordheide.de ausgeliefert.