Navigation

Start Projekte Tutorials & Texte Archiv

Unternavigation

ADSL Downstream

Eigentlich sollte sich ein ADSL-Modem immer mit der gleichen Geschwindigkeit verbinden. Allerdings kann die Verbindungsgeschwindigkeit eines ADSL-Modems unter bestimmten Umständen (schlechte Leitung, Überhitzung, ...) unter den normalen Wert abfallen.

Dieser Check fragt die Downstream-Geschwindigkeit über SNMP ab. In Verbindung mit Erweiterungen wie Nagiosgrapher lässt sich diese über längere Zeiträume grafisch aufbereiten. Darüber hinaus sieht man natürlich auch, ob überhaupt eine Verbindung besteht.
Das Beispiel bezieht sich auf Vigor-Router, lässt sich aber auf die meisten SNMP-fähigen Router mit integriertem Modem anwenden.

Zuerst will der Wert überhaupt gefunden werden. Grundsätzlich ist er unter "ifSpeed" hinterlegt, allerdings muss der Index, also die laufende Nummer des Ports, nicht unbedingt 0 sein. Wenn der Router die IP-Adresse 192.168.0.254 hat, SNMP in Version 2c spricht und die Community "read" verwendet, sieht der Befehl so aus:
# snmpwalk -v 2c -c read 192.168.0.254|grep ifSpeed IF-MIB::ifSpeed.1 = Gauge32: 100000000 IF-MIB::ifSpeed.2 = Gauge32: 64000 IF-MIB::ifSpeed.3 = Gauge32: 64000 IF-MIB::ifSpeed.4 = Gauge32: n
Der gesuchte Port ist hier 4 (1 ist FastEthernet, 2 und 3 sind B-Kanäle). Das lässt sich an zwei Punkten feststellen:
  1. 1 ist für eine VDSL-Verbindung zu schnell, 2 und 3 sind für "DSL-Light" zu langsam.
  2. n wird ein eher "krummer" Wert sein.
Nun geht es an die Befehlsdefinition. Wenn man noch weitere Betriebsdaten aus dem Router auslesen will, sollte dies in einer eigenständigen Datei passieren:
# nano /etc/nagios3/plugin-config/vigor2600.cfg define command{ command_name vigor_adsl_downstream command_line /usr/lib/nagios/plugins/check_snmp -H $HOSTADDRESS$ -C $ARG1$ -o .1.3.6.1.2.1.2.2.1.5.4 -l "ADSL downstream" -w $ARG2$ -c $ARG3$ }
-o entspricht dabei der vollständigen OID, die 4 am Ende ist der Index. Wenn man IF-MIB::ifSpeed gerade mal nicht auswendig weiß, kann man es durch
# snmpwalk -v 2c -c read -O n 192.168.0.254|grep n
herausfinden (n: Verbindunggeschwindigkeit, s.o.).

Zuletzt werden die Checks des Routers erweitert und Nagios wird neu gestartet:
# nano /etc/nagios3/systems/router.cfg [Hostdefinition] [Andere Checks] define service{ use generic-service host_name router service_description ADSL downstream check_command vigor_adsl_downstream!read!2047999:!0: } ^O^X # /etc/init.d/nagios3 restart
Bei dieser Konfiguration führen Verbindungsgeschwindigkeiten unter 2MBit zu einem WARNING. CRITICAL wird der Check nur dann, wenn überhaupt keine Verbindung besteht.