Für die Analyse von Performance-Werten bzw. der Auslastung von Linux-Servern greift man meist unter anderem auf die “Sysstat”-Sammlung zurück, um sich einen raschen Überblick der Stati von Netzwerk,CPU und Co. zu verschaffen: iostat, vmstat, sar usw.
Für eine Momentaufnahme ist der Aufruf über die Kommandozeile auf einem Server auch übersichtlich genug, um sich ein Urteil bilden zu können. Vergleicht man jedoch Werte über einen oder mehrere Zeiträume hinweg und ggfs. auch noch auf mehreren Servern, da sie gemeinsam ein Cluster, eine Cloud, ein Storage bilden oder sonst in irgendeiner Abhängigkeit stehen, wird es umständlich und eine andere Lösung muss her. Ein Graph!
In der Regel werden Performance-Daten über das Monitoring-System und dessen Checks gesammelt und zu einem Graphen visualisiert, den man dann ansehen und für sich interpretieren kann. Der Informationsgehalt ist meist ausreichend, da man über einen längeren Zeitraum betrachtet Änderungen oder Abweichungen, z.B. einen Anstieg, leicht erkennen kann. Bei schnellen Änderungen in kürzeren Zeiträumen kann ohne Anpassungen die eine benötigte Information leicht untergehen und im Durchschnitt verschwinden.
Für eine sekundengenaue- und einer Live-Ansicht von Performance-Graphen habe ich gestern eine leichtgewichtige Lösung ausprobiert: Quickstatd. Quickstatd ist ein kleines und einfaches Tool, bestehend aus Bash- und Gawk-Skripts, dass Sysstat-Daten parsed und direkt an Graphite weiterreicht. Damit ist der Funktionsumfang auch schon gänzlich beschrieben 🙂 Im Prinzip ist die Funktionsweise ein Aufruf wie folgt:
"sar -n DEV 1 | gawk -f /script/in/dem/die/Werte/geparsed/werden | nc mein.graphite.host 2003"
Mit Sar werden jede Sekunde, im vorangegangen Beispiel die Netzwerkaktivität, an gawk gepiped. Das wiederum parsed die Werte und schreibt sie im Graphite-Format (Bezeichnung Wert Timestamp) an Stdout bzw. piped es weiter an Netcat. Netcat wiederum schickt den String an den Graphite-Collector. In Graphite muss nur noch das Storage-Schema auf die sekundengenaue Speicherung der Werte angepasst werden und et voilà hat man sekundengenau Live-Graphen.
Bildschirmfoto 2013-08-09 um 12.42.37

Sebastian Saemann
Sebastian Saemann
Head of Managed Services

Sepp kam von einem großen deutschen Hostingprovider zu NETWAYS, weil ihm dort zu langweilig war. Bei uns kann er sich nun besser verwirklichen, denn er leitet zusammen mit Martin das Managed Services Team. Wenn er nicht gerade Server in MCollective einbindet, versucht er mit seinem Motorrad einen neuen Geschwindigkeitsrekord aufzustellen.