Neben der hohen Skalierbarkeit zeichnet sich OpenNMS durch offene Schnittstellen und viele Standardmonitore aus, die bereits direkt nach der Installation zur Statusüberwachung von Diensten wie HTTP, SMTP, POP3 oder DNS einsetzbar sind. Dieses System ist über konfigurierbare Monitore noch erweiterbar, sodass dem Admin schnell eine Vielzahl an Überwachungsmöglichkeiten zur Verfügung steht, die er ohne Programmierkenntnisse nutzen kann.
Als ganz besonders nützlich erweisen sich dabei die Monitore für SNMP sowie für Windows-Dienste und Prozesse, die ihre Informationen ebenfalls via SNMP beziehen. Dieser Artikel erklärt, wie sie sich ausnutzen lassen.
Das Simple Network Management Protokoll (SNMP) wurde zur Überwachung und Steuerung von Netzwerkkomponenten entwickelt und standardisiert. Welche Informationen im Einzelnen abfragbar sind, das verrät eine sogenannte Management Information Base (MIB). Diese baumartige Struktur (Abbildung 1) speichert alle abfragbaren Merkmale. Jedes Merkmal ist über einen Object Identifier (OID) erreichbar.
Im produktiven Umfeld sind für das Netzwerk-Management die Bereiche der Standard MIB II (1.3.6.1.2.1.*) und der Herstellerbereich unter dem Enterprises-Zweig (1.3.6.1.4.1.*) relevant. Die Standard MIB II ist durch die IETF definiert, und alle Hersteller sollten sie einheitlich implementieren. Sie beinhaltet zum Beispiel Systeminformationen wie den SNMP-Gerätenamen, die Parameter von Netzwerkinterfaces, Routing- und Protokollinformationen. Im Enterprise-Teil gibt es für die Hersteller keine speziellen Vorgaben. Hier findet man insbesondere Hardwareinformationen, Performancecounter oder Statusinformationen.
Häufig möchten Administratoren bei Hardwarekomponenten wie Festplatten, Prozessoren, Speicherbausteinen oder Lüftern den Funktionsstatus überwachen. Dabei herrscht nicht selten der Irrglaube, nur der Hersteller selbst könne ein entsprechendes Hardwaremonitoring liefern. Tatsächlich aber sind viele Hardwareinformationen auch mittels SNMP zu beziehen. Das nutzt auch der SNMP-Monitor von OpenNMS für ein hersteller-unabhängiges Hardwaremonitoring aus.
Die Management-Agenten der bekanntesten Hersteller sind:
Auch Windows-Dienste und -Prozesse gilt es oft zu überwachen, und auch hier ist dem Administrator selten bewusst, wie hilfreich SNMP sein kann. Zusammenfassend kann man sagen, dass die Möglichkeiten fast unbegrenzt sind – von Zustandsabfragen der USV über den Status von Klimaanlagen und Sensorwerten bis hin zur Überwachung und Steuerung ganzer Systeme ist vieles möglich.
OpenNMS kann zu überwachende Dienste automatisch erkennen. In den Versionen bis 1.8.x übernimmt diese Aufgabe der Capabilities Daemon (capsd) mithilfe von Plugins. Mit der Version 1.8 kommt ein neuer Mechanismus ins Spiel, der als sogenannte Foreign Source in den Provisioning Daemon (provisiond) integriert ist. Gegenwärtig unterstützt OpenNMS noch beide Mechanismen (Abbildung 2).
Weil nach einer Standardinstallation auch in der Version 1.8.x noch die Erkennung über den Capabilities Daemon als Voreinstellung definiert ist, basieren die hier gezeigten Beispiele auf diesem Mechanismus. Wurde ein Dienst auf einem Gerät erkannt, steht der Überwachung nichts mehr im Weg. Der Poller Daemon (pollerd) überprüft dafür per Default alle fünf Minuten, ob der Dienst noch verfügbar ist. Damit der Poller Daemon seine Arbeit erfüllen kann, müssen die Monitore in der Konfiguration definiert werden.