Wer hier gelandet ist, braucht bestimmt keine Erklärung mehr was icinga 2 ist aber für alle Verwirrten ein paar kurze Worte:
Bei Icinga2 handelt es sich um eine Monitoring Software die im 2009 als Fork von Nagios entstanden ist. Mit Icinga2 lässt sich das ganze Netzwerk überwachen und das sogar als HA-Cluster.
In diesem Tutorial zeigen wir euch wie Ihr Icinga2 auf Ubuntu 20.04 LTS installieren installieren könnt, los gehts !
Anforderungen
1. Repository hinzufügen
Damit wir Icinga2 direkt aus dem Repository von Icinga beziehen können. Erstellen wir uns hierfür eine neue Liste. Wir machen dies, um auf dem neusten Stand zu sein und auch zu bleiben.
GPG Key von Icinga 2 hinzufügen
curl https://packages.icinga.com/icinga.key | apt-key add -
Neue Source-Liste erstellen
cd /etc/apt/sources.list.d/
vi icinga.list
Diese Konfiguration einfügen
deb http://packages.icinga.com/ubuntu icinga-focal main
deb-src http://packages.icinga.com/ubuntu icinga-focal main
speichern und verlassen
2. Icinga2 und Monitoring Plugins installieren
Wir können nun Icinga2 über apt aus der korrekten Source installieren. apt update darf an dieser Stelle nicht vergessen werden, da ansonsten Icinga 2 aus der Quelle von Ubuntu bezogen wird.
sudo apt update
sudo apt install icinga2 monitoring-plugins
3. Icinga2 starten
systemctl start icinga2
systemctl enable icinga2
systemctl enable aktiviert den AutoStart für Icinga2, so das es bei jedem Neustart auch von alleine wieder gestartet wird.
Es empfiehlt sich noch kurz den Status zu überprüfen mit
systemctl status icinga2
4. MySQL Datenbank Server installieren
Damit unser Monitoring auch die Daten irgendwo hinschreiben kann, benötigen wir eine Datenbank. Diese können wir einfach über apt installieren.
sudo apt install mysql-server mysql-client
5. Datenbank Server starten
systemctl start mysql
systemctl enable mysql
6. Datenbank Server konfigurieren
Im Momentanen Zustand können wir mit dem Datenbank Server noch nicht all zu viel Anfangen. Mit dem Konfigurationsassistenten erstellen wir uns nun einen Zugang.
mysql_secure_installation
Die Fragen können alle mit Y beantwortet werden. Passwort muss sicher sein!
Press y|Y for Yes, any other key for No:
Please set the password for root here.
New password:
Re-enter new password:
Remove anonymous users? (Press y|Y for Yes, any other key for No) : Y
Disallow root login remotely? (Press y|Y for Yes, any other key for No) : Y
Remove test database and access to it? (Press y|Y for Yes, any other key for No) : Y
Reload privilege tables now? (Press y|Y for Yes, any other key for No) : Y
7. MySQL Modul installieren
sudo apt install icinga2-ido-mysql
Fragen beantworten
Es wurde nun ein Datenbank Benutzer Icinga2 angelegt.
8. Datenbank Benutzer konfigurieren
Der Benutzer hat noch nicht die entsprechenden Berechtigungen um sich per Passwort auf den Datenbank Server zu verbinden.
Login mit root auf den Datenbank Server
mysql -u root -p
Passwort aus der Konfiguration von MySQL eingeben und [ENTER].
Benutzer mit diesem Query anpassen. Als Passwort das Passwort aus Schritt 7 verwenden.
ALTER USER icinga2@localhost IDENTIFIED WITH mysql_native_password BY 'PASSWORT_SICHER';
flush privileges;
Verlassen
exit
9. Feature aktivieren und Neustart
icinga2 feature enable ido-mysql
Überprüfen ob es geklappt hat mit
icinga2 feature list
Icinga2 neu starten
systemctl restart icinga2
10. python3-software-properties installieren
sudo apt install python3-software-properties
11. Repository für PHP hinzufügen
sudo add-apt-repository ppa:ondrej/php
12. PHP und apache2 installieren
sudo apt install apache2 php7.4 php7.4-common php7.4-gd php7.4-ldap php7.4-intl php7.4-curl libapache2-mod-php7.4 php7.4-mysql php7.4-pgsql php7.4-xml
13. php.ini anpassen
vi /etc/php/7.4/apache2/php.ini
Die Zeitzone gemäss eurem Standort anpassen
date.timezone = Europe/Zurich
Auskommentieren der Zeile cgi.fix_pathinfo=0 (# entfernen)
cgi.fix_pathinfo=0
mit :wq speichern und verlassen
14. apache2 neu starten und Autostart
systemctl restart apache2
systemctl enable apache2
Status überprüfen
systemctl status apache2
15. icingaweb2 installieren
Damit wir nicht nur per CLI sondern auch über den Browser alle unsere Server überwachen können. Installieren wir im nächsten Schritt die Weboberfläche von Icinga2.
sudo apt install icingaweb2 icingacli
16. Token erzeugen
icingacli setup token create
Speichert euch euren Token auf jeden Fall. Diesen braucht Ihr um einen Administrator zu erstellen.
17. Datenbank Benutzer für icingaweb2 erstellen
Login in die Datenbank mit root
mysql -u root -p
neuen Benutzer mit diesem Query erstellen
create database icingaweb2;
create user icingaweb2@localhost identified with mysql_native_password by "PASSWORDICINGAWEB2";
grant all privileges on icingaweb2.* to icingaweb2@localhost with grant option;
flush privileges;
Datenbank verlassen
exit
18. Setup icingaweb2
Öffne einen Browser und navigiere zu folgender Seite
http://<IP-DES-SERVERS>/icingaweb2/setup
Gebe nun hier den Token ein und klicke auf Next
18.1 Module aktivieren
Wir brauchen nur die beden Module Docs und Monitoring.

18.2 Überprüfung
Hier sollte alles auf grün stehen, bis auf PostgresSQl. Diese verwenden wir nicht und ist somit korrekt.
18.3 Verbindungsart
Wähle als Authentication type “Database” aus und klicke auf Next
18.4 Datenbankverbindung
Trage die Daten von deinem Datenbankserver ein. In etwas wie in dieser Liste.
- icingaweb_db
- MySQL
- localhost
- leer oder 3306
- icingaweb2
- icingaweb2
- DEIN_PASSWORT
Klicke anschliessend auf “Validate” und teste deine Konfiguration.
Wenn alles stimmt kannst du auf “Next” klicken.
18.5 Backend Authentication
icingaweb2 und “Next”
18.6 Administrator erstellen
Wähle einen Benutzernamen und ein sicheres Passwort für die Weboberfläche.
18.7 Application Configuration
Alles so lassen und auf “Next” klicken
18.8 Überprüfung
Mit “Next” gehts weiter 🙂
18.9 Willkommensseite
Mit “Next” gehts weiter 🙂
18.10 Monitoring Backend
- Backend Name: Icinga2
- Backend Type: IDO
18.11 Datenverbindung für IDO erstellen
Felder wie folgt ausfüllen
- icinga_ido
- MySQL
- localhost
- leer oder 3306
- icinga2
- icinga2
- PASSWORT FÜR DIE ICINGA2 Datenbank
Validieren und mit “Next” weiter
18.12 Command Transport
Transport Type auf “Local Command File” ändern den Rest so lassen wie es ist.
Weiter mit “Next”
18.13 Monitoring Security
Alles auf Default belassen und “Next”
18.14 Überprüfung
Wenn alles korrekt ist auf “Finish” klicken
18.15 Login
Rechts oben auf den Login Button klicken und mit den und mit euren Daten anmelden.
Schlusswort
Sollte alles wie erwartet geklappt haben, habt ihr unser Tutorial Icinga2 auf Ubuntu 20.04 LTS installieren erfolgreich durchlaufen. Super! und viel Spass beim Monitoren euerer Infrastruktur
Hallo,
danke für die Anleitung, aber wie kann ich den Punkt 7 wiederholen ?
Hallo Maddin
Bin nicht sicher was du meinst, um den Befehl zu wiederholen kannst du Ihn einfach neu in der Konsole eingeben. Ich denke aber das ist nicht das Problem. Hast du Fehlermeldungen?
Guten tag, Danke für die Anleitung.
Wird es noch einen weiteren Teil geben zum hinzufügen von Hosts und Services?
Hallo Joshua
Ich habe das auf meine Taskliste genommen, sorry für die späte Antwort, der Artikel kommt demnächst
gruss Köbi