2.9. Icinga aktualisieren
Zurück | Kapitel 2. Los geht's | Weiter

## 2.9. Icinga aktualisieren

| 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
Wenn Sie die IDOUtils benutzen, dann müssen Sie auch diese aktualisieren. Weitere Informationen finden Sie im Abschnitt IDOUtils-Datenbank aktualisieren.

| 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.

### 2.9.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 http://www.icinga.org/ 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 --enable-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

Das war's - Sie sind fertig!

### 2.9.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 http://www.icinga.org/ für den Verweis auf die letzte Version).

     #> wget http://osdn.dl.sourceforge.net/sourceforge/icinga/icinga-1.8.tar.gz

Entpacken Sie das Quellcode-Archiv.

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

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
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.9.3. Upgrade von Nagios 2.x

Es sollte nicht allzu schwierig sein, von Nagios 2.x auf Icinga 1.8 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.8 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.9.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.

Zurück | Nach oben | Weiter
2.8. Links zu weiteren Howtos | Zum Anfang | 2.10. IDOUtils-Datenbank aktualisieren

© 2009-2012 Icinga Development Team, http://www.icinga.org