OpenNMS-Insi­der­wissen: Mehr Effi­zienz dank Daemon Reloads

Die welt­weit bekannte IT-Moni­to­ring-Lösung OpenNMS ist äußerst flexibel und umfas­send konfi­gu­rierbar. Um die beacht­liche Leis­tungs­fä­hig­keit der Soft­ware richtig nutzen zu können, braucht man aller­dings ein gutes Maß an OpenNMS-spezi­fi­schem Fach­wissen. Heute beleuchtet NETHINKS-Spezia­list Patrick Kremser das Thema “Daemon Reloads”.
In OpenNMS gibt es 3 Kate­go­rien von Konfigurationsdateien:

  1. Die Konfi­gu­ra­ti­ons­da­teien, die kein Nach­laden eines Daemons oder einen Neustart von OpenNMS notwendig machen.

Das bedeutet: Ände­rungen werden sofort wirksam bzw. werden wirksam, sobald die jeweilge Funk­tion wieder genutzt wird. Hierzu zählen z.B. die snmp-config.xml oder notifications.xml.

  1. Die Konfi­gu­ra­ti­ons­da­teien, die nach einer Ände­rung entweder ein Neustart von OpenNMS oder den Reload des Daemons nötig machen, damit die Ände­rung wirksam wird.

Hierzu zählen z.B. die threshd-configuration.xml und die thresholds.xml.

  1. Die Konfi­gu­ra­ti­ons­da­teien, die grund­sätz­lich einen Neustart erfor­dern, damit Ände­rungen wirksam werden.

Hierzu zählen z.B. die categories.xml oder viewsdisplay.xml.

Daemon Reloads sind sinnvoll

Das Nach­laden der Daemons hat zwei Vorteile. Zu aller­erst spart man sich viel Zeit, da ein Daemon in Sekunden nach­ge­laden ist, während ein Neustart von OpenNMS auch gerne mehrere Minuten dauern kann.
Der zweite Vorteil ist natür­lich, dass OpenNMS weiter­läuft und niemand infor­miert werden muss, dass das Moni­to­ring für einige Minuten ausfällt.
Sollte man mehrere kleine Ände­rungen vornehmen wollen und diese ggf. auch erst noch testen müssen, so ist ein Daemon Reload sicher­lich die bessere Alter­na­tive zum Neustart von OpenNMS.
 
An dieser Stelle ein wich­tiger Hinweis: Die geän­derten Konfi­gu­ra­ti­ons­da­teien sollten sicher­heits­halber immer zuerst mit Xmllint auf Syntax­fehler geprüft werden.
Xmllint benutzt man folgen­der­maßen: xmllint /PFAD/ZUR/DATEI/DATEINAME.xml ; befindet man sich bereits im Ordner, gilt: xmllint DATEINAME.xml .
Sollte die Konfi­gu­ra­tion keine Syntax­fehler aufweisen, so wird der gesamte Inhalt der Konfi­gu­ra­ti­ons­datei in der Shell ausge­geben, andern­falls erhält man eine Fehlermeldung .
 
Die Events lassen sich auf 2 verschie­denen Wegen auslösen: Entweder man gibt sie in der Shell/im Terminal ein oder man benutzt die WebUI von OpenNMS.

  1. Die Möglich­keit über die Shell:

Zuerst wech­selt man in das bin-Verzeichnis von OpenNMS: cd $OPENNMS_HOME/bin/
und gibt dann den Befehl zum Nach­laden des Daemons:
./send-event.pl -p ‘daemon­Name DAEMONNAMEuei.opennms.org/internal/reloadDaemonConfig

  1. Im Admin­menu von OpenNMS gibt es unter der Kate­gorie Event Manage­ment den Unter­punkt “Manu­ally send an Event”:

Dort wählt man im Drop­down-menu das Event “OpenNMS-defined internal event: reload specific daemon confi­gu­ra­tion” aus. Nun muss nur noch der Para­meter mit
Name: Daemon­Name
Value: DAEMONNAME (z.B.: Pollerd)
gesetzt werden.
 

 
 

 
Nach einem Daemon Reload kann man sich in OpenNMS unter Status -> Events -> All Events davon über­zeugen, dass der Reload funk­tio­niert hat.


 
Die folgende Tabelle zeigt eine Auflis­tung der mögli­chen Reloads:
 

Daemon Dateien Befehl Infor­ma­tionen
Eventd eventconf.xml, events/* ./send-event.pl -p ‘daemon­Name Eventd’ uei.opennms.org/internal/reloadDaemonConfig events/* bedeutet bei jegli­chen Ände­rungen an einzelnen Event-Files im Ordner events/
Bsmd - ./send-event.pl -p ‘daemon­Name Bsmd’ uei.opennms.org/internal/reloadDaemonConfig Bei Ände­rungen am Busi­ness Service Moni­to­ring (auch über das WebUI möglich)
Ticketer otrs.properties, jira.properties,
./send-event.pl -p ‘daemon­Name Ticketer’ uei.opennms.org/internal/reloadDaemonConfig Bei Ände­rungen an den Ticket-Konfig­rua­ti­ons­da­teien für OTRS, Jira, etc …
Corre­lator drools-engine.d/* ./send-event.pl -p ‘daemon­Name Drools­Cor­re­la­tio­nEn­gine-DROOL­S_­DRL_­DATEI’ uei.opennms.org/internal/reloadDaemonConfig Beim Ändern der Drools Rules (*.drl)
Trapd trapd-configuration.xml ./send-event.pl -p ‘daemon­Name Trapd’ uei.opennms.org/internal/reloadDaemonConfig Konfi­gu­ra­tion für den Trapempfang
Dhcpd dhcp-configuration.xml ./send-event.pl -p ‘daemon­Name Dhcpd’ uei.opennms.org/internal/reloadDaemonConfig DHCP-Prüfung (Test­ver­halten) und Polling (poller-confi­gu­ra­tion)
Notifd notifd-configuration.xml ./send-event.pl -p ‘daemon­Name Notifd’ uei.opennms.org/internal/reloadDaemonConfig Ände­rungen in der notificationCommands.xml oder der notifications.xml werden augen­blick­lich über­nommen ohne einen Reload
Scriptd Scriptd-configuration.xml ./send-event.pl -p ‘daemon­Name Notifd’ uei.opennms.org/internal/reloadDaemonConfig -
Pollerd poller-configuration.xml
---
poll-outages.xml
./send-event.pl -p ‘daemon­Name Pollerd’ uei.opennms.org/internal/reloadDaemonConfig
---
./send-event.pl uei.opennms.org/internal/schedOutagesChanged
Nur bei Ände­rungen von Services, aber nicht beim neuen Anlegen eines Services
Enchan­ced­Linkd enlinkd-configuration.xml ./send-event.pl -p ‘daemon­Name Enchan­ced­Linkd’ uei.opennms.org/internal/reloadDaemonConfig -
Collectd collectd-configuration.xml ./send-event.pl -p ‘daemon­Name Collectd’ uei.opennms.org/internal/reloadDaemonConfig Nur bei Ände­rungen von Services, aber nicht beim neuen Anlegen eines Services
Disco­very discovery-configuration.xml ./send-event.pl -p ‘daemon­Name Disco­very ’ uei.opennms.org/internal/reloadDaemonConfig -
Vacuumd vacuumd-configuration.xml ./send-event.pl -p ‘daemon­Name Vacuumd’ uei.opennms.org/internal/reloadDaemonConfig -
Statsd statsd-configuration.xml ./send-event.pl -p ‘daemon­Name Statsd’ uei.opennms.org/internal/reloadDaemonConfig -
Provi­siond provisiond-configuration.xml ./send-event.pl -p ‘daemon­Name Provi­siond’ uei.opennms.org/internal/reloadDaemonConfig -
Reportd Reportd-configuration.xml ./send-event.pl -p ‘daemon­Name Reportd’ uei.opennms.org/internal/reloadDaemonConfig -
Ackd ackd-configuration.xml ./send-event.pl -p ‘daemon­Name Ackd’ uei.opennms.org/internal/reloadDaemonConfig -
Tl1d tl1d-configuration.xml ./send-event.pl -p ‘daemon­Name Tl1d’ uei.opennms.org/internal/reloadDaemonConfig -
Syslogd syslogd-configuration.xml ./send-event.pl -p ‘daemon­Name Syslogd’ uei.opennms.org/internal/reloadDaemonConfig -
Tele­me­tryd telemetryd-configuration.xml ./send-event.pl -p ‘daemon­Name Telemetryduei.opennms.org/internal/reloadDaemonConfig -
Threshd thresholds.xml, thresd-configuration.xml ./send-event.pl -p ‘daemon­Name Threshd’ uei.opennms.org/internal/reloadDaemonConfig
./send-event.pl -p ‘daemon­Name Threshd’ -p ‘config­File threshd-configuration.xml’
uei.opennms.org/internal/reloadDaemonConfig
-

 
Ihre Fragen zu OpenNMS beant­worten wir auch gerne persön­lich - nehmen Sie Kontakt mit uns auf!

Schreibe einen Kommentar

Cookie Einstellungen
Diese Website verwendet Cookies, um die bestmögliche Funktionalität zu gewährleisten. Mehr lesen

Akzeptiere alle Cookies Speichern