+ Antworten
Seite 1 von 3 1 2 3 LetzteLetzte
Ergebnis 1 bis 10 von 26
  1. #1
    Registriert seit
    Feb 2011
    Beiträge
    595

    Standard HowTo: Analyse und Monitoring mit Grafana

    Hier möchte ich ein kleines Mini-Tutorial zur Verfügung stellen, wie man recht einfach Daten aus Symcon in Grafana visualisiert oder analysiert. Ich werde in Grafana selbst nicht ins Detail gehen, sonder hier in erster Linie aufzeigen was man braucht und wie die Datenübergabe funktioniert. Habe mich mit Grafana auch erst ein paar Tage auseinandergesetzt und lerne noch täglich dazu. Für mich war das ganze aber einfacher als HighCharts, mit welchem ich nie so zurecht kam. Linux und oder Docker Kenntnisse sind hier Voraussetzungen. Ich selbst habe keiner Ahnung von Programmierung und bin daher immer von anderer Leute Kenntnis angewiesen. So mal als kleiner Disclaimer

    Als kleine Veranschaulichung ein Bildchen meiner Batterievisualisierung.

    Klicken Sie auf die Grafik für eine größere Ansicht 

Name:	Batterie.jpg 
Hits:	228 
Größe:	160.7 KB 
ID:	47235

    Was wird benötigt:

    • Symcon
    • influxdb <-- Datenbank
    • Grafana <-- Visu


    auf welchen Systemen ihr diese 3 laufen lasst bleibt euch überlassen. Mein Favorit ist natürlich Docker, da ich sie alle auf meiner Synology Diskstation laufen lassen kann und mir um Backups oder defekte SD Karten keine Sorgen machen muss.

    Raspi
    Hier eine kleine Anleitung für die Installation von influxdb und Grafana.
    Den "Telegraf" Anteil könnt ihr in der Anleitung weglassen...
    Ein Kollege hat diese Anleitung erfolgreich genutzt. Mehr kann ich zum Raspi jetzt aber nicht sagen, da ich alles im Docker laufen lasse, weshalb ich dort mehr ins Detail gehe.


    Docker

    Code:
    docker run -d --name influxdb -p 8086:8086 -v /volume1/docker/influxdb:/var/lib/influxdb influxdb
    Auf der Synology dem User SYSTEM RW Rechte für grafana Ordner geben ! Sonst läuft der Container nicht.
    Code:
    docker run -d --name grafana -p 3000:3000 -v /volume1/docker/grafana:/var/lib/grafana grafana/grafana
    Das Datenbanksystem "influxdb" hat selber keine Weboberfläche, welche aber auch nicht benötigt wird, da wir nur ein Commando zum anlegen einer Datenbank brauchen.

    Datenbank "spannungen" erstellen:
    Code:
    curl -i -XPOST http://IPADRESSE_influxdb:8086/query --data-urlencode "q=CREATE DATABASE spannungen"
    Nun kommen wir zu dem symcon Anteil. Hier einmal vielen Dank an Stephan. Das Scypt habe ich aus seinem Blog.
    Um in meinem Beispiel die Batteriespannung in die zuvor angelegte Datenbank "spannungen" in influxdb zu schreiben legen wir ein Scypt an welches wir nachher bei Variablenaktualisierung triggern.

    Klicken Sie auf die Grafik für eine größere Ansicht 

