Da ist doch gar nichts - Plotten von Gigabit

Es ist schön, wenn Kunden ihre eigenen Netze überwachen. Das Tool der Wahl heißt meist Nagios, Cacti oder Zabbix. Und das kann Auslastungsgraphen von Interfaces anzeigen. Ein Problem gibt es, wenn dieser Graph etwas völlig anderes anzeigt, als der des Providers.

Chaotische Graphen

Eine typische Interfacegraphik des Kunden sieht so aus. Auffällig sind die heftigen Ausschläge tagsüber. In der Nacht schaut der Graph dagegen ganz vernünftig aus.

kunden-leitung-nagios

Von Seiten des Providers ergibt sich ein ganz anderes Bild. Der Tagesgraph folgt eher der Erwartung an gewisse Stetigkeiten.

kunden-leitung-64bit

Selbstverständlich gibt es nun Streit: Wer hat Recht? Warum sind die Messungen so unterschiedlich?

Das 32-bit Ideal

Durch Rücksprache mit dem Kunden stellt sich heraus, daß die Messungen alle fünf Minuten erfolgen. Bei 100Mbps werden in diesem Zeitraum 3,8GB umgesetzt. Moment mal! War nicht bei 4GB eine Grenze für 32bit Werte? 64bit-Zähler laufen dagegen nur alle 4700 Jahre über.

Ich habe deswegen den providerseitigen Graphen noch einmal generieren lassen. Diesmal allerdings modulo 232. Und dieser Graph entspricht ziemlich genau dem Graphen des Kunden. Er hat die gleiche maximale Bandbreite, ist nachts stetig und tagsüber chaotisch.

kunden-leitung-32bit

Die Überraschung beim Kunden ist groß, denn die Software verspricht mit 64bit Werten umgehen zu können. Auch die ausgelesenen Werte am Cisco-Gerät sind die 64bit-Zähler. Evtl. Fehler sind eigentlich schon lange behoben.

Es sieht akutell danach aus, daß das Rechnungen intern mit 32bit ablaufen. Bei PHP sieht das beispielsweise so aus:

$ php -r 'echo PHP_INT_MAX;'
2147483647

Auf einer 64bit Installation dagegen hat man eher eine Chance.

$ php -r 'echo PHP_INT_MAX;'
9223372036854775807

Also steht nun die Frage, welche Module eingesetzt werden und welche Software wann was und wo verarbeitet. Da warte ich mal auf Antworten.

Standardeinstellungen

Defaultmäßig ist Cacti auf 32bit-Zähler eingestellt, Anpassungen sind an mehreren Stellen nötig. Bei Cacti gibt es eine nützliche Hilfe, alles korrekt einzustellen: fix64bit.

Das Standardtemplate von Zabbix benutzt allerdings die 32bit Zähler. Ein 64bit Template ist aber verfügbar.

Reale Einbrüche

Ein ähnliches Bild ergibt sich allerdings auch, wenn man providerseitig geeignet aggregiert. Da sind ebenfalls Einbrüche zu sehen, diese aber in ganz anderen Dimensionen. Hier ein Beispiel von einer Transitlokation, wo eingehend und ausgehend übereinander gelegt wurde.

kunden-leitung-ausfall

Der Grund für diese Einbrüche im Graphen ist allerdings viel simpler. Eine Meßstelle (c7201) war CPU-mäßig überlastet und hat schlicht sporadisch keine Werte liefen können. Aggregiert man dann über die Meßstellen, wirken sich die Fehlstellen massiv aus. Der summarische Wert ist ja nicht mehr ungültig oder nicht vorhanden, sondern die Summe wird kleiner. So hat man statt "Lücken"  nun richtig sichtbare "Einbrüche" im Graphen.

Durch Beseitigung der Störquelle verschwindet die Überlast und damit auch die Spikes im Graphen.

Post a comment

Verwandter Inhalt