Lancom Router per SNMP überwachen

von Roland Rickborn

Dieses Posting erklärt, wie man eine Management Information Base (MIB) eines Lancom Routers auf einem Linux Server für die Überwachung per SNMP installiert.

Problemstellung

Ein Router des Herstellers Lancom hat immer wieder Performance Probleme und soll deshalb automatisch überwacht werden. Der Router unterstützt das Simple Network Management Protocol SNMP [1], worüber alle relevanten Informationen des Routers ausgelesen werden können. Für die Überwachung soll nicht das vom Hersteller angebotene Tool SNMP Monitor verwendet werden, sondern der sowieso vorhandene Monitoring Server mit der Open Monitoring Distribution (OMD) [2].

Lancom verwendet in seinen Routern neben den Managed Objects der Internet Assigned Numbers Authority (IANA) und der Internet Engineering Task Force (IETF) auch eigene Managed Objects. Die dafür nötige Management Information Base (MIB) kann man direkt aus dem Router beziehen. In diesem Knowledge Base Eintrag [3] mit dem Titel "SNMP und MIB" wird beschrieben, wie man die MIB erhalten kann.

MIB installieren

Der Monitoring Server läuft unter Ubuntu precise (12.04.4 LTS) und die MIBs der IANA und IETF wurden bereits installiert. MIBs befinden sich bei Ubuntu im Verzeichnis "/usr/share/mibs". Für die neue MIB von Lancom wird das Verzeichnis "lcos" angelegt und anschließend die MIB vom Router dorthin kopiert:

sudo mkdir /usr/share/mibs/lcos
sudo cp LC-UNIFIED-LCOS-9-00-REL-OIDS.mib /var/lib/mibs/lcos/LC-UNIFIED-LCOS-9-00-REL-OIDS

Abschließend muss die SNMP Konfigurationsdatei bearbeitet werden:

sudo vi /etc/snmp/snmp.conf

In die Datei fügt man folgende Zeilen am Ende an:

mibdirs +/usr/share/mibs/lcos
mibs +LCOS-MIB

Nach einem Neustart des SNMP Dienstes stehen die neu importierten Managed Objects für Abfragen zur Verfügung.

sudo service snmpd restart

Beispiel

Um die neue MIB zu prüfen, bieten sich beispielsweise folgende Abfragen an:
Informationen und Details über die gesamte Menge an Arbeitsspeicher des Routers:

user@omd $ snmptranslate -Td -OS LCOS-MIB::lcsStatusHardwareInfoTotalMemoryKbytesLCOS-MIB::lcsStatusHardwareInfoTotalMemoryKbytes
LCOS-MIB::lcsStatusHardwareInfoTotalMemoryKbytes
lcsStatusHardwareInfoTotalMemoryKbytes OBJECT-TYPE
  -- FROM       LCOS-MIB
  SYNTAX        Integer32 (0..2147483647)
  MAX-ACCESS    read-only
  STATUS        current
  DESCRIPTION   ""
::= { iso(1) org(3) dod(6) internet(1) private(4) enterprises(1) lancom-systems(2356) lcos(11) lcsStatus(1) lcsStatusHardwareInfo(47) 4 }

Abfrage der gesamten Menge an Arbeitsspeicher

user@omd $ snmpwalk -t 2 -r 2 -v 1 -c public 192.168.0.1 LCOS-MIB::lcsStatusHardwareInfoTotalMemoryKbytes
LCOS-MIB::lcsStatusHardwareInfoTotalMemoryKbytes.0 = INTEGER: 262144

Nagios Plugin

Damit ist es also möglich, Lancoms Managed Objects des Routers per SNMP abzufragen. Um die Überwachung automatisiert von unserem Monitoring Server durchführen zu lassen, benötigt man passende Nagios Plugins. Für die Überwachung der CPU Nutzung [4], der Temperatur [5] und des verwendeten Arbeitsspeichers [6] des Routers habe ich passende Plugins erstellt und auf Nagios Exchange veröffentlicht. Die Plugins lassen sich, wie alle Plugins, in Nagios als neues Kommando einbinden. Die Command-Direktive für die CPU Nutzung sieht beispielsweise wie folgt aus:

define command {
  command_name                   check_snmp_router_cpu
  command_line                   $USER2$/check_snmp_router_cpu.sh -H $HOSTADDRESS$ -C $ARG1$ -w $ARG2$ -c $ARG3$
}
Bild Caption Test

Mit dem Webinterface Thruk lassen sich die Einstellungen angenehm am Browser durchführen. 
Dazu passend sieht die Service-Direktive wie folgt aus:

define service {
  service_description            router_check_snmp_cpu
  host_name                      router01
  use                            check_mk_perf
  check_command                  check_snmp_router_cpu!public!80!90
  check_interval                 1
  check_period                   24X7
  contact_groups                 support
  flap_detection_enabled         0
  max_check_attempts             1
  retry_interval                 1
}

Im Webinterface Thruk ist das die Service-Direktive:

Mit diesen Einstellungen überwacht Nagios automatisch alle 60 Sekunden den Zustand des Routers. Die Nagios Plugins sind so angelegt, dass die Rückgabewerte von Nagios als PerfData interpretiert werden können. In Verbindung mit dem Template check_mk_perf erstellt Nagios ansehnliche Grafiken mit den Leistungsparametern des Routers.

Zurück