Gänzlich unpolitisch und rüpelfrei bespitzeln

25.02.2012 17:25 von /cbx, derzeit 1.22654 Kommentare

Send to Kindle

Damit dieses Bild von Angela Merkel in SS-Uniform wieder aus meinem Kopf verschwindet, hier noch ein Bericht aus dem Kinderzimmer des IT-Bäschtlers. Ich hatte ja bereits von meinem heldenhaften Server-Upgrade berichtet. Um sicherzustellen, dass diese Arbeit auch wirklich eine dramatische Verbesserung der Allgemeinsituation zur Folge hatte, musste ich in Ermangelung einer eigenen Presseabteilung, die für mich Wahrheiten herbeiberichten könnte, einige eigene Messungen durchführen.

Dazu habe ich ganz entgegen meinen sonstigen Gepflogenheiten keine neuen Räder erfunden, sondern lediglich zwei Tools zur Anwendung gebracht. Erstens den wirklich phänomenalen Systemmonitor dstat, der auf grandios einfache Art sämtliche systemrelavanten Kennwerte eines unixoiden linuxoiden Rechnersystems als zeitliche Mittelwerte in sauber formatierten Tabellen ausgeben kann. Zweitens das datagraphische Schweizermesser für den uninspirierten Nerd, gnuplot.


[Traffic am Interface ppp0 (Internet) in der Nacht auf Samstag]

Auf dem Server läuft eine dstat-Instanz, die alle 60 Sekunden einen Mittelwert der gemessenen Kenngrößen in ein Logfile schreibt:

/usr/bin/dstat -t -a -D,sda,sdb,sdc -N,eth1,eth2,ppp0 --top-bio 
--integer --noheaders --output /var/www/localhost/cgi-bin/dstat.log 60

Zusammen mit etwas Scripting habe ich daraus ein nettes Überwachungstool gebastelt. Kernstück ist ein CGI-Skript, das eine stündliche und tägliche Auswertung der dstat-Protokolle erzeugt:

#!/bin/bash
# stündliche Auswertung
cd /storage/web/
tail -n60 /var/www/localhost/cgi-bin/dstat.log >dstat.dat
./cpustat.plot >/dev/null 2>&1
./hdstat.plot  >/dev/null 2>&1
./netstat.plot >/dev/null 2>&1
./ppp0stat.plot >/dev/null 2>&1

Gnuplot erzeugt aus diesen Auszügen dann schöne Bilder. Beispielsweise über eine solche Konfigurationsdatei:

#!/usr/bin/gnuplot
set datafile separator ','
set terminal png
set output "docs/hdd.png"
set title "Harddisk usage"
set xlabel "time"
set ylabel "MBytes/s"
set xdata time
set timefmt "%d-%m %H:%M:%S"
set format x "%H:%M"
plot "dstat.dat" using 1:($8/1048576) title "rd sda" with lines, \
"dstat.dat" using 1:($9/1048576) title "wr sda" with lines, \
"dstat.dat" using 1:($10/1048576) title "rd sdb" with lines, \
"dstat.dat" using 1:($11/1048576) title "wr sdb" with lines, \
"dstat.dat" using 1:($12/1048576) title "rd sdc" with lines, \
"dstat.dat" using 1:($13/1048576) title "wr sdc" with lines

Und aus diesen Bildern kann man dann auch allerhand lesen. Das oberste Bild beispielsweise zeigt ein mehrstündiges grünes Plateau, das die nächtliche Datensicherung zu meinem Backupserver hier in Weil der Stadt markiert. Später folgt dann ein höheres rotes Plateau, das die Übertragung des komprimierten und verschlüsselten Backups von unserem Web- und Mailserver in Thüringen anzeigt.


[Selten in freier Wildbahn zu sehen: Serverfestplatten beim Virenscan]

Heute Nachmittag hingegen konnte ich den wöchentlichen Virenscan (eine eher politische Maßnahme) beobachten. Von Festplatte sdc wird kontinuierlich mit knapp 30MBytes/s gelesen. Da die Festplatte selbst für rund das Vierfache dessen gut wäre, stellt ich die Frage, wo der Flaschenhals liegen mag. Dies Frage beantwortet das folgende Bild dann klar:


[Was stellt der Virenscanner mit der CPU an?]

Der F-Prot Virenscanner benutzt genau einen CPU-Kern und der schafft beim Mustervergleich offenbar nicht mehr als 30MBytes pro Sekunde. So weit zum hehren Wissensgewinn. Natürlich taugt das Tool auch zur Bespitzelung. Anhand der scharf abbrechenden roten Spitzen des Internet-Graphen (ganz oben) kann ich messerscharf folgern, dass der letzte Mitarbeiter um 17:45 seinen Computer ausgeschaltet haben muss.

Und dass dieser Schluss korrekt ist, weiß ich, weil dieser Mitarbeiter ich selbst war.

/cbx, Kategorie: Linux LeidenSchaf(f)t - Schöngeistlos

 

Eigener Senf dazu?

  1. Martin Lesser gab am 25. Februar 2012, 19:59 folgenden Senf dazu:

    dstat für “… Kennwerte eines unixoiden Rechnersystems …” ist nur bedingt zutreffend: linuxoide Systeme wäre zutreffender. Auch wenn es Bemühungen gibt, das mit Hilfe der Notlösung linprocfs(5) auch auf z.B. FreeBSD verfügbar zu machen – angekommen ist das dort noch nicht wirklich, dafür gibt es dann andere Schätze, die den umgekehrten Weg noch nicht gefunden haben…

    Der 8,3te Leser dieses Blogs, heute mal etwas erbsenzählerisch…

    /cbx meint dazu:

    Haha! Das war klar. Ich habe wirklich darüber nachgedacht, ob ich "Linux-Systeme" oder eben _unixoid_ schreibe. Aber es ist immer schön, wenn jemand mein Geschreibsel überhaupt genau liest. Die Korrektur ist übrigens schon eingeflossen ;-)

Kommentarfunktion für diesen Artikel geschlossen.