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*)
Quellen