Kleines Statistik-Script
Posted: 2006-06-13 16:22
Hallo Leute,
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:
2. Datei runterladen & entpacken
3. RRD-Dateien anlegen
4. Konfigurierern:
Mit dem bevorzugten Editor die config.sh öffnen:
Allgemeines
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:
Es müssten jetzt die verschiedenen Werte aufgeführt werden, am besten überprüfen. Wenn eine Fehlermeldung kommt nochmal alles genau checken.
6. Cronjob für den Datensammler anlegen:
Dort einfügen
Den Pfad evtl anpassen
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:
Es sollten jetzt im Ausgabe-Verzeichniss viele gif-dateien und einige html-dateien existieren, einfach mal mit dem browser anschaun ob alles passt
10. Einen Cronjob für das generate-Script anlegen (Vorschlag: Jede Stunde, kann aber auch mehr oder weniger sein)
Dort einfügen
Pfad evtl anpassen.
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
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