Ankündigung

Einklappen
Keine Ankündigung bisher.

Erste Schritte Grafana mit influxdb unter openHAB HowTo

Einklappen
X
 
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

    [Codebeispiel] Erste Schritte Grafana mit influxdb unter openHAB HowTo

    Ich versuche hier mal eine Schritt-für-Schritt Anleitung für Grafana :-)

    Als erstes benötigen wir die aktuelle Version von influxdb und Grafana.

    Achtung! Es hat sich rausgestellt, dass sich seit meiner Installation erhebliche Änderungen ergeben haben. Die Anleitung gilt für influxdb 0.8.8 (0.9 verwendet eine andere API und ist bisher nicht mit openHAB kompatibel!) und Grafana 1.9.1 (das ist die letzte Version, die ohne Installationsprogramm auskommt und auch nicht zwingend ein Datenbankbackend mit mySQL, postgres oder sqllite3 für die Konfiguration benötigt.)

    An beiden Stellen muss man sich den zum Betriebssystem bzw. Packer passenden Link zum Download raussuchen.

    influxdb wird über Kommando installiert. Anschließend kann man die Datenbank über http://serverip:8083 administrieren, also Datenbanken und User anlegen.

    Der Default-User heißt root, das Passwort root (kann und sollte man unter dem Menüpunkt ClusterAdmins anpassen).

    Benötigt wird eine Datenbank für openhab und eine für Grafana, damit Grafana seine Konfigurationen sichern kann. Also im Menü Databases auswählen, den Datenbanknamen eintragen (openhab für die erste, grafana für die zweite Datenbank), alles andere kann auf default bleiben, eventuell kann jemand hier noch etwas beisteuern, der sich gut mit influxdb auskennt?
    Sobald die Datenbank erzeugt ist, taucht sie auf der selben Seite oben in der Liste auf. Wenn man nun in dieser Liste auf den Datenbanknamen klickt, kann man User für die Datenbank anlegen. Ich habe der Einfachheit halber einen user openhab mit Passwort bahnepo für beide Datenbanken eingetragen. In beiden Datenbanken muss der User Admin-Rechte haben, damit er Tabellen für die items bzw. Config anlegen darf.

    Weiter geht's mit Grafana. Das Zip- oder Tar-Archiv wird in ein Verzeichnis ausgepackt, auf das der openhab-User Leseberechtigung benötigt. Anschließend erzeugen wir im Ordner openHAB-Startverzeichnis/webapps einen Link auf das Grafana-Verzeichnis, der Name des Links wird später benötigt, wenn die Grafana-Seite aufgerufen werden soll, also bietet sich grafana an.

    Im Verzeichnis grafana gibt es eine Datei config.sample.js, die wir nach config.js kopieren und anschließend anpassen.
    Zuerst tragen wir im Abschnitt influxdb den fqdn oder notfalls die ip ein, also nicht localhost, die url lautet also http://fqdn-oder-ip:8086/db/openhab und http://fqdn-oder-ip:8086/db/grafana, der username openhab, das Passwort bahnepo. Bei der Grafana-Datenbank wird zusätzlich noch grafanaDB: true eingetragen.
    Achtet auch darauf, dass in der Sample-Datei alle DB-Config-Blöcke mit /* und */ auskommentiert sind, diese beiden Zeilen müssen also für den influxdb-Block entfernt werden.

    Am Ende der Datei gibt es noch globale Optionen, mit denen z.B. ein Passwort definiert werden kann, damit nicht jeder Änderungen abspeichern kann.

    Abschließend muss noch das influxdb-Binding in den addons-Ordner kopiert und in der openhab.cfg korrekt konfiguriert werden, also
    Code:
    influxdb:url=http://localhost:8086 # wenn influxdb auf dem gleichen Rechner wie openhab installiert ist, ansonsten natürlich die ip oder der fqdn
    influxdb:user=openhab
    influxdb:password=bahnepo
    influxdb:db=openhab
    Ach ja, natürlich müssen wir noch unterhalb configurations/persistence eine Datei namens influxdb.persist anlegen, die Schreibweise ist genau wie bei den anderen .persist-Dateien.

    Wenn alles richtig gemacht wurde (und ich hier keinen Schritt vergessen habe :-) ) kann man jetzt grafana unter http://openhabrechner:8080/grafana erreichen.

    Um erste Kurven zu sehen, konfigurieren wir den schon vorhandenen Grafen, also auf no title (klick here) klicken und im Menü edit auswählen.
    Unter dem Punkt Metrics ist schon die erste Datenzeile zu sehen, unter series reicht es, ein paar Zeichen einzugeben, die im gesuchten item vorkommen, z.B. habe ich ein Item Current_Temp, da reicht schon Cu, anschließend muss nur das Item aus der aufpoppenden Liste ausgewählt werden. (Hier tauchen natürlich nur items auf, die bereits mindestens einmal von influxdb persistiert wurden!)
    alias ist der Name des Items, wie er in der Legende angezeigt werden soll, noch schnell oben auf das Disketten-Symbol klicken, fertig.

    Jetzt fehlt natürlich noch, die schicken Grafiken in openHAB zu integrieren, aber das gehört sicherlich nicht zu den ersten Schritten :-) und wenn grafana erstmal installiert ist, weckt die Oberfläche ohnehin den Spieltrieb, schon weil man so schnell mit wenigen Klicks tolle Ergebnisse zu sehen bekommt :-)
    Zuletzt geändert von udo1toni; 05.05.2015, 15:45. Grund: Versionen ergänzt wegen Inkompatibilitäten

    #2
    Sehr schön, is doch glatt was fürs Handbuch.
    Vielen Dank für Deine Mühen und Deine Initiative.
    Hoffe das macht Schule
    Grüße
    Heiko

    Kommentar


      #3
      Bot sich so an, weil ich das grade umgesetzt habe (und dabei ein paarmal überlegen musste, warum es noch nicht geht... )

      Kommentar


        #4
        auf welcher Hardware läuft das denn bei Dir? Ich probier es gerade auf einem Odroid U3 zumlaufen zu bekommen. Aber irgendwie will InfluxDB nicht so richtig?!

        Kommentar


          #5
          Auf dem U3 wird influx nicht laufen, da die Pakete alle nur für x86 gebaut sind, der U3 ist aber ein ARM-Derivat. Keine Ahnung, ob es irgendwo doch eine angepasste Version gibt, oder wie aufwändig das selbstkompilieren wird.

          Kommentar


            #6
            Ich denke, die meisten ARMs werden mit dem Binary von dieser Seite laufen:

            Raspberry Pi Home Server - Install InfluxDB

            Ansonsten findet sich da eine gute Anleitung zum selber Kompilieren.

            Kommentar


              #7
              Vielleicht eine blöde Frage, da ich diese DB noch nicht kenne. Aber läuft die DB nicht irgendwann über? Gibt es da Aufräum-Mechnismen oder muss ich mir da selbst was überlegen?
              Die Grafiken sind wirklich g... :-) und ich werde das auch ausprobieren, zumal jetzt ein super HowTo existiert, Danke!!!
              Das praktische an RRD ist halt, da wird nix größer ...

              Viele Grüße
              Michael

              Kommentar


                #8
                Ich habe das HowTo wie oben beschrieben ausgeführt:
                - InfluxDB funktioniert und sammelt Werte.
                - grafana nach HowTo angelegt und openhab Rechte darauf geben. Der Link grafana liegt im webapps-Verzeichnis.

                Aber beim Aufruf http://<IP>:8080/grafana kommt die Fehlermeldung:

                HTTP ERROR 404

                Problem accessing /grafana. Reason:
                ProxyServlet: /grafana
                Powered by Jetty://

                Was mache ich falsch? Ich habe OH 1.7.0 Snapshot 841 im Einsatz.

                Kommentar


                  #9
                  Liegt der komplette Grafana-Ordner im webapps-Ordner? Da müsste ja auch der index.html drin sein, und der wird automatisch ausgeliefert, wenn du http://dein-server:8080/grafana aufrufst. Wenn das alles bei dir so ist, dann weiß ich auch nicht.

                  Was gut zum Testen funktioniert: Den Grafana-Ordner lokal auf deinen PC legen und dort mit Doppelklick auf die index.html öffnen (natürlich muss dann im lokalen Ordner die config.js korrekt bearbeitet sein.

                  Kommentar


                    #10
                    Hi bremer,

                    der Hinweis "Liegt der komplette Grafana-Ordner im webapps-Ordner?" war's!!!
                    Ich hatte nur einen Linka auf den grafana Ordner im webapps Verzeichnis liegen, wie im obigen HowTo beschrieben. Mit dem Link funzt es nicht, aber den Ordner direkt nach webapps kopiert ... jetzt geht's.
                    Danke für die Antwort, ich probiere jetzt bestimmt schon seit 3 Stunden rum...

                    Viele Grüße
                    Michael

                    Kommentar


                      #11
                      Freut mich. Hängt wahrscheinlich von der Art des Links ab, ich denke, unter Linux/Unix/MacOS funktioniert ein symbolischer Link genauso wie der Ordner selbst, unter Windows wahrscheinlich nicht (da hab ich mich sowieso schon manches Mal gefragt, wofür Links überhaupt gut sind).

                      Kommentar


                        #12
                        Das hätte ich unter Linux eigentlich auch so erwartet, mein OH läuft unter Debian.

                        Kommentar


                          #13
                          Also bei mir (debian) läuft das mit symbolischem Link.

                          Wichtig ist halt, dass die Rechte genau stimmen, sowohl der (symbolische) Link als auch das verlinkte Verzeichnis müssen dem openhab-User gehören (oder er muss zumindest die passenden Rechte haben).
                          Außerdem könnte es sein, dass der Link unvollständig ist. Es funktionieren natürlich nur absolute Links, also
                          Code:
                           ln -s /pfad/zum/grafana-verzeichnis/ /openhab-verzeichnis/webapps/grafana

                          Kommentar


                            #14
                            Hi udotoni,
                            ich möchte ja nicht zuviel Unruhe stiften, da es jetzt funktioniert. Aber genau die von Dir genannten Voraussetzungen hatte ich erfüllt und es ging leider nicht mit dem Sym-Link, hmmm.... keine Ahnung, ich hätte auch genau das erwartet, was Du geschrieben hast.

                            Viele Grüße
                            Michael

                            Kommentar


                              #15
                              Zitat von staehler Beitrag anzeigen
                              ich möchte ja nicht zuviel Unruhe stiften
                              Keine Sorge, tust Du nicht.
                              Was gibt's noch für Möglichkeiten...

                              Wenn ich mich richtig erinnere, muss das Verzeichnis auf dem selben physikalischen Datenträger liegen. Mit Symlinks und eventuell im Dateisystem eingehängten Datenträgern kann es da zu Problemen kommen.

                              Weiterhin wäre natürlich möglich, dass der Webserver irgendeine Policy hat, dass Symlinks nicht gefolgt werden darf.

                              Allerdings kann ich mich nicht entsinnen, je etwas in der Richtung konfiguriert (bzw. wegkonfiguriert) zu haben, und ich spiele in unregelmäßigen Abständen die Nightly-Version ein, die bei mir immer produktiv läuft - ich kann ja jederzeit in wenigen Sekunden zurück, so dass sogar meine Regierung bereitwillig mit testet, und bis auf wenige Ausreißer hatte ich noch nie Probleme, aber 'bleeding edge'-Funktionen :-) - soll heißen, dann dürfte der Symlink bei mir auch nicht funktionieren.
                              Oder gibt es da auf Debian-Seite was zu konfigurieren? Ich bin mir, was das betrifft unsicher, kann mich aber auch da nicht erinnern, bewusst irgendwo was ab- oder eingeschaltet zu haben. Ich nutze

                              Debian 7.6 mit Kernel 3.2.0-4-amd64,
                              Oracle Java 8u25 und
                              openHAB 1.7.0 Nightly (aktuell #836)

                              Debian läuft bei mir als pv-domU unter Xen 4.4.1, aber das dürfte nun überhaupt keinen Einfluss haben :-)

                              Kommentar

                              Lädt...
                              X