open ITCockpit ist ein Framework Rund um Nagios. Die Installation war in der Version 2 nicht ganz trivial, aber im August 2015 ist Version 3 erschienen und hierfür gibt es zumindest für die LTS Version von Ubuntu fertige Pakete. Man hat hier jetzt die Wahl als Unterbau Nagios oder Naemon (ein Fork von Nagios 4) zu verwenden. Ich habe beides einmal ausprobiert und kann keinen Unterschied feststellen. Die Entwickler empfehlen selbst aber Naemon. Nach der Installation der nötigen Pakete hat man  danach aber ein System stehen mit dem man alles im Webbrowser konfigurieren und monitoren kann.

Um sich später die Arbeit zu erleichtern, sollte man sich zuerst Gedanken über die zu überwachende Umgebung machen und dann kann man loslegen.

Zuerst erstellt man die Grundeigenschaften. Man erstellt Kontakte und fasst diese zu Kantaktgruppen zusammen. Danach erstellt man die Prüfkommandos, erstellt Servicetemplates und fasst diese wieder zu Servicetemplategruppen zusammen, z.B. Windows_Checks, Linux_Checks. Zu beachten ist noch, dass man in den Servicetemplates keine Kontakte pflegt. Denn dann werden die Kontakte direkt vom zugrunde ligenden Host übernommen.

Jetzt kann man Server oder andere Geräte erstellen und fasst gleichartige Server wieder zu Hostgruppen zusammen. Hat man dies alles geschafft, kann man hinterher eine direkte Zuordnung zwischen Servicetemplategruppen zu Hostgruppen machen.

Alle Konfigurationen werden in der darunter liegenden mySQL Datenbank vorgenommen. Diese werden nach einem Export an die richtige Stelle geschrieben und Nagios neu gestartet. Auch die aktuellen Statusmeldungen werden aus der Datenbank gelesen. Als Backend dient hier die NDO.

Zusätzliche Module

Die neue openItcockpit Version arbeitet mit uuids. Dadurch sind zusätzliche Module nicht ganz so einfach einzubinden. Statt die Macros $HOSTNAME$ und $SERVICENAME$ zu nutzen, sollte man bei einigen Plugins besser $HOSTDISPLAYNAME$ und $SERVICEDISPLAYNAME$ nutzen.

Nagvis

Ich nutze gerne als zusätzliches Modul Nagvis. Hier habe ich einfach für Naemon livstatus nachinstalliert und das broker modul in die Nagios Konfiguration mit aufgenommen.  Die Installation von Nagvis war einfach nur ein Download und das ausführen des installer Skripts. Ich habe Nagvis parallel zu openitcockpit installiert. Die Konfiguration des Webserver war schon etwas trickreicher, da das installer Skript nur Apache berücksichtigt, openItcockpit aber auf Nginx aufsetzt. Hier ein Auszug dder funktionierenden Konfiguration:

    location /nagvis {
root /opt/openitc/nagvis/share/;
index index.php index.html index.htm;

location ~ ^/nagvis/(.+\.php)$ {
try_files $uri =404;
root /opt/openitc/nagvis/share/;
fastcgi_pass unix:/var/run/php5-fpm.sock;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
include /etc/nginx/fastcgi_params;
}

location ~* ^/nagvis/(.+\.(jpg|jpeg|gif|css|png|js|ico|html|xml|txt))$ {
root /opt/openitc/nagvis/share/;
}
}

Nachdem ich dann noch das php sqlite Modul nachinstalliert habe und unterhalb von der Nagvis share einen Softlink mit dem Namen nagvis auf ../share erstellt habe, funktioniert die Anmeldung mit admin/admin

Bugs

Da die openITCockpit Version noch sehr neu ist, gibt es noch einige Bugs die gefixt werden müssen. Ich habe diese auch gemeldet, führe sie hier für micht aber trotzdem noch einmal auf.

  • In Datei /usr/share/openitcockpit/app/Plugin/Admin/View/Dashboard/status_list_services.ctp und /usr/share/openitcockpit/app/View/Services/load_services.ctp muss 'service/browser' durch 'services/browser' ersetzt werden.
  • In Datei /usr/share/openitcockpit/app/View/Emails/html/template-itn-std-service.ctp muss '<td</td>' durch '<td></td>' ersetzt werden.