RRD Konfiguration

Installation und Anwendung von Datenbankschnittstellen wie SQLite, PostgreSQL, MariaDB/MySQL, der DB-API 2.0 und sonstigen Datenbanksystemen.
Antworten
Elytaax
User
Beiträge: 1
Registriert: Mittwoch 2. Dezember 2015, 08:20

Hallo,
ich möchte mit python eine Datenbank für eine Reihe von Sensorwerte anlegen.
Da ich diese später auf einem Webserver visualisieren möchte, habe ich mich für das RRDTool entschieden.

Zum Umfang: 40 Sensoren mit á 4 Werten (=160 Werte). Speicherung alle 15 min für die letzten 3 Jahre.

Mir ist leider noch nicht klar, wie ich dies richtig strukturieren kann. Erstelle ich da eine Datenbank und bennene die Datensätze einfach entsprechen alla:

Code: Alles auswählen

ret = rrdtool.create("Test.rrd", "--step", "300",
"DS:Sensor1_a:Gauge:600:U:U",
"DS:Sensor1_b:Gauge:600:U:U",
"DS:Sensor1_c:Gauge:600:U:U",
"DS:Sensor2_a:Gauge:600:U:U",
"DS:Sensor2_b:Gauge:600:U:U",
"DS:Sensor2_c:Gauge:600:U:U",
"DS:Sensor3_a:Gauge:600:U:U",
 "RRA:AVERAGE:0.5:1:600",
 "RRA:MAX:0.5:1:600")
oder lege ich am besten für alle Sensoren eine eigene Datenbank an?

Zudem stellt sich mir die Frage, wie ich die maximaldauer der Datensätze einstellen kann, wie lang diese gespeichert werden, da beim RRD ja die letzten irgendwann wieder gelöscht werden (Ringbuffer). Ich möchte ja schließlich die Daten für 3 Jahre aufheben.

Hoffe ihr könnt mich da etwas aufklähren.
Benutzeravatar
noisefloor
User
Beiträge: 3856
Registriert: Mittwoch 17. Oktober 2007, 21:40
Wohnort: WW
Kontaktdaten:

Hallo,

verstehe ich das richtig, dass du rrdtool in erster Linie gewählt hast, weil es die Visualisierung an Bord hat?

IMHO ist rrdtool für dich nicht unbedingt das richtige - eben wegen der drei Jahre. Da ist vielleicht eine "normale" RDBMS + eine Python-Lib zum erzeugen von Graphen besser. Oder du wirst mal eine Blick auf Influx DB - die ist nämlich genau für deinen Anwendungsfall gemacht.

Gruß, noisefloor
Antworten