--- format: markdown title: Statusinformationen zum laufenden FF-DO-Betrieb ... # status.ffdo.de Während der [Meshviewer](https://map.ffdo.de/meshviewer/) den aktuellen Zustand der FF-DO-Router anzeigt (auf einer geographischen Karte), ermöglicht einen Überblick über die zeitliche Entwicklung von Routerdaten, nämlich der Anzahl der clients und der load eines Routers. Stand 01/2024: Der Dienst steht nicht mehr zur Verfügung. Dieser Dienst wird seit Anbeginn des FF-DO privat betrieben, läuft also nicht auf dem FF-DO-Blech. # Prometheus und Grafana Weil die Visualisierung relevanter Betriebsdaten nicht nur der einzelnen Plasterouter, sondern auch (und gerade:) der "zentralen" FF-DO-Infrastruktur wichtig ist, gibt es seit Anfang 2017 Bemühungen, dies mit Hilfe von Prometheus und Grafana zu tun. Gründe für diese Auswahl sind Modularisierung von Datenhaltung und -bereitstellung einerseits und Visualisierung andererseits. Weiterhin vermeidet die Implementierung in einer Programmiersprache ([Go](https://de.wikipedia.org/wiki/Go_(Programmiersprache))), welche zu Maschinencode kompiliert wird, die Ineffizienz von Scriptsprachen. Für den Richtfunk werden Prometheus und Grafana bereits genutzt (insb. zur Visualisierung von Bandbreitenmessungen), s. die Wiki-Seiten für die [Richtfunkstandorte](/Technik/Richtfunk/Standorte/) 1-4. Ebenso für den ["neuen" Freifunk](/Technik/Routing/IGP-Kopplung-Roadmap). ## Supernodes Siehe die Seite zum [Monitoring](Supernodes/monitoring). ## "neuer" Status-Dienst Hier werden, ähnlich wie bei status.ffdo.de, Informationen über einzelne FF-DO-Router, insb. die zeitliche Entwicklung veränderlicher Werte (clients, load, traffic, ...) sichtbar gemacht, allerdings mit Hilfe von Prometheus und Grafana. ### Wie funktioniert das? In der Firmware der ffdo Router ist das Modul [gluon-respondd](https://github.com/freifunk-gluon/gluon/tree/master/package/gluon-respondd) aktiv. Dieses übermittelt periodisch einige Daten an einen 'gluon-collector' Service. So werden zB Hardware-Modell, Firmware-Version, Konfiguration (zB Name des Routers, Koordinaten, VPN-uplink?), Statistik (zB Anzahl clients).. übertragen. Dieser 'collector' Service läuft auf dem [Map-Server](Supernodes/map-server). Aus den Informationen wird eine Datei namens [nodes.json](https://map.ffdo.de/data/nodes.json) zusammengestellt, die der Webbrowser für die Anzeige der [FF-DO-Map](https://map.ffdo.de/) verwendet. Die o.g. `nodes.json` des Map-Servers wird aber auch auf einer weiteren virtuellen Maschine (grafana.ffdo.de) ausgewertet. Genauer gesagt wird hier vom JSON-Format in eine textuelle Zeitreihendatei konvertiert, diese per [node_exporter](https://github.com/prometheus/node_exporter) an den Datenbunker [Prometheus](https://prometheus.io/) verfüttert und schließlich diese Datenquelle mit [Grafana](https://grafana.org/) visualisiert. [Prometheus](https://prometheus.ffdo.de/) speichert die Daten zur Zeit einen Monat lang. Grafiken aus dem [Dashboard](http://grafana.ffdo.de/dashboard/file/FF-DO-status.json?orgId=1) kann man von Grafana (via phantomjs (sic!-)) auch zu PNG rendern lassen, zB so:

FF-DO-status-render panelId=1

### Verwendete Software Außer den o.g. Komponenten (Map-Server/nodes.json, node_exporter, Prometheus, Grafana) braucht man noch - eine Software, welche die `nodes.json` zu Zeitreihen konvertiert, und zwar ins [Prometheus metrics exposition text format](https://prometheus.io/docs/instrumenting/exposition_formats/#text-format-details), - Dashboards, welche die von Prometheus gebunkerten Daten als humankompatible Webseiten sichtbar machen. Beides findest Du bei Interesse in einem Software-Repository des FF-DO: [nodes2grafana](https://git.ffdo.de/altlast/nodes2grafana). Die Software lässt sich sehr leicht zur Benutzung durch andere FF-Communities anpassen, sofern diese das gleiche Format für ihre `nodes.json` benutzen. Zusätzlich wird noch ngnix verwendet, um grafana auch über standardisierte Webports von außen erreichbar zu machen.