September 27

Traffic überwachen mit NRPE&vnstat

Zur Überwachung meiner Server benutze ich u.a. OpenNMS und wollte gerne,
dass ich einen Alarm bekomme, sobald ein Interface auf einem Server
eine gewisse Anzahl pps oder MBit/s überschreitet.
Per Konsole kann man sich das auf Linux-Systemen ganz nett mit vnstat ausgeben lassen (apt-get install vnstat):
vnstat -i eth0 -tr
Um das dann auch per OpenNMS zu überwachen, habe ich mir ein kleines Check-Script geschrieben (siehe Anhang). Ausser vnstat benötigt es zur Umrechnung der
Einheiten noch bc (apt-get install bc).

Das Script kommt dann zu den anderen Plugins des NRPE-Clients (bei Ubuntu /usr/lib/nagios/plugins , bei CentOS x64 /usr/lib64/nagios/plugins/).
Die Syntax lautet check_vnstat [rx/tx] [limit in mbit oder pps als ganzzahl] [interface] [mode]
mode kann hierbei bw (Bandbreite in MBit/s) oder pps (Pakete pro Sekunde) sein.
Beispiel: check_vnstat tx 20 eth0 bw
Prüft dann also, ob auf dem Interface eth0 gerade (vnstat nimmt hier den Durchschnitt über 5 Sekunden) mehr als 20 Mbit/s rausgehen (also TX).
Die Ausgabe sieht in dann wie folgt aus:
root@s1:~# /usr/lib/nagios/plugins/check_vnstat tx 20 eth0 bw
TRAFFIC OK - tx Bandwith 324.80 kbit/s kbit/s on eth0
 check_vnstat für Nagios gibt es dann den Exit-Code 0 zurück – also alles in Ordnung.
Oder eben:
TRAFFIC ALERT! - tx Bandwith 25.77 Mbit/s Mbit/s on eth0 mit Exit-Code 2 -> Critical. OpenNMS interpretiert bekanntlich ja aktuell leider
nur OK oder Critical. Code 1 – Warning wird ebenso als Alarm gewertet, dementsprechend habe ich in dem Check darauf verzichtet.

Nicht vergessen, das Script mit chmod +x noch ausführbar zu setzen. Dann noch mit den entsprechenden Werten in die nrpe.cfg übernehmen, nrpe neustarten und
den Check im OpenNMS bekannt machen (also in die poller-configuration.xml und ggf. in die default-foreign-source.xml eintragen).
Beim Eintrag in’s NMS nicht vergessen den timeout entsprechend hoch anzusetzen, da das Script aufgrund des Samplings eine Laufzeit von etwa 5-6 Sekunden hat.

Ausgaben im OpenNMS sehen dann wie folgt aus:

traffic-check-nms-detail

Das Script im Anhang hat noch die .txt Endung, weil WordPress sonst jammert  – die muss natürlich weg.

Download: check_vnstat


Schlagwörter: , ,

Veröffentlicht27. September 2014 von gerger in Kategorie "Allgemein

1 COMMENTS :

  1. By Gero on

    Hallo,
    das ist doch mal was. Super!. Nun noch Performance-Datenausgabe und für pnp4nagios ein Script zur grafischen Darstellung. Mal schaun. Teste mal etwas und würde mich wieder melden.

    Gero

    Antworten

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert.