Vor kurzem hat uns ein Kunde damit beauftragt, die einwandfreie Funktion von Serial Gateways mit OpenNMS zu überwachen. Der Hintergrund: An Serial Gateways werden die seriellen Management-Schnittstellen von Routern und Switches angeschlossen, um ein Management der Komponenten auch bei einem Problem mit der Netzwerkverbindung zu ermöglichen. Die Verbindung erfolgt per Telnet/SSH auf einen bestimmten TCP-Port des Serial Gateways und ermöglicht den Zugriff auf die Konsole des jeweils angeschlossenen Netzwerkgeräts. In unserem Fall sollte mit OpenNMS überwacht werden, ob die Konsole des Netzwerkgeräts per Telnet über das Serial Gateway erreichbar ist und nach dem Absenden eines Newline-Characters ein Login-Banner angezeigt wird.
Proprietärer Telnet-Monitor für OpenNMS
OpenNMS bietet keinen eigenen Telnet-Monitor und führt die Überwachung standardmäßig durch den TcpMonitor durch, der die Erreichbarkeit eines TCP-Ports überprüft. In unserem Fall war der TCP-Port des Serial Gateways dauerhaft offen – unabhängig davon, ob ein Netzwerkgerät für den Konsolenzugriff angeschlossen war. Um den Anforderungen unseres Kunden zu entsprechen, haben wir einen erweiterten Telnet-Monitor erstellt, der als BsfMonitor realisiert ist. Dieser verbindet sich mit einem konfigurierbaren Port und baut eine Telnet-Session auf. Anschließend wird ein sogenannter „Newline-Character“ gesendet und danach überprüft, ob eine Ausgabe empfangen wird.
Für die Einrichtung des Monitors muss das Skript “telnet-monitor.bsh” (Download: Telnet-Monitor) auf dem OpenNMS-Server hinterlegt werden. Der nachfolgende Abschnitt muss in der poller-configuration.xml eingetragen werden:
name=“Telnet-ext“ status=“on“ user-defined=“false“ interval=“30000″>
key=“file-name“ value=“/etc/opennms/scripts/telnet-monitor.bsh“ />
key=“lang-class“ value=“beanshell“ />
key=“bsf-engine“ value=“bsh.util.BeanShellBSFEngine“ />
key=“file-extensions“ value=“bsh“ />
key=“port“ value=“23″ />
key=“timeout“ value=“5000″ />
</service>
Die folgenden Parameter müssen dabei angepasst werden:
port | Telnet Port |
timeout | Timeout für den Zugriff |
Ihre Fragen zu OpenNMS beantworten wir gerne. Sprechen Sie uns einfach an – telefonisch oder per E-Mail.