#Sonstiges | Grafana zur Darstellung der UniFi Daten nutzen inkl. Info Display

  • Was wollen wir?

    Einfache und schnelle Übersicht der wichtigsten Daten, ohne sich anmelden zu müssen.

    Betriebsdaten aus dem UniFi Universum extern abrufen und darstellen.


    Warum wollen wir das?

    Weil wir es können und Spaß daran haben.

    Und wie geht das genau?


    Welche Hardware benötigen wir für dieses Projekt?

    • einen Raspberry Pi (in meinem Fall ein Pi 4 mit 4 GB) getestet auch mit einem Pi 3 B
    • z.B. das offizielle 7 Zoll Touchscreen Display (es würde aber auch jeder andere Bildschirm funktionieren) Das Ganze würde auch ohne Display funktionieren, rein per Netzwerk.
    • eine Blende nach Wahl (für Rackmontage)

    Welche Software benötigen wir für dieses Projekt?

    • Raspberry Pi OS with desktop (oder LITE falls ohne Display am Pi gewünscht)
    • Docker
    • Grafana
    • InfluxDB

    Grafana, InfluxDB und unpoller werden automatisch in je einem Container installiert, darum müssen wir uns nur mit einem Befehl kümmern.


    Ein lauffähiges OS mit SSH wird vorausgesetzt


    Punkt 1:


    Als erstes bringen wir die Software auf den aktuellen Stand der Dinge:

    Code
    sudo apt-get update && sudo apt-get upgrade

    Die Firmware würde ich persönlich nicht updaten, da nach dem Update das Display nicht mehr funktioniert hat.


    Nun installieren wir Docker::

    Code
    curl -sSL https://get.docker.com | sh

    Nach der erfolgreichen Installation, fügen wir Pi zu den Docker Benutzern hinzu und starten den Pi neu:

    Code
    sudo usermod -aG docker pi
    sudo shutdown -r now

    Loggt euch erneut als Pi ein und testet, ob Docker funktionsfähig ist:

    Code
    docker run hello-world

    Es wird einen Moment dauern und ein paar Fehlermeldungen ausspucken, da Docker noch nicht gestartet wurde. Am Ende erscheint aber diese Meldung:

    Code
    Hello from Docker!
    This message shows that your installation appears to be working correctly.

    Erhalten wir diese Nachricht, installieren wir nun python3-pip und docker-compose zum verwalten der Container:

    Code
    sudo apt install -y python3-pip libffi-dev
    sudo pip3 install docker-compose


    Punkt 2:


    Nun legen wir in der Benutzerverwaltung des Controllers einen neuen Benutzer an:


    Firstname: Unifi

    Lastname: Poller

    Account Type: local

    Role: Limited Admin

    Username: unifipoller

    Password: Wie ihr wollt



    Wie auf dem Bild zu sehen, erlauben wir nur Unifi Network "Read Only", der Rest wird auf None gestellt.

    Habt ihr diese Einstellungen vorgenommen, speichert den Benutzer. Nun sind wir fertig.


    Punkt 3:


    Nun erstellen wir die benötigten Verzeichnisse, damit Grafana/InfluxDB und Docker ihre Daten ablegen können:

    Code
    cd; mkdir docker
    cd docker
    mkdir unifi-poller
    mkdir grafana
    mkdir influxdb
    cd unifi-poller

    nun erstellen wir per nano ein neues File:

    Code
    nano unifi-poller.conf

    und fügen folgenden Code ein:

    Code
    [unifi.defaults]
      url  = "https://Controller-IP:8443"
      user = "unifipoller"
      pass = "PollerPASSWORD"
      save_dpi = true
    [influxdb]
      url  = "http://Raspberry-IP:8086"

    ACHTUNG bei UNIFI-OS Geräten muss :8443 entfernt werden ! Pass = "xxx" dort muss euer Passwort eingetragen werden.


    Nun wechseln wir das Verzeichnis mit cd .. nach /home/pi/docker und fügen ein neues File hinzu:

    Code
    cd ..
    nano docker-compose.yaml

    und fügen folgenden Code unverändert hinzu:



    Punkt 4:


    Nachdem die Daten nun alle erstellt worden sind, laden wir nun den Inhalt der Docker Container herunter (Grafana/InfluxDB/unpoller)

    Code
    docker-compose up

    und warten folgende Meldung ab (dauert je nach Raspberry Version unterschiedlich)

    Code
    unpoller    | 2020/06/18 12:08:50 [INFO] UniFi Metrics Recorded. Sites: 1, Clients: 67, UAP: 6, USG/UDM: 1, USW: 5, IDS Events: 0, Points: 1837, Fields: 11307, Errs: 0, Elapsed: 599ms

    Seht ihr diese Meldung, könnt ihr euch per Webbroswer und der http://Raspberry-IP:3000 auf der Grafana Weboberfläche anmelden.

    Die Logindaten sind:


    -admin

    -admin


    Das Passwort müsst ihr ändern, dabei spielt es keine Rolle, welches ihr nehmt.


    Nun seid ihr auf der Grafana Startseite. Mit dem Zahnrad musst ihr nun eine "Data Source" hinzufügen.

    Klickt auf add data source -> InfluxDB select


    Nun tragt ihr bei URL, die IP des Pi + :8086 ein:



    Bei Database/User/Password jeweils unifi am Ende klickt ihr auf "Save & Test"


    Als nächsten Schritt müssen wir die Datenbanken importieren, dazu geht ihr wie folgt vor:


    Nun tragt ihr 10414 in das Feld ein:

    und klickt auf Load, es erscheint folgende Ansicht:

    Bei UniFi-Poller (rot umrandet) müsst ihr InfluxDB auswählen!

    Nun klickt ihr auf Import.

    Den beschriebenen Weg führt ihr nun für folgende Datenbanken durch:

    Code
    10414, 10415, 10416, 10417, 10418 und 10419


    Habt ihr dies erledigt, stoppt die Ausgabe im Terminal mit STRG-C und fügt folgenden Code ein:

    Code
    docker-compose up -d

    Dieser Code lässt Docker automatisch nach einem Reboot starten.


    Nun könnt ihr per http://Raspberry-IP:3000 Grafana wie gehabt öffnen und eure Dashboards + Daten auf jedem Gerät im Netzwerk bewundern :smiling_face: In meinem Fall per 7" Touchdisplay.


    Wollt ihr den Unifi Poller entfernen, führt einfach folgende Befehle aus:

    Code
    docker-compose down
    rm -r /home/pi/docker/*




    Da ich nur 3 weitere Screenshots hochladen kann, folgen 3 Übersichten die man durch Grafana erhält:



    Weitere Bilder findet ihr hier:


    RE: Info-Display im Serverschrank



    Disclaimer: Alle Anleitungen/Tutorials sind nach bestem Wissen und Gewissen verfasst, gehen immer von den definierten Software/Firmware-Versionen aus und sind auf das englische GUI ausgelegt.

    Es gibt keine Garantien auf Erfolg. Im Falle eines Misserfolges hilft aber sicherlich die Community hier immer weiter.

    Keiner der Autoren oder der Betreiber des Forums ist für die aus der Nutzung resultierenden Probleme/Herausforderungen verantwortlich.

    Jegliche hier beschriebenen Schritte erfolgen ausnahmslos in eigener Verantwortung des Durchführenden. Eltern haften für ihre Kinder.

Kommentare 43

  • @hYtas


    Vielen Dank für deinen Beitrag! :smiling_face::thumbs_up:


    Leider kann ich die Installation nach Eingabe des Code: docker-compose up nicht weiterführen.

    In der unifify-poller conf habe ich den Port :8443 nicht mit angegeben.


    Auch die http://raspberry-ip:3000/ lässt sich nicht öffnen, die Seite wird nicht gefunden.

    Im pi-hole ist die Seite freigegeben.


    Die UDM Pro wurde auch für den Syslog-Server eingerichtet.


    Die Installation habe ich auf einem Raspi Model 4 B mit dem Raspberry Pi OS Lite (32-bit) angestossen.


    Kannst Du Hilfestellung geben?


    Danke Dir :smiling_face:


    Gruß Frank

    • :8443 musst du mit angeben, auch wenn du es nicht nutzt.

      Halte dich einfach stumpf an die Anleitung, dann sollte es funktionieren. Hatte das etliche mal ausprobiert.


      das "raspberry-ip" hast du aber durch die IP ersetzt :grinning_squinting_face: ?

    • @yYtas

      Danke für deine Antwort.


      :8443 habe ich nun mit angegeben, hat aber auch nicht geholfen.


      Folgendenr Fehler läuft auf:

      up-poller | 2022/04/21 09:56:04 [ERROR] Controller 1 of 1 Auth or Connection Error, retrying: unifi controller: (user: unifipoller): https://192.168.1.1:8443/api/login (status: 404 :frowning_face: authentication failed

      Das PW des unifipoller habe ich mehrfach geändert. Verstehe nicht warum die Meldung kommt.

      Die Anleitung habe ich strikt eingehalten (pi bestimmt schon 10 mal neu aufgesetzt und von vorne angefangen :frowning_face: )

      Port ist in der UDM auch freigegeben.

      Hast Du noch eine Idee?

    • Kopiere hier mal die conf Dateien rein.

    • [unifi.defaults]

      url = "https://192.168.1.1:8443"

      user = "unifipoller"

      pass = "xxxxxxxx"

      save_dpi = true

      [influxdb]

      url = "http://192.168.1.19:8086"

  • Hallo Community,


    ich habe ein Problem mit der Internetverbindung, immer wieder Aussetzer. Nun habe ich den Poller nach Anweisung installiert, um das WAN Interface zu monitoren.


    In der Rubrik "WAN Errors & Drops" wird aber nur eine lineare Linie für Error Rx und Error TX angezeigt. Ich habe auch für 5 Minuten, zu Testzwecken, das Patchkabel am WAN Interface der UDM-Pro abgesteckt und auch das Kabelmodem neu gestartet. All das hatte keinerlei Auswirkungen auf den "Graph" im Dashboard "WAN Errors & Drops".


    Hat jemand eine Idee, wie man auf dem WAN Interface ein richtiges Monitoring macht ?


    Dankbar für jede Antwort !!!


    _Grüße


    Reinhard

    • Es ist die Frage, ob Unifi dort passende Werte liefert. Eigentlich zeigen die Graphen die Änderungen an.


      Erstell doch mal ein Thema im Forum, es gibt bestimmt "bessere" Möglichkeiten die WAN Verbindung zu überwachen.

    • ok, danke für die Antwort, werde ich machen

  • ist das normal ?

    Nach "docker-compose up" kommen nach einiger Zeit diese Meldungen

    Code
    up-poller       | 2021/07/08 14:04:33 [INFO] Re-authenticating to UniFi Controller: https://127.0.0.1:8443
    up-poller       | 2021/07/08 14:04:33 [ERROR] metric fetch for InfluxDB failed: re-authenticating to https://127.0.0.1:8443: unifi controller: making request: Get "https://127.0.0.1:8443/": dial tcp 127.0.0.1:8443: connect: connection refused

    Warum geht er auf die Host IP und nicht auf meine Controller IP..... eine Erklärung dafür?

    • Was hast du in den 2 Config Dateien geschrieben? Kannste ja mal in meinem Thread dazu posten 😊

    • Sobald ich morgen wieder in der Firma bin👍

    • Meintest du die unpoller.conf oder die yame Datei?

      Bei der Conf natürlich mein Controller IP ohne 8443, da UDM Pro

      Username und Passwort und zum Schluss die Raspi IP.

      Die yaml habe ich von dir übernommen, vorher mal überflogen, aber nix zum ändern/eintragen gefunden/bemerkt.

    • Die yaml muss nicht editiert werden, wenn liegt es an der conf. Sonst muss man ja nichts anpassen.


      Sicher das du :8443 entfernt hast? Vllt hat er es ja falsch übernommen.


      Hab die Anleitung 3 mal durchprobiert und es ist immer durchgelaufen

    • Danke, ich prüfe es morgen nochmals und Check die Conf.

  • Vielen Dank....

    etwas ähnliches als Dashboard für die Firma (mehr allgemein)
    zur Echtzeitüberwachung alle wichtigen IT-Systeme
    sowie Serververfügbarkeit, HDD Space ..usw....
    auf einem großen 55" + FLAT_TV
    Das wärs

    • Schon mal Nagios ausprobiert?

    • nein....
      uns schwebt mehr sowas hier vor .... :winking_face:

      Gefällt mir 1
    • Ist doch Grafana, da kannst du alle Daten abgreifen.

    • wenn man sich mit dem Kram auskennt...sicherlich... :winking_face:
      Ich zähle mich nicht zu den Linux Kennern die sowas einfach mal aus dem Ärmel schütteln...

    • Hallo zusammen,

      der Fred ist zwar schon etwas älter, aber es passt thematisch hier gut hin:

      Ich habe ein QNAP-NAS und würde dort gern Grafana+unpoller zum Laufen bekommen, hat jemand für ein paar Tipps. Bisher habe ich InfluxDB und Grafana als Docker Container installiert.

      Jetzt muss ich die Kommunikation zwischen UDM-Pro --> InfluxDB --> Grafana konfigurieren und komme da aktuell nicht weiter...


      Grüße