Integration von Icingaweb2 und Nagvis
Die Vorbereitung
Als Vorbereitung muss icinga2
so konfiguriert werden, dass das Feature livestatus
aktiviert ist. Das geht so:
$ icinga2 feature list
Disabled features: api debuglog gelf icingastatus livestatus opentsdb perfdata syslog
Enabled features: checker command compatlog graphite ido-mysql mainlog notification statusdata
$ icinga2 feature enable livestatus
Enabling feature livestatus. Make sure to restart Icinga 2 for these changes to take effect.
$ service icinga2 restart
Die Installation
Ich habe mich dazu entschlossen, nagvis
als Paket zu installieren; die Pakete sind leider etwas veraltet, für meine Zwecke aber erst einmal ausreichend.
$ apt-get install nagvis
Konfiguriert wird die Sache in /etc/nagvis/nagvis.ini.php; als Basis könnt ihr euch meine Version schnappen und an eure Bedürfnisse anpassen, wenn ihr möchtet. In jedem Fall muss defaultroot
auf euren Hostnamen gesetzt werden. Achtet auch darauf, dass das Konfig-File dem richtigen User (in meinem Falle ist es www-data
) gehört – es kommt sonst zu unschönen Seiteneffekten.
Das Webinterface
Das Paket bringt eine Konfiguration für den apache2 mit – an dieser musste ich nichts anpassen, einfach nur schauen, dass sie in /etc/apache2/conf.d
liegt und den Webserver durchstarten. Hat alles funktioniert, ist das Webinterface nun bereits erreichbar unter http://YOUR_HOSTNAME/nagvis
; der Default-Username ist admin
und das dazu gehörige Passwort ist ebenfalls admin
, und ganz klar: das ist das erste, was ihr ändern solltet. Doch zwei Webinterfaces – eines fürs Monitoring, eines für Nagvis – empfinde ich persönlich als zu frickelig. Doch: das ist ein lösbares Problem!
Die Integration
Glücklicherweise haben andere das ebenso gesehen und ein Plugin geschrieben, das die nahtlose Integration in Icingaweb2 ermöglicht. Das laden wir nun herunter und bringen es ins Spiel:
$ cd /usr/share/icingaweb2/modules/
$ git clone https://github.com/divetoh/icingaweb2-module-nagvis.git nagvis
Cloning into 'icingaweb2-module-nagvis'...
remote: Counting objects: 65, done.
remote: Total 65 (delta 0), reused 0 (delta 0), pack-reused 65
Unpacking objects: 100% (65/65), done.
Jetzt muss das Modul innerhalb von Icinga Web 2 lediglich noch aktiviert werden: → Configuration → Modules → nagvis → Reiter „Module: Nagvis“ → Klick auf enable
Und nun muss dem Modul eine passende Konfiguration mitgegeben werden: → Configuration → Modules → nagvis → Reiter „Nagvis“ → eintragen /nagvis/
und speichern
In der Navigationsleiste von Icingaweb2 erscheint der Eintrag Nagvis, so dass ihr fortan aus Icinga Web 2 direkten Zugriff auf die Nagvis-Graphen habt. Nun könnt ihr damit beginnen, eure Graphen zu konfigurieren – aber damit kann man locker Stunden zubringen, you have been warned ;-) Vor allem das Feature der Geomaps mag ich persönlich sehr gerne, auch Automaps sind bisweilen sehr nützlich – an dieser Stelle verweise ich auf die wirklich ausführliche Dokumentation, die wird euch weiter helfen.
Hintergrundbild: Bild genauer anschauen – © Marianne Spiller – Alle Rechte vorbehalten