Problem
Man hat verschieden Programme (Sensors, digitemp, temp), die Temperaturen zusammentragen, aber schöner währe es doch, wenn das ganze grafisch aufbereitet auf einer Website ausgegeben wird.
Dafür ist das Programm rrdtools von Tobias Oetiker wie gemacht. Grundlage ist eine Round Robin Database (RRD), die per rrdtools erzeugt, befüllt, und ausgegeben wird
Installation
Zunächst braucht man das Programm RRD-Tools.
sudo apt-get install rrdtools
Vorbereitung
Grundsätzlich sollte man ein Verzeichnis anlegen, in dem die Datenbank und die Skripte liegen
mkdir /rrd
erstes Beispiel
Da wir aber mehrere RRDs anlegen wollen, noch ein entsprechendes Unterverzeichnis
mkdir /rrd/temperatur
Als nächstes sollte man die Skriptdateien anlegen und ausführbar machen
cd /rrd/temperatur touch temp_create temp_update temp_grafik chmod ugo+x temp_create temp_update temp_grafik
Die erstellten Skripte sollen folgende Funktionen erfüllen
- temp_create soll die RRD-Datenbank für die Temperaturen mit allen Inhalten erstellen
- temp_update wird die benötigten Werte in die RRD-Datenbank schreiben
- temp_grafik erstellt die jeweilige Grafik aus den Werten, die in der Datenbank sind
Datenbank anlegen
dbname=/rrd/temperatur/temperatur.rrd rrd=/usr/bin/rrdtool $rrd create $dbname --step 60 \ DS:processes:GAUGE:120:U:U \ RRA:AVERAGE:0.5:1:2160 \ RRA:MAX:0.5:1:2160
- /usr/bin/rrdtool Aufruf des Programms
- create: Befehl zum anlegen der Datenbank
- $dbname: Datenbankname und Pfad
- –step 60: Alle 60 Sekunden wird ein Wert erwartet
- DS:temp:GAUGE:120:U:U \: Datenquelle angeben
- DS: DataSource
- temp: Name des Datensatzes
- GAUGE: Datentype; GAUGE=alle Werte werden komplett gespeichert
- 120: maximale Wartezeit für den Datensatz, ansonst wird UNKNOWN hineingeschrieben
- U:U: keine Minimal- und Maximalwerte
- RRA:AVERAGE:0.5:1:2160: Anlegen des ersten Round Robins
- RRA: Round Robin Archiv
- AVERAGE: Speichert den Mittelwert
- 0.5: Abweichung, die in die Datenbank gespeichert wird
- 1: Jede Minute ein Wert
- 2160: Werte, die in der RRD gespeichert werden (Berechnung: 24h*)
- RRA:MAX:0.5:1:2160: Anlegen des zweiten Round Robins
- RRA: Round Robin Archiv
- MAX: Speichert den Maximalwert
- 0.5: Abweichung, die in die Datenbank gespeichert wird
- 1: Jede Minute ein Wert
- 2160: Werte, die in der RRD gespeichert werden (Berechnung: 24h*)
Diskussion