Die beliebte IT-Monitoring-Software OpenNMS ist ein eventgetriebenes System: Jeder Vorgang – wie zum Beispiel der Ausfall eines überwachten Geräts oder Dienstes – ist ein Event. Auch SNMP-Traps oder Syslog-Nachrichten können von OpenNMS empfangen und in ein Event umgewandelt werden. Mehrere gleichartige Events fasst OpenNMS auf Wunsch zu einem Alarm zusammen. So melden zum Beispiel viele Switches den Ausfall eines Lüfters in einem regelmäßigen Intervall (zum Beispiel alle fünf Minuten) per SNMP-Trap an OpenNMS. Jeder Trap wird dabei in ein eigenes Event umgewandelt; gleichartige Events können zu einem Alarm zusammengefasst werden. Alarme werden in der Weboberfläche dargestellt und lassen sich entweder manuell oder durch einen „Gegenalarm“ (Beispiel: Gerät ausgefallen – Gerät wieder verfügbar) auflösen.
Über das Notification-System können Benachrichtigungen beim Auftreten einzelner Events verschickt werden. Benutzer können sich so unter anderem per E-Mail oder SMS über Ausfälle benachrichtigen lassen. Nachrichten können dabei auch für eine bestimmte Zeit (zum Beispiel zehn Minuten) zurückgehalten werden, um nicht für jeden kurzen Aussetzer in der Verfügbarkeit mehr oder weniger erhebliche Konsequenzen zu verursachen – wie zum Beispiel den Bereitschaftsdienst wachzuklingeln. Eine Benachrichtigung ist dabei jedoch nur auf Basis einzelner Events möglich. Erste Ansätze zur Weiterleitung von Alarmen findet man in den verschiedenen Northbound Interfaces, die OpenNMS zum größten Teil seit Version 17.1.0 liefert. Die Konfiguration einer zeitlichen Verzögerung ist dabei aber noch nicht möglich.
Der OpenNMS AlarmForwarder
Mit dem Tool OpenNMS AlarmForwarder können Benachrichtigungen nun auch auf Basis von Alarmen durchgeführt werden. Die Konfiguration findet hier über eine Weboberfläche oder REST API statt, die zugehörigen Daten werden in einer PostgreSQL-Datenbank abgelegt. Man kann eine oder mehrere OpenNMS Installationen als Quellen angeben, über welche die aktuellen Alarme mittels der OpenNMS REST API in einem regelmäßigen Intervall (Standard: alle 30 Sekunden) abgefragt werden. Die Alarme lassen sich bereits vorfiltern, sodass zum Beispiel nur nicht bestätigte Alarme ohne „StickyMemo“ berücksichtigt werden.
Eine oder mehrere Benachrichtigungsziele können über die Weboberfäche eingerichtet werden. Dabei ist es in der aktuellen Version von AlarmForwarder möglich, E-Mails über einen SMTP-Server zu versenden, Tickets im Ticket-System OTRS zu erzeugen oder eine SMS über die SMSEagle-Appliance zu versenden. Eine Implementierung weiterer Benachrichtigungsarten ist ebenfalls recht einfach möglich.
Mit Hilfe von Forwarding Rules wird definiert, welche Alarme an welche Benachrichtigungsziele weitergeleitet werden. Alarme können dabei zum Beispiel durch die Angabe der UEI, der Logmessage oder durch Alarm-Parameter gefiltert werden. In jeder Forwarding Rule kann eine Verzögerung für die Benachrichtigung und ein Limit für die maximale Anzahl an weitergeleiteten, aktiven Alarmen eingerichtet werden. Das Limit verhindert bei größeren Ausfällen mit vielen aktiven Alarmen eine Benachrichtigungsflut und deaktiviert nach einer bestimmten Anzahl weitere Benachrichtigungen mit einem Hinweis.
Das Tool AlarmForwarder gibt es als OpenSource mit der zugehörigen Dokumentation auf der NETHINKS Github Seite zum Download.
Ihre weitergehenden Fragen zu IT-Monitoring mit OpenNMS beantworten wir gerne persönlich – Anruf oder E-Mail genügt!