Name:	1.JPG 
Hits:	120 
Größe:	23.9 KB 
ID:	47229

    Zeile 2: IP Adresse und Datenbankname von influxdb
    Zeile 4: Variable eintragen (Bei mir "Batteriespannung" siehe Screenshot)
    Zeile 9: Hier denkt ihr euch eine Struktur aus. Am besten legt ihr euch eine Exel Datei an um zu gucken wie für euch die Struktur nachher am besten passt. z.B. Tabllenblatt "sma" (sma ist mein Hersteller der PV WR usw); Spalte "batterie"; Zeile "gesamt"; (value <-- kann man auch bezeichnen wie man mag... )

    PHP-Code:
    <?
    $out 
    ="http://192.168.2.2:8086/write?db=spannungen";
     
    $spannung GetValueFloat(57296 /*[PHP_Module\SMA\Sunny Island 8.0H\Batteriespannung]*/) ;
    $ch curl_init($out);
     
    curl_setopt($chCURLOPT_RETURNTRANSFER);
    curl_setopt($chCURLOPT_POST,           );
    curl_setopt($chCURLOPT_POSTFIELDS,     "sma,SunnyIsland=batteriegesamt value=" $spannung );
     
    $result=curl_exec ($ch);
    $error=curl_error($ch) ;
     
    echo 
    $result ;
    echo 
    $error ;
    ?>
    Script ausführen... es sollte kein Fehler erscheinen. Falls es ein Formatierungsfehler beim übergeben der Variable mit "Komma" kommt, bitte Zeile 9 wie folgt abändern. (Bei mir gehts wie oben beschrieben... bei einem Kollegen nur mit Anpassung)
    PHP-Code:
    curl_setopt($chCURLOPT_POSTFIELDS,     "sma,SunnyIsland=batteriegesamt value=" number_format($spannung/1,1,'.','') ); 

    Wenn ihr wollt, könnt ihr im Terminal vom Docker Container über einen Befehl nachschauen ob euer Wert erfolgreich geschrieben wurde.
    Code:
    curl -G 'http://192.168.2.2:8086/query?pretty=true' --data-urlencode "db=spannungen" --data-urlencode "q=SELECT "value" FROM "sma" WHERE "SunnyIsland"='batteriegesam'"
    Als Ergebnis erhaltet ihr dann den oder die geschriebenen Werte.


    Grafana
    Kommen wir nun zur Anzeige der Werte als Beispiel ein "SingleStat" im Gauge Format.

    Grafana erreicht ihr über http://IPADRESSE_GRAFANA:3000

    Legt euch zu allererst ein neues Dashboard an..... dann oben rechts "AddPanel" -> "SingleStat"
    Sollte dann so aussehen.
    Klicken Sie auf die Grafik für eine größere Ansicht 

Name:	2.JPG 
Hits:	116 
Größe:	17.6 KB 
ID:	47230

    Nun klickt ihr oben auf die Bezeichnung...dann auf "Edit"
    Klicken Sie auf die Grafik für eine größere Ansicht 

Name:	3.JPG 
Hits:	121 
Größe:	24.5 KB 
ID:	47231

    Datenbank auswählen und in der Queryabfrage die entsprechenden Felder per dropdown auswählen.
    (Im folgenden Screenshot hab ich leicht andere Bezeichnungen als oben im Script.. nicht wundern)
    Klicken Sie auf die Grafik für eine größere Ansicht 

Name:	4.JPG 
Hits:	165 
Größe:	59.1 KB 
ID:	47233

    Im Reiter "Options" hakt ihr "Gauges"
    Klicken Sie auf die Grafik für eine größere Ansicht 

Name:	5.JPG 
Hits:	149 
Größe:	146.0 KB 
ID:	47234

    Es gibt noch viel mehr Möglichkeiten, aber dafür bitte in die Doku schauen oder sich auf der Grafana Seite Beispiele anschauen.
    IPS 5.0 @ Synology Docker DS916+ / RaspBerryMatic / influxDB / Grafana / ipsView / Sonos / PhilipsHue / Z-Wave / IP-Cams / Ubiquity / Amazon Echo

  2. #2
    Registriert seit
    Mar 2014
    Ort
    Mücke (Hessen)
    Beiträge
    846

    Hi thezepter,

    vielen Dank für die Anleitung. Werde heute abend mal Testen

    Gruß
    IPS v5.0 Unlimited auf Ubuntu Server | IPSView | EnOceanPi | Z-Wave (Razberry) | Sonos | Fritzbox 7390 | 1-Wire | DMX | Dali | Pokeys57E | Siemens Logo 8 | Siemens S7-1200 | Wago SPS | KNX | Onkyo AVR | ModBus | HomeMatic@piVCCU | ESP8266 | MQTT | Ubiquiti | und noch viel mehr geplant

  3. #3
    Registriert seit
    Mar 2014
    Ort
    Mücke (Hessen)
    Beiträge
    846

    Hi thezepter,

    Grafan Läuft Cooles Teil.
    Habe anstatt influxdb eine MySQL genommen (läuft sowieso auf der NAS).

    Fazit:

    Grafana + MySQL + Modul: IPSMySQLArchiv von Nall-chan = TOP!

    Gruß
    IPS v5.0 Unlimited auf Ubuntu Server | IPSView | EnOceanPi | Z-Wave (Razberry) | Sonos | Fritzbox 7390 | 1-Wire | DMX | Dali | Pokeys57E | Siemens Logo 8 | Siemens S7-1200 | Wago SPS | KNX | Onkyo AVR | ModBus | HomeMatic@piVCCU | ESP8266 | MQTT | Ubiquiti | und noch viel mehr geplant

  4. #4
    Registriert seit
    Feb 2011
    Beiträge
    595

    Zitat Zitat von sewo Beitrag anzeigen
    Hi thezepter,

    Grafan Läuft Cooles Teil.
    Habe anstatt influxdb eine MySQL genommen (läuft sowieso auf der NAS).

    Fazit:

    Grafana + MySQL + Modul: IPSMySQLArchiv von Nall-chan = TOP!

    Gruß
    Wie cool ist das denn ?! Das hatte ich nicht auf dem Schirm. Schreibt das Modul einfach alle "gewünschten" Variablen in eine MYSQL Datenbank ? Ist das ähnlich einfach ? Kann auf meiner Diskstation ja auch eine MySQL DB installieren.
    IPS 5.0 @ Synology Docker DS916+ / RaspBerryMatic / influxDB / Grafana / ipsView / Sonos / PhilipsHue / Z-Wave / IP-Cams / Ubiquity / Amazon Echo

  5. #5
    Registriert seit
    Mar 2014
    Ort
    Mücke (Hessen)
    Beiträge
    846

    Hi,

    Schreibt das Modul einfach alle "gewünschten" Variablen in eine MYSQL Datenbank ?
    Ja


    Ist das ähnlich einfach ?
    Noch einfacher
    Modul Installieren und die gewünschte Variablen eintragen.

    Klicken Sie auf die Grafik für eine größere Ansicht 

