Icinga

2.10. Icinga aktualisieren

2.10.1. Aktualisierung von Icinga
2.10.2. Upgrade von Nagios 3.x
2.10.3. Upgrade von Nagios 2.x
2.10.4. Aktualisierung einer RPM-Installation
[Anmerkung] Anmerkung

Seit 1.8 finden Sie neue Konfigurationsoptionen, die in einer neuen Version hinzugefügt wurden, in sample-config/updates/ sowie module/idoutils/config/updates, z.B. cgi.cfg_added_1.7_to_1.8.cfg.

Der Core wird unbekannte Macros nicht mehr "as is" belassen, sondern diese entfernen und eine Warnung ins Log schreiben. Entweder korrigieren Sie die Konfiguration (falsche Macros, Dollarzeichen mit einem weiteren absichern) oder Sie setzen keep_unknown_macros=1 in der icinga.cfg-Datei, um zum alten Verhalten zurückzukehren.

Die klassische GUI (Classic UI) liefert kein WAP Interface (statuswml.cgi) sowie keine 3D Statusmap (statuswrl.cgi) mehr mit, weil diese nicht mehr aktiv weiterentwickelt und verwendet werden. Aus diesem Grund wurden auch die Hostkonfigurationsattribute "vrml_image" und "3dcoords" als veraltet markiert.

Bitte werfen Sie auch einen Blick in den Abschnitt "CHANGES" in der Datei changelog.

[Anmerkung] Anmerkung

Wenn Sie die IDOUtils benutzen, dann müssen Sie auch diese aktualisieren. Weitere Informationen finden Sie im Abschnitt IDOUtils-Datenbank aktualisieren.

[Anmerkung] Anmerkung

Wenn Sie Icinga Web benutzen, dann müssen Sie auch diese aktualisieren. Weitere Informationen finden Sie im Abschnitt Aktualisierung von Icinga-Web und Icinga-Web-Datenbank.

[Anmerkung] Anmerkung

Seit 1.9 ist die Direktive event_profiling_enabled in icinga.cfg veraltet.

2.10.1. Aktualisierung von Icinga

Sobald neuere Versionen von Icinga herauskommen, sollten Sie dringend über eine Aktualisierung nachdenken. Neuere Ausgaben enthalten Behebungen kritischer Fehler, so dass es wichtig ist, aktuell zu sein. Wenn Sie bereits Icinga, wie in den Schnellstartanleitungen beschrieben, aus dem Quellcode installiert haben, dann können Sie einfach neuere Versionen installieren. Sie müssen dazu noch nicht einmal root-Berechtigungen haben, weil bereits alles passiert ist, was als root-Benutzer getan werden muss. Das ist allerdings abhängig davon, welche Präferenzen Sie diesbezüglich haben.

Stellen Sie sicher, dass Sie eine gute Datensicherung Ihrer bestehenden Icinga-Installation und der Konfigurationsdateien haben. Wenn irgendetwas schief geht oder nicht funktioniert, dann können Sie auf diese Weise schnell Ihre alte Icinga-Version wiederherstellen.

Werden Sie der icinga-Benutzer. Debian/Ubuntu-Benutzer sollten sudo -s icinga benutzen.

 $> su -l icinga

