Icinga2 – Installation

In der folgenden Anleitung wird ein Icinga2 Server mit dem Webinterface Icingaweb2 installiert.

Das ganze läuft auf einem Ubuntu 18.04 Server.

Vorbereitungen

Zuerst sollten die Distibution aufn den aktuellen Stand gebracht werden.

Im Anschluss wird  das offizielle Icinga Repository zu unseren Paketquellen hinzugefügt.

http://packages.icinga.com/ubuntu/

Für Debian:

http://packages.icinga.com/debian/

 

Damit sind die Vorbereitungen getroffen und die eigentliche Installation kann beginnen.

Installation

Den Anfang macht der MySQL Server wir nehmen hier die „kleine“ Schwester MariaDB, den brauchen wir um später unsere Historie der Check-Ergebnisse sowie die Konfiguration in einer Datenbank zu speichern.

nun wird die Datenbank etwas gehärtet:

  • Enter current password for root (enter for none): ENTER
  • Change the root password? [Y/n] Y
    • Hier geben wir ein sicheres Passwort für den MySQL-Benutzer „root“ ein z.B. 5Up3R$3cUr3 (nicht nehmen!)
  • Remove anonymous users? [Y/n] Y
  • Disallow root login remotely? [Y/n] Y
  • Remove test database and access to it? [Y/n] Y
  • Reload privilege tables now? [Y/n] Y

Im Anschluss können wir den Icinga2 Server installieren:

 

Die Frage ob unser Icinga2 Server MySQL verwenden soll können wir mir „JA“ beantworten.

Als nächstes wird gefragt ob wir die Icinga Datenbank automatisch konfigurieren lassen wollen, dies Beantworten wir mit „NEIN“ .

Konfiguration

Wir benötigen nun einen MySQL User der der Icinga2 Server verwenden wird. Der Einfachheit halber belasse ich es hier bei dem Benutzernamen „icinga2“ und dem Passwort „icinga2pw“ , du solltest natürlich etwas kreativer sein und sichere Passwörter verwenden!

Das oben gewählte Passwort eingeben, in meinem Fall: 5Up3R$3cUr3

Die Credentials des gerade angelegten Users müssen wir nun noch dem Icinga Server nennen.

Der Inhalt dieser Datei sollte mit unseren Änderungen nun so aus sehen:

danach wird die Icinga2 Datenbank-Struktur erstellt:

-u: Name des MySQL Benutzers
-D: Datenbank die Verwendet werden soll

Als Passwort wird „icinga2pw“ eingegeben.

Damit Icinga nun auch die Datenbank nutzt müssen wir das Feature aktivieren:

eine Übersicht was aktuell schon aktiviert ist liefert der folgende Befehl:

nun sollten wir folgendes sehen:

Damit die Änderungen wirksam werden starten wir den Icinga2 Dienst neu:

Installation von Icingaweb2

Das Icingaweb2 nutzt eine eigene Datenbank die wir manuell anlegen müssen

Beim Aufrufen des Icingaweb2 Webinterface (http://SERVER-IP-ODER-NAME/icingaweb2) kommt eine Fehlermeldung, dass diese noch nicht konfiguriert sei. Dies beheben wir indem wir das Icingaweb2 Setup starten: http://SERVER-IP-ODER-NAME/icingaweb2/setup

zuerst müssen wir einen Security Token erstellen, da wir bei der Installation das Feature „Command“ aktiviert haben können wir folgende Befehle nutzen:

Das ausgegebene Token wird unter Einrichtungstoken eingetragen:

Auf der Modules Seiten wählen wir zusätzlich noch „Doc“ aus.

In der nächsten Übersicht sehen wir ob alle nötigen Abhängigkeiten erfüllt werden.

 

Bei mir ist die PHP-Einstellung „date.timezone“ nicht definiert, dies beheben wir noch eben.

Folgende Stelle finden (STRG+W -> date.timezone -> ENTER):

und editieren:

im Anschluss muss der Apache Webserver neugestartet werden

Nach dem aktualisieren der Systemvoraussetzungen-Seite von Icingaweb2 sollte dieser Fehler nun verschwinden sein. Die gelben Warnungen über  PDO-PostfreSQL können wir ignorieren, da wir MySQL als Datenbank nutzen.

Auf der Seite Authentifizierung wählen wir „Datenbank“ aus und editieren die Datenbank-Ressource eine Seite weiter.

Datenbankname: icingaweb2
Benutzername: icingaweb2
Kennwort: icingaweb2-passwort

Den Voreingestellten Backend-Name können wir so belassen.

Nun erstellen wir noch unseren ersten Icingaweb2 Administrator-Nutzer

Die Konfiguration der Anwendung belassen wir beim Standard.

Fast fertig! Wir bekommen eine Übersicht der Icingaweb2 Konfiguration die wir uns irgendwo abspeichern können.

Im Anschluss konfigurieren wir noch die Icinga-Ressouce auf die das Webinterface schauen soll (das ist die Datenbank vom Icinga2 Server).

Datenbankname: icinga2
Benutzername: icinga2
Kennwort: icinga2pw

Beim Befehlstransport wählen wir „Lokale Befehlsdatei“ aus.

Die Seite Monitoring-Sicherheit kann so gelassen werden.

Zuletzt gibt es erneut eine Übersichtsseite zur Backend-Konfiguration.

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert.