Fritzbox auf Grafana Messwerte anzeigen möglich ?

L I V E Stammtisch ab 20:30 Uhr im Chat
  • Fritzbox auf Grafana Messwerte anzeigen möglich ?? Schau mal ob du hier fündig wirst!

  • Hallo framp,

    das was Du hast ist in etwa das, was ich haben möchte.

    Wenn das im docker umsetzbar wäre, gut. Wenn etwas nicht korrekt funktioniert, kann ich das Docker-Image löschen, ohne mene anderen Container "anfassen" zu müssen Aktuell habe ich auf mene Raspi .... docker, influxdb, grafana, heimdal, magic mirror, motion eye, ad-guard.

    Das war eine Menge Arbeit, welche ich mir nicht wirklich zerschiessen möchte bzw. alles erneut installieren und lauffähig zu bekommen.

    Also wenn Du etwas docker-mässiges hast, gerne her damit ;) . Danke im Voraus.

    ______________

    mfg meitoma

  • Das war eine Menge Arbeit, welche ich mir nicht wirklich zerschiessen möchte bzw. alles erneut installieren und lauffähig zu bekommen.

    Ein regelmaessiges Backup schuetzt vor Neuinstallation falls mal was schief geht ;)

    Also wenn Du etwas docker-mässiges hast, gerne her damit

    Habe ich nicht :no_sad: Ich wollte auch nur mal kurz sehen ob und wie das mit er Fritte geht. Ich koennte wohl ein Docker Image erstellen aber ich brauche es nicht. Auch kostet es Zeit die ich nicht habe :)

    Aber vielleicht findet sich jemand anderes mal ein Docker Image zu erstellen :)

  • Hallo, ein Image habe ich mittels "ImageWriter" erstellt. Größe 32 GB. SD-Card=Image-Größe.

    Auch wenn du es nicht brauchst, machst Du Monitoring in der Art bzw. gibt es etwas vergleichbaes auf einem Raspi ?

    Wäre schön wen sich hier im Forum noch jemand auskennt, wie man das Monitoring einer Fritz auf einem Raspi inkl. Grafana durchführen kann.

    Danke im Voraus.

    ______________

    mfg meitoma

  • Hallo framp,

    ich habe mich dazu entschlossen, Fritzmonitoring auf einem Raspi 4, plain so wie du, zu installieren. Also ohne docker. Nach welcher Anleitung bist Du gegangen ? Du hattest diesen Link angegeben:

    Monitoring Fritzbox

    Kann ich den so 1:1 umsetzen, oder sind da stoplerfallen drin ? Du hast das schon zum laufen gebracht und ein Screenshot in #10 gezeigt. Wenn es nicht 1:1 umsetzbar ist, kannst Du bitte kurz beschreiben, wie Du vorgegangen bist ? Vielen Dank im Voraus.

    Ich finde die Anzeige auch gut:

    Grafana ID 12579

    ______________

    mfg meitoma

  • Du hattest diesen Link angegeben:


    Monitoring Fritzbox

    Jupp

    Kann ich den so 1:1 umsetzen, oder sind da stoplerfallen drin ?

    Ich habe mir keine Notizen gemacht wo ich geandert habe. Jedenfalls kann der Anleitung nicht 1:1 gefolgt werden. Du musst kreativ mitdenken :) Also so aus dem Kopf:

    Neben der Tatsache dass dort eine alte Grafana Version installiert wird und Du den Downloadlink anpassen muss war eine kleine Stolperfalle da. Die Beschreibung wie man

    /etc/collectd/collectd.conf

    konfigurieren muss ist sehr oberflaechlich. Die wichtigen Zeilen des Pythonblocks sind angegeben - aber nicht die exakte Syntax. Wie ich oben geschrieben habe musst Du kreativ mitdenken wenn Du die Zeilen einfuegst. Ansonsten hat der Bau von collectd ziemlich lange gedauert. Aber das wird in dem Artikel auch so deutlich gemacht.

    ich habe mich dazu entschlossen, Fritzmonitoring auf einem Raspi 4, plain so wie du, zu installieren.

    Ich hoffen Du nimmst eine andere Raspberry dazu. Bei solcher Aktion kannst Du durchaus Dein System verschwurbeln :-/ Ansonsten hoffe ich Du hast ein gutes Backup ;)

    Anbei ein paar Infos ueber die eingesetzte HW/SW bei mir:

    HW: Raspi4

    OS: Aktuelles RaspbianOS Desktop, Bullseye, 64 Bit

    grafana:

    Installed: 9.3.2

    collectd:

    Installed: 5.12.0-7

    influxdb:

    Installed: 1.8.10-1

    Ich finde die Anzeige auch gut:

    Ich finde es ueberladen. Da hat sich offensichtlich jemand mit guten Grafanakenntnissen ausgetobt. Das kann man sicherlich auch umstellen. Nur muss man alles umstellen von einer Prometheus Datasource auf eine InfluxDB Datasource. Vermutlich fuer einen Grafanakenner kein Problem. Ich bin jedenfalls keiner ;(

  • framp: Hallo und sorry für die späte Rückmeldung. Anbei die Schritte, die ich durchgeführt habe und Systeminformationen:

    Systeminformationen:

    Distributor ID: Debian, Description: Debian GNU/Linux 11 (bullseye), Release: 11, Codename: bullseye

    Linux raspberrypi 5.15.84-v8+ #1613 SMP PREEMPT Thu Jan 5 12:03:08 GMT 2023 aarch64 GNU/Linux

    Ich bin die Schritte von dieser Anleitung: Fritzbox-Monitoring durchgegangen.

    Code
    apt-get install -y python-pip --> Erfolgreich

    Python 2.7.18

    Pip 20.3.4

    Code
    apt-get install -y libxml2-dev libxslt1-dev --> Erfolgreich
    Code
    pip install fritzcollectd --> Erfolgreich
    Code
    apt-get install -y collectd --> Erfolgreich

    Hier müssen wir das Python und das Netzwerk Plugin auskommentieren, nicht ans Ende anhängen, da man weiter unten noch die Plugin Blöcke anpassen muss.

    nano /etc/collectd/collectd.conf --> sieht bei mir wie folgt aus (Auszug):

    Das Network Plugin trägt dazu bei, dass die gesammelten Daten der Fritz!Box spätere InfluxDB geschrieben werden:

    Und hier weiss ich nicht, ob das so richtig ist:

    Code
    #<Plugin network>
    #       # client setup:
    #       Server "ff18::efc0:4a42" "25826"
    #       <Server "127.0.0.1" "25826">
    #               SecurityLevel Encrypt
    #               Username "user"
    #               Password "secret"
    #               Interface "eth0"
    #               ResolveInterval 14400
    #       </Server>

    Und hier weiss ich nicht, wo das eingetragen werden soll ....Am Schluss fügen wir noch einen eigenen Block für das Python Plugin hinzu:

    Code
    Import "fritzcollectd"
    Address "fritz.box"
    Port 49000
    User "MEIN FRITZBOXBENUTZER"
    Password "MEIN  PASSWORT"
    Hostname "FritzBox"
    Instance "1"
    Verbose "False"

    Kannst Du mir zu den o.a. Punkten helfen ? Danke.

    Weiter mit der Installation:

    Code
    curl -sL https://repos.influxdata.com/influxdb.key | sudo apt-key add -
    echo "deb https://repos.influxdata.com/debian stretch stable" | sudo tee /etc/apt/sources.list.d/influxdb.list --> Erfolgreich
    Code
    apt-get update --> Erfolgreich
    apt install influxdb --> Erfolgreich
    systemctl enable influxdb --> Erfolgreich
    systemctl start influxdb --> Erfolgreich

    Nachfolgend muss die InfluxDB Konfiguration angepasst werden, diese ist zu finden unter /etc/influxdb/influxdb.conf ,

    hier passen wir den Abschnitt [collectd] an. Das habe ich wie folgt in der influxdb.conf geändert:

    Code
    systemctl restart collectd --> Erfolgreich
    systemctl restart influxdb --> Erfolgreich

    Die Grafana installation und starten von Grafana hat ohne Probleme funktioniert.

    Auch die Verbindung von Grafana mit der Datenbank Influxdb hat geklappt und das Dashboard Nr. 713 wurde auch installiert.

    Leider erhalte ich im Dashboard von Grafana überall die Meldung N/A bzw. "No Data"

    Ich möchte erwähnen, das ich auf der Fritzbox sowohl einen Benutzer u. Kennwort als auch die Heimnetzfreigaben aktiviert habe, bevor ich die Anleitung Schritt für Schritt durchgegangen bin. Hoffentlich ist es nicht zu unübersichtlich.

    Meine Vermutung ist, dass ich Fehler in der "collectd.conf" und/oder "influxdb.conf" habe.

    Kannst Du mir da helfen bzw. einen Screenshot zeigen, wie bei Dir die "collectd.conf" und influxdb.conf" aussehen ? Da vermute ich mal ist der/die Fehler. Das wäre sehr nett von Dir. Vielen Dank im Voraus.

    ______________

    mfg meitoma

  • Das sieht doch schon mal sehr gut aus :thumbup: Die Config von collectd und influx stimmt aber offensichtlich noch nicht. Das ist die Ecke wo ich schrieb dass Du kreativ sein musst :)

    Anbei die beiden Dateien von meinem System. Die musst Du natuerlich noch an Deine Umgebung anpassen.

    Ausserdem habe ich mir mal das andere ueberladene Dashboard angesehen. Dass funktioniert nicht mit dem originalen collectd. Der muesste erweitert werden und die zusaetzlichen Daten noch aus der Fritte abholen und in die influxdb stecken. Ich habe mir mal kurz den Python Code von collectd angesehen und so wie ich es ueberblicke muesste das auch gehen. Keine Ahnung ob das schon jemand gemacht hat.

  • Hallo framp, Ich habe die collectd.conf und influxdb.conf, soweit ich konnte, auf mein System angepasst, Ergebnis:

    Nach dem ändern und speichern der o.a. Einstellungen habe ich den Raspi neu gestartet. Danach erhalte ich folgende Meldungen:

    Positiv: Anbindung der inluxdb hat geklappt (Siehe grafana_1.jpg)

    Negativ: Fehlermeldung: InfluxDB Error: database not found: influxdb (Siehe grafana_2.jpg)

    Danach habe ich die influxdb.conf mit folgenden Daten geändert:


    Und ich erhielt nach dem Neustart des Raspi neue Fehlermeldungen:

    InfluxDBError: BadGateway (siehe grafana3.jpg)

    und die Query (siehe grafana4.jpg)

    Das verstehe ich nicht und kann damit nichts anfangen.

    Ich weiß leider nicht, wo der Fehler liegt. Vermutlich nur eine Kleingkeit, die ich aber nicht kenne. Kannst Du da noch einmal rüberschauen ?

    Vielen Dank im Voraus.

    ______________

    mfg meitoma

  • Code
    ls /home/pi/.local/lib/python3.9/site-packages/
    chardet                   fritzconnection            lxml              requests
    chardet-3.0.4.dist-info        fritzconnection-0.8.5.dist-info    lxml-4.5.1.dist-info  requests-2.22.0.dist-info
    fritzcollectd               idna                pbr              urllib3

    Das ist mein Python Package Verzeichnis und dort siehst Du fritzcollectd. Steht das auch in Deinem Verzeichnis

    Code
    /usr/lib/python3/dist-packages

    was Du in collectd.conf angegeben hast? Ausserdem muss fritzcollectd (endet mit d wie daemon) im Import stehen, nicht fritzcollect ;)

    Edit: Wenn es dann immer noch Probleme gibt attache per dragndrop bitte die ganzen Config Dateien. Auch daran Denken vorher ein paar Dinge zu maskieren :)

  • Hallo framp, ich kann Dir dazu folgende Anworten(en) geben:

    Korrektu von fritzcollect --> fritzcollectd durchgeführt -- keine Veränderung.

    Code
    Dein Code: ls /home/pi/.local/lib/python3.9/site-packages    --> führt ins Leere:
    Mein Ergebnis:  ls /home/pi/.local
                    ls: cannot access '/home/pi/.local': No such file or directory

    Ich habe folgende Ordner in /usr/lib gefunden:

    Python2.7:

    Code
    pi@raspberrypi:/usr/lib $ cd python2.7/
    pi@raspberrypi:/usr/lib/python2.7 $ ls
    dist-packages
    pi@raspberrypi:/usr/lib/python2.7 $ cd dist-packages/
    pi@raspberrypi:/usr/lib/python2.7/dist-packages $ ls
    lsb_release.py
    pi@raspberrypi:/usr/lib/python2.7/dist-packages $

    Python3:

    Python3.9:

    Da ist leider nichts zu finden wie Du geschrieben hast:

    Code
    chardet                   fritzconnection            lxml              requests
    chardet-3.0.4.dist-info        fritzconnection-0.8.5.dist-info    lxml-4.5.1.dist-info  requests-2.22.0.dist-info
    fritzcollectd               idna                pbr              urllib3

    Wo oder wie kann ich diesen Pfad und die Dateien ausfindig machen um den richtigen Pfad in der collectd.conf einzutragen, wenn das der Fehler sein sollte, Nochmals Danke.

    ______________

    mfg meitoma

  • Hallo framp, langsam wird es mir unangenehm ......

    ich habe mal wieder alles neu installiert und das verlief ohne Probleme. Die Anbindung in Grafana von der Influxdb funktioniert (siehe Bild).

    Nach dem Import des Dashboard "713" erhalte ich wieder die Meldung: Influxdb Error: Database not found:influxdb (siehe Bild)

    Falls es hilreich sein sollte .... hier die Grafana Meldung "Query Inspector"(siehe Text u. Bild:

    {

    "request": {

    "method": "GET",

    "url": "api/datasources/proxy/1/query",

    "params": {

    "db": "influxdb",

    "q": "SELECT mean(\"value\") FROM \"fritzbox_value\" WHERE (\"type_instance\" = 'receiverate') AND time >= now() - 7d and time <= now() GROUP BY time(10m) fill(null);SELECT mean(\"value\") FROM \"fritzbox_value\" WHERE (\"type_instance\" = 'downstreammax') AND time >= now() - 7d and time <= now() GROUP BY time(10m) fill(null);SELECT mean(\"value\") FROM \"fritzbox_value\" WHERE (\"type_instance\" = 'sendrate') AND time >= now() - 7d and time <= now() GROUP BY time(10m) fill(null);SELECT mean(\"value\") FROM \"fritzbox_value\" WHERE (\"type_instance\" = 'upstreammax') AND time >= now() - 7d and time <= now() GROUP BY time(10m) fill(null)",

    "epoch": "ms"

    },

    "data": null,

    "precision": "ms",

    "hideFromInspector": false

    },

    "response": {

    "results": [

    {

    "statement_id": 0,

    "error": "not executed"

    }

    ],

    "executedQueryString": "SELECT mean(\"value\") FROM \"fritzbox_value\" WHERE (\"type_instance\" = 'receiverate') AND time >= now() - 7d and time <= now() GROUP BY time(10m) fill(null);SELECT mean(\"value\") FROM \"fritzbox_value\" WHERE (\"type_instance\" = 'downstreammax') AND time >= now() - 7d and time <= now() GROUP BY time(10m) fill(null);SELECT mean(\"value\") FROM \"fritzbox_value\" WHERE (\"type_instance\" = 'sendrate') AND time >= now() - 7d and time <= now() GROUP BY time(10m) fill(null);SELECT mean(\"value\") FROM \"fritzbox_value\" WHERE (\"type_instance\" = 'upstreammax') AND time >= now() - 7d and time <= now() GROUP BY time(10m) fill(null)"

    }

    }

    Ich habe "fritzcollectd" und die anderen Dateien unter "/usr/local/lib/python3.9/dist-packages/" gefunden und in die collectd.conf eingetragen.

    Hier der aktuelle Stand der collectd.conf:

    LoadPlugin network

    LoadPlugin python

    Hier der aktuelle Stand der influxdb.conf:

    Ich hoffe das Du damit etwas anfangen und mir weiterhelfen kannst. Nochmals vielen Dank im Voraus.

    ______________

    mfg meitoma

  • Ich hoffe das Du damit etwas anfangen und mir weiterhelfen kannst

    Debuggen kann ich bei Dir nicht. Wuerde auch ziemlich aufwaendig werden :(

    Hast Du mal das collectd Log geprueft? journalctl -t collectd. So sieht bei mir der Start aus.

    Ich kann aber Deine Konfigs mit meinen vergleichen. Dazu benoetige ich aber die vollstaendigen Dateien. Wenn Du sie hier nicht einstellen moechtest kannst Du sie mir auch per PN zuschicken.

    Die DB not found Meldung ist so wie ich sehe korrekt denn es muss nicht die influxdb sondern die collectd sein.

    Code
    influx -execute "show databases"
    name: databases
    name
    ----
    _internal
    collectd

    Wo man das konfiguriert weiss ich aber nicht.

    Hier siehst Du dass bei mir die collectd genutzt wird:

  • Hallo Framp,

    bei der Eingabe von: sudo systemctl -t collectd erhalte ich folgende Antwort:

    Unknown unit type or load state 'collectd'.

    Use -t help to see a list of allowed values.

    Wo bzw. in welchem Verzeichnis ich diesen Befehl:

    influx -execute "show database"

    ausführen soll weiss ich leider nicht.

    Danke im voraus.

    Anbei wie gewünscht meine Dateien:

Participate now!

Don’t have an account yet? Register yourself now and be a part of our community!