Icinga2 startet nicht mehr nach Debian-Systemupdate
Nach einem Systemupdate wird Icinga2 nicht mehr ausgeführt und apt-get meldet eine Reihe von Fehlern:
icinga2-common (2.5.4-1~debmon70+3) wird eingerichtet ...
Neue Version der Konfigurationsdatei /etc/icinga2/icinga2.conf wird installiert ...
Neue Version der Konfigurationsdatei /etc/icinga2/features-available/gelf.conf wird installiert ...
Job for icinga2.service failed. See 'systemctl status icinga2.service' and 'journalctl -xn' for details.
invoke-rc.d: initscript icinga2, action "start" failed.
dpkg: Fehler beim Bearbeiten des Paketes icinga2-common (--configure):
Unterprozess installiertes post-installation-Skript gab den Fehlerwert 1 zurück
libicinga2 (2.5.4-1~debmon70+3) wird eingerichtet ...
dpkg: Abhängigkeitsprobleme verhindern Konfiguration von icinga2-bin:
icinga2-bin hängt ab von icinga2-common (= 2.5.4-1~debmon70+3); aber:
Paket icinga2-common ist noch nicht konfiguriert.
dpkg: Fehler beim Bearbeiten des Paketes icinga2-bin (--configure):
Abhängigkeitsprobleme - verbleibt unkonfiguriert
dpkg: Abhängigkeitsprobleme verhindern Konfiguration von icinga2-ido-mysql:
icinga2-ido-mysql hängt ab von icinga2-bin (= 2.5.4-1~debmon70+3); aber:
Paket icinga2-bin ist noch nicht konfiguriert.
icinga2-ido-mysql hängt ab von icinga2-common (= 2.5.4-1~debmon70+3); aber:
Paket icinga2-common ist noch nicht konfiguriert.
dpkg: Fehler beim Bearbeiten des Paketes icinga2-ido-mysql (--configure):
Abhängigkeitsprobleme - verbleibt unkonfiguriert
dpkg: Abhängigkeitsprobleme verhindern Konfiguration von icinga2:
icinga2 hängt ab von icinga2-bin (= 2.5.4-1~debmon70+3); aber:
Paket icinga2-bin ist noch nicht konfiguriert.
icinga2 hängt ab von icinga2-common (= 2.5.4-1~debmon70+3); aber:
Paket icinga2-common ist noch nicht konfiguriert.
dpkg: Fehler beim Bearbeiten des Paketes icinga2 (--configure):
Abhängigkeitsprobleme - verbleibt unkonfiguriert
..........
Fehler traten auf beim Bearbeiten von:
icinga2-common
icinga2-bin
icinga2-ido-mysql
icinga2
E: Sub-process /usr/bin/dpkg returned an error code (1)
Ausschlaggebend ist der Fehler in dem Paket “icinga2-common”, die Fehler in den restlichen Pakten sind Folgefehler.
Freundlicherweise gibt dpkg auch gleich einige Tips zur Fehlersuche aus
root@monitoring:~# systemctl status icinga2.service
● icinga2.service - LSB: icinga2 host/service/network monitoring and management system
Loaded: loaded (/etc/init.d/icinga2)
Active: failed (Result: exit-code) since Do 2016-09-22 09:17:37 CEST; 8min ago
Process: 6270 ExecStart=/etc/init.d/icinga2 start (code=exited, status=1/FAILURE)
Sep 22 09:17:37 vm-00017 icinga2[6270]: checking Icinga2 configuration
Sep 22 09:17:37 vm-00017 icinga2[6270]: checking Icinga2 configuration. Check '/var/log/icinga2/startup.log' for details. ... failed!
Sep 22 09:17:37 vm-00017 systemd[1]: icinga2.service: control process exited, code=exited status=1
Sep 22 09:17:37 vm-00017 systemd[1]: Failed to start LSB: icinga2 host/service/network monitoring and management system.
Sep 22 09:17:37 vm-00017 systemd[1]: Unit icinga2.service entered failed state.
Systemctl liefert den Hinweis, daß beim Check der Konfiguration wohl etwas nicht passt, und verweist auf die Logdatei “/var/log/icinga2/startup.log”
root@monitoring:~# cat /var/log/icinga2/startup.log
information/cli: Icinga application loader (version: r2.5.4-1)
information/cli: Loading configuration file(s).
information/ConfigItem: Committing config item(s).
critical/config: Error: Error while evaluating expression: Tried to access undefined script variable 'PluginContribDir'
die dann auch mehrfach den kitischen Fehler “Tried to access undefined script variable ‘PluginContribDir’” anmerkt.
Ein Blick in die Datei “/etc/icinga2/constants.conf” zeigt dann auch, daß die Variable tatsächlich weder gesetzt noch vorhanden ist. Im Verzeichnis “/etc/icinga2/” liegt aber noch eine “constants.conf.dpkg-dist” mit neuerem Datum als die “constants.conf”, in der die Zeile
/* The directory which you use to store additional plugins which ITL provides user contributed command definitions for.
* Check the documentation, chapter "Plugins Contribution", for details.
*/
const PluginContribDir = "/usr/lib/nagios/plugins"
vorhanden ist. Nach Hinzufügen der Definition in die “constants.conf” kann dpkg das Paket “icinga2-common” erfolgreich konfigurieren:
root@monitoring:~# dpkg --configure icinga2-common
icinga2-common (2.5.4-1~debmon70+3) wird eingerichtet ...
Ein “apt-get update” läuft anschließend für die abhängigen Pakete problemlos durch.