ich biete hier ein Script an, das folgende Daten mitloggt und daraus Graphen erstellt:
- CPU Last in Prozent
- Load 1min/5min/15min
- Festplatten-Auslastung für bis zu 12 Paritionen
- Temperatur der Systemkomponenten CPU,Motherboard, Gehäuse und Festplatte
- Speicherauslastung
Beispiel/Demo: http://flacons.org/rrdtool/
Vorrausetzungen:
- Ein Kernel 2.6.x (sonst funktioniert das CPU-Modul nicht)
- Konfigurierte LM_Sensors für das Temperatur-Modul (Dafür gebe ich hier keine Anleitung)
- Installiertes hddtemp für die Festplatten-Temerpatur. Es muss auch eure Platte erkennen.
- Installiertes RRDTool mit Version>=1.2 (bitte nachschaun, es geht wirklich nicht darunter)
- ca. 15MB freien Speicherplatz
Installation:
1. Ein Verzeichniss anlegen wohin installiert wird. In meinem Beispiel /opt/rrdtool:
Code: Select all
mkdir /opt/rrdtool
cd /opt/rrdtool
Code: Select all
wget http://www.dbruhn.de/div/domstat.tar.gz
tar -xvzf domstat.tar.gz
Code: Select all
sh install.sh
Mit dem bevorzugten Editor die config.sh öffnen:
Code: Select all
nano config.sh
debug Zum testen auf 1 setzten, nacher auf 0 sonst gibt unmengen an Mails vom Cron-Daemon
inputdir Verzeichniss in dem die Dateien liegen, in meinem Fall also /opt/rrdtool . Bitte ohne Slash dahinter
rrdtoolbin Der volle Pfad zur RRDTool-Binary. Herausfinden mit 'which rrdtool'. Sollte auf Debian und Gentoo passen.
outputdir Verzecihniss in dem die Ausgabe-Dateien also Bilder usw erstellt werden. Sollte irgendwo in euerem webroot liegen. Auch ohne Slash dahinter.
dotemps Auf 0 setzten falls ihr das Temperatur-Modul nicht nutzen wollt weil ihr es nicht eingerichtet habt.
modules So lassen außer ihr wollt bestimmte Statistiken nicht erstellen lassen.
times Welche Zeitspannen sollen erstellt werden. Sie rrdtool-doku, wenn ihr einen weiteren Zeitbeeich wollt einfach hier hinzufügen.
indextime Welcher Zeitraum soll auf der Übersicht angezeigt werden?
Festplatten-Modul
X sei eine Zahl zwischen 1 und 12 dann ist:
lpX Paritionsname. Dieser muss eindeutig in 'df' sein. Bitte nur Partitionen eintragen die dort aufgeführt sind.
lpXl Beschreibung. Ein frei wählbarer Name der die Parition beschreibt
lpXc Eine Farbe: HTML-Farbcode bestehend aus 6 Hex-Ziffern ohne das # davor
Temperatur-Modul
Vor dieser Konfiguration testen ob sensors richtige Ausgaben macht.
temp_cpu Name des CPU-Temperatur-Sensors in der "sensors" ausgabe. Meistens "CPU Temp". Vor jedes leerzeichen MUSS ein davor (escaping).
temp_cpu_s Enthält der Name des Sensors ein Leerzeichen dann hier 3 setzten, sonst 2.
Für die anderen beiden Sensoren (mb und case genauso)
temp_hdd Festplatten-Device das mitgeloggt werden soll.
5. Daten-Sammeln testen:
Code: Select all
sh update.sh
6. Cronjob für den Datensammler anlegen:
Code: Select all
crontab -e
Code: Select all
*/1 * * * * /opt/rrdtool/update.sh
7. In der config-datei das debugging ausschalten
8. Einige Stunden warten und den root-mail-account prüfen ob fehlermeldungen ankommen.
9. Das Generator-Script ausprobieren:
Code: Select all
sh generate.sh
10. Einen Cronjob für das generate-Script anlegen (Vorschlag: Jede Stunde, kann aber auch mehr oder weniger sein)
Code: Select all
crontab -e
Code: Select all
0 * * * * /opt/rrdtool/generate.sh
Das wars, es wäre nett, wenn ihr einen Link für die Statistiken sehen lasst und ein bischen feedback geben würdet.
Gruß
TO