Icinga 2 Graphen mit PNP unter Ubuntu 14.04 Trusty
Hinweis: Bitte beachten Sie, dass dieser Artikel / diese Kategorie sich entweder auf ältere Software/Hardware Komponenten bezieht oder aus sonstigen Gründen nicht mehr gewartet wird. Diese Seite wird nicht mehr aktualisiert und ist rein zu Referenzzwecken noch hier im Archiv abrufbar. |
---|
Der folgende Artikel erklärt, wie eine vorhandene Installation von Icinga 2 unter Ubuntu Server 14.04 mit PNP4Nagios, für die Darstellung von Performance-Daten in Form von Graphen, ergänzt wird.[1] Die Authentifizierung von PNP4Nagios erfolgt über htpasswd einer vorhandenen Icinga 2 Classic UI Installation.
PNP-Installation
Das Paket pnp4nagios wird aus den Paketquellen installiert:
apt-get install --no-install-recommends pnp4nagios rrdcached
Icinga 2 perfdata aktivieren
Bei Icinga 2 muss noch das perfdata Feature aktiviert werden.
# icinga2 feature enable perfdata
Anschließend Icinga 2 neustarten.
# service icinga2 restart
PNP-Konfiguration
Nach der Konfiguration der Icinga 2 Instanz wird nun PNP konfiguriert.
Apache Konfigurationsdatei
In der apache.conf von PNP4Nagios muss die Zeile AuthUserFile editiert werden, damit die Authentifizierung via Icinga 2 Classic UI erfolgen kann.
vi /etc/pnp4nagios/apache.conf
Den Pfad von /etc/nagios3/ auf /etc/icinga2-classicui/ ändern.
#AuthUserFile /etc/nagios3/htpasswd.users AuthUserFile /etc/icinga2-classicui/htpasswd.users
Perfdata Verzeichnis ändern
In der Datei /etc/pnp4nagios/npcd.cfg muss folgende Zeile an perfdata angepasst werden.
#perfdata_spool_dir = /var/spool/pnp4nagios/npcd/ perfdata_spool_dir = /var/spool/icinga2/perfdata
npcd Daemon Konfiguration
Anschließend wird der npcd Daemon konfiguriert. In der Datei /etc/default/npcd wird nun Run="no" auf Run="yes" geändert. Anschließend kann der Dienst gestartet werden.
# service npcd start
rrdcached Konfiguration
Verzeichnis erstellen und Besitzer ändern:
mkdir -p /var/cache/rrdcached chown nagios: /var/cache/rrdcached
Die folgenden Zeilen in der Datei /etc/default/rrdcached ergänzen:
OPTS="-w 1800 -z 1800 -j /var/cache/rrdcached -s nagios -m 0660 -l unix:/var/run/rrdcached.sock"
Apache user zur nagios Gruppe hinzufügen
usermod -a -G nagios www-data
Apache Symlink erstellen
Ein Symlink mit dem Namen pnp4nagios.conf wird im Ordner sites-enabled angelegt und Apache neu geladen.
/etc/apache2/sites-enabled# ln -s /etc/pnp4nagios/apache.conf pnp4nagios.conf /etc/apache2/sites-enabled# service apache2 reload
PNP4Nagios Konfiguration anpassen
In der config.php im Verzeichnis /etc/pnp4nagios/ müssen zwei Variablen geändert werden.
vi /etc/pnp4nagios/config.php
#$conf['nagios_base'] = "/cgi-bin/nagios3"; $conf['nagios_base'] = "/cgi-bin/icinga"; [...] #$conf['RRD_DAEMON_OPTS'] = ''; $conf['RRD_DAEMON_OPTS'] = 'unix:/var/run/rrdcached.sock';
Ebenso die process_perfdata.cfg im identischen Verzeichnis.
vi /etc/pnp4nagios/process_perfdata.cfg
RRD_DAEMON_OPTS = unix:/var/run/rrdcached.sock
Icinga 2 Konfiguration
Die Konfiguration von PNP4Nagios ist nun abgeschlossen und wir wechseln nun ins Verzeichnis /etc/icinga2/conf.d/ um in Icinga 2 die PNP-Funktionen zu ergänzen.
template.conf
In der template.conf Datei werden folgende Zeilen am Anfang ergänzt.
vi /etc/icinga2/conf.d/templates.conf
template Host "pnp-hst" { action_url = "/pnp4nagios/graph?host=$HOSTNAME$' class='tips' rel='/pnp4nagios/popup?host=$HOSTNAME$&srv=_HOST_" } template Service "pnp-svc" { action_url = "/pnp4nagios/graph?host=$HOSTNAME$&srv=$SERVICEDESC$' class='tips' rel='/pnp4nagios/popup?host=$HOSTNAME$&srv=$SERVICEDESC$" }
Im selben Template wird bei der Sektion "template Host" der Parameter import "pnp-hst" ergänzt.
template Host "generic-host" { max_check_attempts = 5 check_interval = 1m retry_interval = 30s check_command = "hostalive" import "pnp-hst" }
Ebenso wird bei der Sektion "template Service" der Parameter import "pnp-svc" ergänzt.
template Service "generic-service" { max_check_attempts = 5 check_interval = 1m retry_interval = 30s import "pnp-svc" }
Daemons neustarten
Um die Konfiguration abzuschließen werden die Daemons neugestartet. Anschließend kann PNP4Nagios mit dem Icinga 2 Classic UI verwendet werden.
service rrdcached restart && service npcd restart && service icinga2 restart
Icinga Web 2 Konfiguration
PNP4Nagios kann auch mit der neuen Oberfläche Icinga Web 2 verwendet werden. [2] Im Nachfolgenden wird aufgezeigt wie die Installation und Konfiguration erfolgt.
Installation des PNP4Nagios Moduls
Das PNP4Nagios Modul für Icinga Web 2 können Sie als zip-File von Icinga Developer downloaden[3] oder alternativ vom Icinga Repository auf Github.[4]
- Wechseln Sie in das Modul-Verzeichnis /usr/share/icingaweb2/modules von Icinga Web 2
- Download des zip-Files via wget
wget https://exchange.icinga.org/icinga/PNP/files/1255/icingaweb2-module-pnp.zip
unzip icingaweb2-module-pnp.zip
- Alternativ: Downloaden des Moduls via Git
git clone https://github.com/Icinga/icingaweb2-module-pnp pnp
Konfiguration
Die Konfiguration des PNP4Nagios Moduls erfolgt im Webinterface von Icinga Web 2.
Anzeige der Graphen
Troubleshooting
Bei der Installation des PNP4Nagios Paketes ist es zu Änderungen der Gruppenzugehörigkeit des Apache2 Users gekommen. Es äußert sich beim Login in einer Fehlermeldung, dass Icinga Web 2 nicht konfiguriert sei und deshalb erneut konfiguriert werden muss. Mittels folgender Vorgehensweise lässt sich dieses Problem beheben.
- Nach der Installation von PNP4Nagios
root@icinga2:~# id www-data
uid=33(www-data) gid=33(www-data) groups=33(www-data),112(nagios)
- Hinzufügen zur Gruppe icingacmd
sudo usermod -a -G icingacmd www-data
- Hinzufügen zur Gruppe icingaweb2
sudo usermod -a -G icingaweb2 www-data
- Nach der Rechte-Anpassung
root@icinga2:~# id www-data
uid=33(www-data) gid=33(www-data) groups=33(www-data),112(nagios),114(icingacmd),116(icingaweb2)
- Icinga 2 und Apache2 neustarten
service icinga2 restart && service apache2 restart
Icinga 2 Classic UI Konfiguration
Im nachfolgenden Abschnitt wird die Integration von pnp4nagios in das Icinga 2 Classic UI beschrieben.
Mit der oben beschriebenen PNP Konfiguration ist Icinga 2 Classic UI in Kombination mit pnp4nagios bereits funktional. Um jedoch auch noch die Vorschau der Graphen als Mouseover-Effekt wie in folgendem Screenshot zu erhalten sind noch zwei Konfigurationsschritte erforderlich.
status-header.ssi kopieren
Zuerst wird die Datei "status-header.ssi" in den Icinga 2 SSI-Ordner kopiert.
# cd /usr/share/icinga2/classicui/ssi /usr/share/icinga2/classicui/ssi# cp /usr/share/doc/pnp4nagios/examples/ssi/status-header.ssi .
Editieren der Datei /etc/icinga2-classicui/cgi.cfg
Abschließend muss in der cgi.cfg noch der Pfad des Eintrages physical_html_path abgeändert werden:[5]
# cd /etc/icinga2-classicui/ /etc/icinga2-classicui# vi cgi.cfg
#physical_html_path=/usr/share/icinga physical_html_path=/usr/share/icinga/htdocs
Weitere Informationen
- Icinga2 Addons and Plugins - PNP (docs.icinga.org)
- Icinga Web 2 Modules - PNP4Nagios (dev.icinga.org)
Einzelnachweise
- ↑ Installing Icinga2, pnp4nagios, NRPE Agent and Graphite in Debian Wheezy (tipstricks.itmatrix.eu)
- ↑ PNP4Nagios - Performancecharts für Icinga (netways.de)
- ↑ PNP4Nagios (exchange.icinga.org)
- ↑ PNP4Nagios module for Icinga Web 2 (github.com)
- ↑ Icinga 2 Classic UI status-header.ssi no loading (mail-archive.com)
Autor: Thomas Niedermeier Thomas Niedermeier arbeitet im Product Management Team von Thomas-Krenn. Er absolvierte an der Hochschule Deggendorf sein Studium zum Bachelor Wirtschaftsinformatik. Seit 2013 ist Thomas bei Thomas-Krenn beschäftigt und kümmert sich unter anderem um OPNsense Firewalls, das Thomas-Krenn-Wiki und Firmware Sicherheitsupdates. |