Holen Sie sich das Quellcode-Archiv der letzten Icinga-Version (besuchen Sie https://www.icinga.com/ für den Verweis auf die letzte Version) und entpacken Sie das Quellcode-Archiv.

Starten Sie das Icinga-configure-Script mit den gleichen Optionen wie bei der letzten Installation, z.B. so:

 #> ./configure --with-command-group=icinga-cmd
[Anmerkung] Anmerkung

Beginnend mit Icinga 1.9 hat sich der Default geändert, so dass Sie die Kompilation der IDOUtils ggf. explizit verhindern müssen.

 #> ./configure --with-command-group=icinga-cmd --disable-idoutils

Kompilieren Sie den Icinga-Quellcode.

 #> make all

Installieren Sie aktualisierte Programme, Dokumentation und Web-Interface. Ihre vorhandenen Konfigurationsdaten werden in diesem Schritt nicht überschrieben.

 #> make install install-base install-cgis install-html install-init install-commandmode install-idoutils

Überprüfen Sie Ihre Konfigurationsdateien und starten Sie Icinga erneut.

 #> /etc/init.d/icinga checkconfig
 #> /etc/init.d/icinga restart

Aktualisieren auf Apache 2.4

Beginnend mit Apache 2.4 hat sich der Standard-Konfigurationsordner von /etc/apache2/conf.d in /etc/apache2/conf-available geändert. Wenn Sie migrieren wollen, dann verschieben Sie einfach die Datei(en), aktivieren die Konfiguration(en) und starten den Web-Server neu

#> mv /etc/apache2/conf.d/icinga*.conf /etc/apache2/conf-available
#> a2enconf icinga icinga-web
#> service apache2 reload
[Anmerkung] Anmerkung

Hinter a2enconf geben Sie die Konfiguration(en) an. Das Beispiel nimmt an, dass Sie Icinga Classic UI und Icinga Web installiert haben.

Außerdem ist das CGI-Modul zu aktivieren

#> a2enmod cgi

Das war's - Sie sind fertig!

2.10.2. Upgrade von Nagios 3.x

Icinga ist aus Nagios 3.x hervorgegangen, so dass die Aktualisierung problemlos sein sollte.

Falls Sie einen Upgrade von Nagios-Version 3.0.x durchführen, dann fehlt Ihnen ggf. PHP.

Debian / Ubuntu

 #> apt-get install php5 libapache2-mod-php5

Fedora / RedHat

 #> yum install php mod_php

openSuSE / SLES: Nutzen Sie yast zur Installation der Pakete php5 und apache2-mod_php5 oder benutzen Sie zypper

 #> zypper install php5 apache2-mod_php5

Stellen Sie sicher, dass Sie eine gute Datensicherung Ihrer bestehenden Nagios-Installation und der Konfigurationsdateien haben. Wenn irgendetwas schief geht oder nicht funktioniert, dann können Sie auf diese Weise schnell Ihre alte Nagios-Version wiederherstellen.

Bitte installieren Sie Icinga anhand der Schnellstart-Anleitung. Bitte beachten Sie, dass

  • der Default-Präfix nun "/usr/local/icinga" heißt

  • die Umgebungs-Makros nun mit ICINGA_ beginnen

    PNP4Nagios berücksichtigt das seit 0.6rc1 (2009.09.20), aber Sie benötigen die Makros lediglich im "sync"-Modus.

    check_multi bietet Unterstützung seit 0.21 (2010.06.03), aber Sie müssen dazu die Installation mit beginnend mit dem Schritt 'configure --with-nagios_name=icinga' erneut durchführen, damit die check_multi-Prozedur mit geänderten Werten erstellt wird. Stattdessen können Sie auch die Option "-s" zur Übergabe von Werten benutzen.

  • die Konfigurationsdateien der (verbesserten) IDOUtils heißen nun idomod.cfg/ido2db.cfg anstatt ndomod.cfg/ndo2db.cfg

Werden Sie der nagios-Benutzer. Debian/Ubuntu-Benutzer sollten sudo -s nagios benutzen.

 $ su -l nagios

Holen Sie sich das Quellcode-Archiv der letzten Icinga-Version (besuchen Sie https://www.icinga.com/ für den Verweis auf die letzte Version).

 #> wget https://github.com/Icinga/icinga-core/releases/download/v1.14/icinga-1.14.tar.gz

Entpacken Sie das Quellcode-Archiv.

 #> tar xzf icinga-1.14.tar.gz
 #> cd icinga-1.14 

Starten Sie das Icinga-configure-Script mit den Optionen, die Sie beim ./configure von Nagios benutzt haben. Den Aufruf finden Sie in der Datei config.log. Beispiel:

 #> ./configure --with-command-group=nagcmd

Kompilieren Sie den Icinga-Quellcode.

 #> make all

Installieren Sie aktualisierte Programme, Dokumentation, Web-Interface und das Init-Script. Ihre vorhandenen Konfigurationsdaten werden in diesem Schritt nicht überschrieben.

 #> make cgis
 #> make install
 #> make install-cgis
 #> make install-init

oder einfach

 #> make fullinstall
[Wichtig] Wichtig

Erst ab Icinga 1.5.0 ist make install-config NICHT mehr in make fullinstall enthalten, um ein versehentliches Überschreiben der Konfigurationsdateien zu verhindern.

Kopieren Sie Ihre Konfigurationsdateien nach /usr/local/icinga/etc bzw. /usr/local/icinga/etc/object. Vor dem Start von Icinga müssen Sie noch ein paar Dinge anpassen:

  • Benennen Sie die Hauptkonfigurationsdatei nagios.cfg in icinga.cfg um und ändern Sie in /usr/local/icinga/etc/icinga.cfg die Namen der Direktiven "nagios_user" in "icinga_user" und "nagios_group" in "icinga_group". Das betrifft ggf. auch die Pfade in der Datei.

     #> sed -i 's/nagios/icinga/g' ./icinga.cfg/
  • Ändern Sie in der CGI-Konfigurationsdatei cgi.cfg die Pfad-Angaben.

     #> sed -i 's/nagios/icinga/g' ./cgi.cfg/

Kopieren Sie andere relevante Dateien von Ihrer Nagios-Installation zum neuen Standort. Falls Sie unsicher bezüglich der Pfade sind, dann werfen Sie einen Blick in die Konfigurationsdateien nagios.cfg und/oder icinga.cfg.

  • retention.dat (sie enthält bestimmte Statusinformationen, Kommentare und andere "bleibende" Dinge)

  • nagios.log (bitte umbenennen in icinga.log)

  • archives/nagios-<date>.log-Dateien (Icinga ist in der Lage, sowohl nagios-<date>.log als auch icinga-<date>.log-Dateien zu verarbeiten, so dass Sie die Dateien nicht umbenennen müssen)

  • Sie müssen die Dateien status.dat und/oder objects.cache nicht kopieren, weil sie jeweils beim Neustart erstellt werden. Bitte erstellen Sie objects.precache vor dem Neustart (falls nötig) anstatt die Datei zu kopieren

Überprüfen Sie Ihre Konfigurationsdateien und starten Sie Icinga.

 #> /usr/local/icinga/bin/icinga -v /usr/local/icinga/etc/icinga.cfg
 #> /etc/init.d/icinga start

Das war's - Sie sind fertig!

Bitte beachten Sie, dass

  • der Aufruf im Browser nun http://localhost/icinga/ lautet (für das klassische UI)

  • der Name des Admin-Benutzers nun icingaadmin lautet

2.10.3. Upgrade von Nagios 2.x

Es sollte nicht allzu schwierig sein, von Nagios 2.x auf Icinga 1.14 zu aktualisieren. Die Aktualisierung ist im Wesentlichen die gleiche wie die von bestehenden Nagios 3.x-Versionen. Allerdings müssen Sie Ihre Konfigurationsdateien ein wenig ändern, damit sie mit Icinga 1.14 funktionieren:

  • Die alte service_reaper_frequency-Variable in der Hauptkonfigurationsdatei wurde umbenannt in check_result_reaper_frequency.

  • Das alte $NOTIFICATIONNUMBER$-Makro entfällt zugunsten der $HOSTNOTIFICATIONNUMBER$- und $SERVICENOTIFICATIONNUMBER$-Makros.

  • Die alte parallelize-Direktive in Service-Definitionen ist veraltet und wird nicht länger benutzt, weil alle Service-Prüfungen parallel ablaufen.

  • Die alte aggregate_status_updates-Option wurde entfernt. Alle Statusdatei-Aktualisierungen werden nun mit einem minimalen Intervall von einer Sekunde zusammengefasst.

  • Erweiterte Host- und erweiterte Service-Definitionen sind veraltet. Sie werden noch von Icinga gelesen und verarbeitet, aber es wird empfohlen, dass Sie diese Direktiven in die entsprechenden Host- und Service-Definitionen verschieben.

  • Die alte downtime_file-Dateivariable in der Hauptkonfigurationsdatei wird nicht länger unterstützt, weil Einträge von geplanten Ausfallzeiten (downtimes) nun in der Aufbewahrungsdatei (retention file) gespeichert werden. Um bestehende Einträge zu erhalten, stoppen Sie Nagios 2.x und hängen Sie den Inhalt Ihrer alten Downtime-Datei an das "retention file".

  • Die alte comment_file-Dateivariable in der Hauptkonfigurationsdatei wird nicht länger unterstützt, weil Kommentare nun in der Aufbewahrungsdatei (retention file) gespeichert werden. Um bestehende Einträge zu erhalten, stoppen Sie Nagios 2.x und hängen Sie den Inhalt Ihrer alten Kommentar-Datei an die "Aufbewahrungsdatei" (retention file).

  • Die Hauptkonfigurationsdatei heißt nun icinga.cfg. Innerhalb der Datei ist "nagios_user" gegen "icinga_user" und nagios_group" gegen "icinga_group" auszutauschen.

Stellen Sie außerdem sicher, dass Sie den "Was gibt's Neues"-Abschnitt in der Dokumentation lesen. Er beschreibt all die Änderungen am Icinga-Code.

2.10.4. Aktualisierung einer RPM-Installation

Wenn Sie momentan eine RPM- oder Debian/Ubuntu-APT-paketbasierte Nagios-Installation haben und nun den Übergang zu einer Installation aus dem offiziellen Quellcode machen wollen, dann sind hier die grundlegenden Schritte:

  1. Sichern Sie Ihre existierende Nagios-Installation

  2. Konfigurationsdateien

      • Hauptkonfigurationsdatei (normalerweise nagios.cfg)

      • Ressource-Konfigurationsdatei (normalerweise resource.cfg)

      • CGI-Konfigurationsdatei (normalerweise cgi.cfg)

      • all Ihre Objektdefinitionsdateien

    • Aufbewahrungsdatei (normalerweise retention.dat)

    • die aktuelle Nagios-Protokolldatei (normalerweise nagios.log)

    • archivierte Nagios-Protokolldateien

  3. Deinstallieren Sie die originalen RPM- oder APT-Pakete

  4. Installieren Sie Icinga aus dem Quellcode, indem Sie der Schnellstartanleitung folgen

  5. Sichern Sie Ihre Original-Nagios-Konfigurationsdateien, Aufbewahrungs- und Protokolldateien wieder zurück

  6. Benennen Sie die Hauptkonfigurationsdatei nagios.conf in icinga.conf um und ändern Sie in /usr/local/icinga/etc/icinga.cfg die Namen der Direktiven "nagios_user" in "icinga_user" und "nagios_group" in "icinga_group".

  7. Überprüfen Sie Ihre Konfiguration und starten Sie Icinga

Beachten Sie, dass verschiedene RPM- oder APT-Pakete Nagios auf verschiedene Weisen oder an verschiedenen Orten installieren. Stellen Sie sicher, dass Sie all Ihre kritischen Nagios-Dateien gesichert haben, bevor Sie das Original-RPM- oder APT-Paket entfernen, so dass Sie darauf zurückgreifen können, wenn Sie auf Probleme stoßen.