Name:	sql.PNG 
Hits:	96 
Größe:	146.0 KB 
ID:	47251
    Klicken Sie auf die Grafik für eine größere Ansicht 

Name:	sql2.PNG 
Hits:	109 
Größe:	27.8 KB 
ID:	47252

    Bei mir läuft MariaDB+phpMySQL was in der NAS im Packetcenter vorhanden ist.

    Gruß

    PS:

    Danke an Nall-chan für das IPSMySQLArchiv Modul.

    EDIT:

    wie erstellt man ein Balkendiagramm in Grafana
    Geändert von sewo (11.01.19 um 13:02 Uhr)
    IPS v5.0 Unlimited auf Ubuntu Server | IPSView | EnOceanPi | Z-Wave (Razberry) | Sonos | Fritzbox 7390 | 1-Wire | DMX | Dali | Pokeys57E | Siemens Logo 8 | Siemens S7-1200 | Wago SPS | KNX | Onkyo AVR | ModBus | HomeMatic@piVCCU | ESP8266 | MQTT | Ubiquiti | und noch viel mehr geplant

  6. #6
    Registriert seit
    Feb 2011
    Beiträge
    595

    Uii da werd ich mich dann mal dran machen...

    Schau mal hier, da kannst du dir alle möglichen Diagramme anschauen und in der Demo auch editieren und gucken wie es geht.
    IPS 5.0 @ Synology Docker DS916+ / RaspBerryMatic / influxDB / Grafana / ipsView / Sonos / PhilipsHue / Z-Wave / IP-Cams / Ubiquity / Amazon Echo

  7. #7
    Registriert seit
    Mar 2014
    Ort
    Mücke (Hessen)
    Beiträge
    846

    Hallo Leute,

    wie bekomme ich die Graphen ins IPSView?
    Im WebFront werden die Angezeigt und im IPSView nicht.

    Hat jemand ein Tipp?

    Gruß
    IPS v5.0 Unlimited auf Ubuntu Server | IPSView | EnOceanPi | Z-Wave (Razberry) | Sonos | Fritzbox 7390 | 1-Wire | DMX | Dali | Pokeys57E | Siemens Logo 8 | Siemens S7-1200 | Wago SPS | KNX | Onkyo AVR | ModBus | HomeMatic@piVCCU | ESP8266 | MQTT | Ubiquiti | und noch viel mehr geplant

  8. #8
    Registriert seit
    Apr 2009
    Ort
    Franken
    Beiträge
    570

    Hallo zusammen,

    finde das mit GRAFANA extrem spannend, da ich hier sehr viel Potential gegenüber den bisherigen in IPS realisierten Chartdarstellungen (Highcharts, PHP-Charts, AM-Charts, ….. , und auch die nativen von IP Symcon) sehe.

    Ich habe bei meinen ersten Versuchen probiert, ob ich GRAFANA über die MySQL-Schnittstelle einbinden kann. Dazu nutze ich das Modul von Michael, um in eine MySQL-DB die IPS-Variablen übertragen zu können. Das klappt soweit auch ganz gut.

    Anbei die Struktur beim Zugriff aus Access:

    Klicken Sie auf die Grafik für eine größere Ansicht 

Name:	GRAFANA_Access.jpg 
Hits:	58 
Größe:	41.0 KB 
ID:	47272

    Bei der Definition des Dashboards komme ich aber nicht weiter, da GRAFANA bei SELECT nur Column:ID und nicht Column:value zulässt. Na ja, die aufsummierten IDs darzustellen, macht dann auch nicht gerade Freude

    Klicken Sie auf die Grafik für eine größere Ansicht 

Name:	GRAFANA_Dashboard.jpg 
Hits:	78 
Größe:	97.3 KB 
ID:	47273

    Anbei noch das von GRAFANA gebaute SQL-Statement dazu:

    Klicken Sie auf die Grafik für eine größere Ansicht 

Name:	GRAFANA_SQL+.jpg 
Hits:	50 
Größe:	31.5 KB 
ID:	47274

    Für hilfreiche Hinweise wäre ich sehr dankbar.

    Gruss
    Bernd

  9. #9
    Registriert seit
    Mar 2014
    Ort
    Mücke (Hessen)
    Beiträge
    846

    Hi Bernd,

    da musste ich auch Suchen.
    du musst auf :id Klicken (nicht auf Column) und bekommst die Auswahl zwischen id & value.


    Klicken Sie auf die Grafik für eine größere Ansicht 

Name:	graph.PNG 
Hits:	86 
Größe:	21.5 KB 
ID:	47276

    Gruß
    IPS v5.0 Unlimited auf Ubuntu Server | IPSView | EnOceanPi | Z-Wave (Razberry) | Sonos | Fritzbox 7390 | 1-Wire | DMX | Dali | Pokeys57E | Siemens Logo 8 | Siemens S7-1200 | Wago SPS | KNX | Onkyo AVR | ModBus | HomeMatic@piVCCU | ESP8266 | MQTT | Ubiquiti | und noch viel mehr geplant

  10. #10
    Registriert seit
    Feb 2011
    Beiträge
    595

    Ich hab seit dem ich das SQL Modul nutze gaaanz andere Probleme ^^ Ip symcon kommt nicht mehr aus dem Pott. 1 Sec. in symcon sind 20-30 sec. in Echtzeit

    Es liegt am Modul "Nall-chan/IPSMySQLArchiv" <--- deaktiviert und alles rennt wieder. Schade......

    Kann ich also nicht nutzen. Ich hab einige Variablen hinzugefügt, darunter auch Leistungswerte meines Stromzählers, der sekündlich pro Phase neue Werte bekommt. Ist symcon so schwach, oder liegt es an dem Modul oder an der Datenbank ? puhhh

    Ich frag mal im Modulthread bei Michael nach.
    Geändert von thezepter (12.01.19 um 11:04 Uhr)
    IPS 5.0 @ Synology Docker DS916+ / RaspBerryMatic / influxDB / Grafana / ipsView / Sonos / PhilipsHue / Z-Wave / IP-Cams / Ubiquity / Amazon Echo

Ähnliche Themen

  1. HowTo - SML-Stromzähler mit IPS Auslesen
    Von mr_cg im Forum Haustechnik
    Antworten: 59
    Letzter Beitrag: 01.03.19, 22:31
  2. Grafana / wie Charts realisieren?
    Von disaster123 im Forum Allgemeine Diskussion (2.x/3.x)
    Antworten: 12
    Letzter Beitrag: 10.01.19, 10:57
  3. IPSView FAQ und Howto's
    Von Brownson im Forum IPSStudio & IPSView
    Antworten: 29
    Letzter Beitrag: 12.10.18, 23:26
  4. Howto: RaZberry mit IP-Symcon
    Von wupperi im Forum Z-Wave
    Antworten: 73
    Letzter Beitrag: 27.03.17, 21:39
  5. SQLite DB Design analyse
    Von zorax9b im Forum Allgemeine Diskussion (2.x/3.x)
    Antworten: 0
    Letzter Beitrag: 29.12.09, 21:55