GNU/Linux >> LINUX-Kenntnisse >  >> Debian

So installieren Sie Icinga 2 und Icinga Web 2 unter Debian 9

Icinga 2 ist ein Open-Source-Überwachungssystem, das hochgradig skalierbar und erweiterbar ist. Es kann große, komplexe Umgebungen an mehreren Standorten überwachen. Es prüft die Verfügbarkeit Ihrer Netzwerkressourcen, benachrichtigt Benutzer über Ausfälle und generiert Leistungsdaten für das Reporting. Es handelt sich um eine Netzwerküberwachungsanwendung, die über das Internet konfiguriert werden kann und deren Funktionalität hauptsächlich auf der serverseitigen Programmiersprache PHP basiert.

Grundsätzlich überwacht es den Status von Netzwerkprotokollen wie HTTP, FTP, SMTP, IMAP oder anderen Netzwerkdiensten, hostet Ressourcen, physische Sensoren, Softwareinstallationen, CPU-Auslastung, Arbeitsspeicher, Speicherplatz und fast alle miteinander verbundenen Netzwerkgeräte über ICMP oder Ping-Anfragen. Darüber hinaus kann es einfach konfiguriert werden, um System- oder Netzwerkadministratoren per E-Mail, SMS, Chat oder anderen Arten von Warnungen über Netzwerk-, System-, Dienst- oder andere damit zusammenhängende Netzwerkausfälle zu benachrichtigen, und kann auch Grafiken über Netzwerkausfallzeiten oder -leistung erstellen.

In diesem Artikel erkläre ich, wie man einen Icinga2-Server mit Web 2-Schnittstelle auf unserem neuesten Debian 9.3-Server installiert. Sehen wir uns die Schritt-für-Schritt-Anleitung zum Aufbau unseres Überwachungssystems an.

Voraussetzungen

Bevor wir mit der Installation fortfahren, müssen wir sicherstellen, dass unser System alle Softwareanforderungen zum Kompilieren und Installieren der Anwendung erfüllt. Aktualisieren Sie im ersten Schritt Ihre System-Repositories und Softwarepakete, indem Sie den folgenden Befehl ausführen.

# apt update
# apt upgrade
# apt install bash-completion

Als nächstes richten Sie den Hostnamen für Ihren Server ein, indem Sie den folgenden Befehl ausführen. Ich habe icinga2 hinzugefügt an meinen Hostnamen.

# hostnamectl set-hostname icinga2
# hostnamectl
Static hostname: icinga2
Icon name: computer-vm
Chassis: vm
Machine ID: 7f2b1120403449a3b27d2f40de770be2
Boot ID: 321481f419e94e6cb377ae804d9bab42
Virtualization: kvm
Operating System: Debian GNU/Linux 9 (stretch)
Kernel: Linux 4.9.0-4-amd64
Architecture: x86-64
# cat /etc/hostname
icinga2

Schließlich müssen wir unseren Debian-Server neu starten, um Kernel-Updates anzuwenden und den Hostnamen korrekt zu ändern.

LAMP-Stack installieren

Wie bereits erwähnt, ist Icinga 2 eine in C++ geschriebene Netzwerküberwachungsanwendung und Icinga Web 2 ein leistungsstarkes PHP-Framework für Webanwendungen, das in einem sauberen und reduzierten Design daherkommt. Um seine Dateiskripte auszuführen, müssen ein Webserver, wie z. B. ein Apache HTTP-Server, und ein PHP-Verarbeitungsgateway auf dem Server installiert und betriebsbereit sein. Ich habe den Apache-Webserver, MySQL und alle erforderlichen PHP-Module, die von Icinga benötigt werden, mit dem folgenden Befehl installiert:

# apt install apache2 libapache2-mod-php7.0 php7.0-xml php7.0-opcache php7.0-xml php7.0-mbstring php7.0-json php7.0-curl php7.0-ldap php7.0-cli php7.0-gd php7.0-intl php7.0-readline php7.0-pgsql
# apt install mariadb-server mariadb-client php7.0-mysql

Starten/aktivieren Sie den Apache/MySQL-Dienst.

# systemctl enable apache2 mariadb
# systemctl start apache2 mariadb
# systemctl status apache2 mariadb

Nachdem Apache, MySQL und PHP installiert wurden, können Sie testen, ob der Webserver betriebsbereit ist, indem Sie die Server-IP durchsuchen, oder Sie können sogar bestätigen, indem Sie die Netzwerkverbindungen testen, die auf ihren entsprechenden Ports oder nach Dienst mit dem Befehl netstat von der Konsole lauschen mit Root-Rechten wie folgt:

# netstat -plan | grep :80
tcp6 0 0 :::80 :::* LISTEN 19097/apache2
tcp6 0 0 127.0.0.1:80 127.0.0.1:40780 TIME_WAIT -
# netstat -plan | grep mysql
tcp 0 0 127.0.0.1:3306 0.0.0.0:* LISTEN 14240/mysqld 
unix 2 [ ACC ] STREAM LISTENING 52783 14240/mysqld /var/run/mysqld/mysqld.sock

MySQL-Datenbank für Icinga2 erstellen

Zuerst müssen wir uns bei der MySQL-Konsole anmelden und den folgenden Befehl ausführen, um die MariaDB-Datenbank zu sichern und ein Root-Passwort festzulegen:

# mysql_secure_installation

Jetzt können wir zwei Datenbanken erstellen, die von der Icinga2-Anwendung und einem Benutzer mit einem Passwort verwendet werden können, um diese Datenbanken zu verwalten. Ich habe die Datenbank nämlich icingadb und icinga_users erstellt und gewährte Privilegien für den Benutzer icinga_user mit einem Passwort, um auf diese wie folgt zuzugreifen:

~# mysql -u root -p
Enter password:
Welcome to the MariaDB monitor. Commands end with ; or \g.
Your MariaDB connection id is 12
Server version: 10.1.26-MariaDB-0+deb9u1 Debian 9.1

Copyright (c) 2000, 2017, Oracle, MariaDB Corporation Ab and others.

Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.

MariaDB [(none)]> create database icingadb;
Query OK, 1 row affected (0.00 sec)

MariaDB [(none)]> grant all privileges on icingadb.* to 'icinga_user'@'localhost' identified by 'password';
Query OK, 0 rows affected (0.00 sec)

MariaDB [(none)]> create database icinga_users;
Query OK, 1 row affected (0.00 sec)

MariaDB [(none)]> grant all privileges on icinga_users.* to 'icinga_user'@'localhost' identified by 'password';
Query OK, 0 rows affected (0.00 sec)

MariaDB [(none)]> flush privileges;
Query OK, 0 rows affected (0.01 sec)

Die Datenbank icingadb wird für die icinga2-Webanwendung und die Datenbank icinga_users erstellt wird erstellt, um Benutzer, Gruppen und andere benutzerdefinierte Daten der Icinga2-Webschnittstelle zu speichern.

Installieren von Icinga2

Nach Abschluss der Installation aller Systemanforderungen können wir mit der Installation der Icinga2-Anwendung zusammen mit dem MySQL IDO-Modul fortfahren. Als externe Datenbank verwenden wir MySQL. Daher müssen wir das MySQL-IDO-Modul installieren, das für die Icinga2-Webschnittstelle verwendet wird. Es wird zum Exportieren aller Konfigurations- und Statusinformationen in seine Datenbank verwendet. Icinga 2 verfügt über vorkompilierte Binärpakete, die von Debian 9.3-Repositories angeboten werden. Daher kann die Installation über ihren apt-Paketmanager wie folgt durchgeführt werden:

# apt install icinga2 icinga2-ido-mysql

Während der Installation erscheint eine Reihe von Eingabeaufforderungen auf Ihrem Bildschirm. Zuerst werden Sie gefragt, ob Sie Icinga 2 konfigurieren und aktivieren möchten, um das MySQL-Modul zu verwenden. Wählen Sie Yes aus der Eingabeaufforderung und drücken Sie [enter] Taste, um wie im Bild unten dargestellt fortzufahren.

In der nächsten Eingabeaufforderung werden Sie gefragt, ob Sie die Datenbank für icinga2-ido-mysql mit der Option dbconfig-common konfigurieren möchten. Wählen Sie No aus der Eingabeaufforderung und drücken Sie [enter] Schlüssel, um die Installation von Icinga 2 abzuschließen.

Nachdem wir dieses Modul aktiviert und unsere Datenbank erstellt haben, müssen wir unseren Icinga2-Dienst neu starten.

# systemctl start icinga2.service
# systemctl status icinga2.service

Bitte stellen Sie sicher, dass die IDO MySQL-Konfigurationsdatei richtig mit den richtigen DB-Anmeldeinformationen eingestellt ist.

# cat /etc/icinga2/features-enabled/ido-mysql.conf
/**
* The db_ido_mysql library implements IDO functionality
* for MySQL.
*/

library "db_ido_mysql"
object IdoMysqlConnection "ido-mysql" {
user = "icinga_user",
password = "password",
host = "localhost",
database = "icingadb"
}

Funktionsliste aktivieren

Standardmäßig aktiviert Icinga2 die folgenden Funktionen. Wir können jedes zusätzliche Feature für die Liste aktivieren, indem wir diesen Befehl ausführen icinga2 feature enable <feature name> . Wir können die aktivierten Einstellungen bestätigen, indem wir diesen Befehl wie folgt ausführen:

~# icinga2 feature list
Disabled features: api command compatlog debuglog gelf graphite influxdb livestatus opentsdb perfdata statusdata syslog
Enabled features: checker ido-mysql mainlog notification

The following features are enabled by default:

Checker: This feature enables the execution of checks.

Mainlog: This feature enables the logging.

Notification: This feature enables notification mechanism.

IDO-mysql:  Provides IDO module for the database.

Installieren des Icinga Web2-Plugins

Unser nächster Schritt ist die Installation der Icinga 2-Webschnittstellen- und Befehlszeilen-Utility-Pakete aus dem Debian 9.3-Repository mithilfe des Paketmanagers.

#apt install icingaweb2 icingacli

Nach der Installation können Sie den Icinga 2-Daemon neu starten, um alle Änderungen zu übernehmen und den Anwendungsstatus zu überprüfen, bevor Sie mit dem Konfigurationsteil fortfahren.

# systemctl restart icinga2.service
# systemctl status icinga2.service
# systemctl restart apache2

Installieren Sie nun das MySQL-Schema für die Icinga-Datenbank, indem Sie den folgenden Befehl ausführen. Das Schema der MySQL-Datenbank befindet sich im Verzeichnis /usr/share/icinga2-ido-mysql/schema/.

mysql -u root icingadb -p < /usr/share/icinga2-ido-mysql/schema/mysql.sql

Schließlich können wir das Installationstoken generieren, um die Installation des Icinga-Web-2-Plugins über eine Webschnittstelle abzuschließen.

# icingacli setup token create
The newly generated setup token is: c25b22acfc9f9094
# icingacli setup token show
The current setup token is: c25b22acfc9f9094

Icinga Web 2 Plugin konfigurieren

Nach dem Generieren des Tokens können wir mit der Konfiguration des Icinga Web 2-Plugins beginnen, indem wir diese URL>> http://IP//icingaweb2/setup  öffnen in Ihrem Browser. Sie können durch diese Screenshots navigieren, um mehr Klarheit darüber zu erhalten.

Schritt 1:Token einrichten

Im ersten Schritt werden Sie aufgefordert, das zuvor generierte Token bereitzustellen, um die Installationsphase zu starten. Wenn Sie kein Token generiert haben, können Sie den Anweisungen im obigen Screenshot zum Generieren eines Tokens folgen und mit dem nächsten Schritt fortfahren.

Schritt 2:Auswahl der Icinga Web2-Module

Nach Bereitstellung des Tokens wird zum nächsten Abschnitt zur Auswahl der Module übergegangen. Wir können die bevorzugten Module auswählen, um mit dem nächsten Schritt fortzufahren.

Schritt 3:Überprüfen der PHP-Einstellungen

Um fortzufahren, müssen wir die fehlenden PHP-Module installieren und die richtige Zeitzone einstellen. Ich habe das fehlende PHP-Modul mit diesem Befehl "apt install php7.0-pgsql" installiert und den Apache neu gestartet, damit diese Änderungen wirksam werden. Außerdem können Sie in der PHP-Konfigurationsdatei /etc/php/7.0/apache2/php.ini eine passende Zeitzone einstellen . Nachdem Sie die erforderlichen Einstellungen getroffen haben, können Sie mit der nächsten Stufe fortfahren.

Schritt 5:Authentifizierungsmethoden

Wir müssen die bevorzugte Authentifizierungsmethode auswählen, um mit der Installation fortzufahren. Wie ich zuvor besprochen habe, habe ich es vorgezogen, dafür den Datenbanktyp zu wählen.

Schritt 6:Geben Sie die Datenbankdetails ein

Fügen Sie in diesem Schritt den Namen der Icinga 2 Web MySQL-Datenbank und die Zugangsdaten für diese Datenbank hinzu. Diese Datenbank wird zum Speichern von Benutzern und Gruppen der Icinga 2-Webschnittstelle verwendet. Verwenden Sie die Datenbankinformationen für die zweite zuvor erstellte Datenbank. Fügen Sie icingaweb_db als Namen für diese Ressource hinzu und belassen Sie die Variablen Host, Port und Zeichensatz als Standard. Aktivieren Sie nicht die Optionen Persistent und SSL. Klicken Sie auf die Schaltfläche Validate Configuration, um die Datenbankverbindung zu validieren, wie im folgenden Bild gezeigt. Wenn Sie fertig sind, klicken Sie auf die Schaltfläche Weiter, um zum nächsten Installationsabschnitt zu gelangen.

Schritt 7:Anmeldungen für die Icinga-Webadministration erstellen

Nachdem wir unsere Datenbankressourcen erfolgreich authentifiziert haben, müssen wir das Administratorkonto zum Verwalten der Icinga2-Webschnittstelle erstellen. Wählen Sie ein sicheres Passwort für dieses Konto. Wenn Sie fertig sind, klicken Sie auf die Schaltfläche Weiter, um zum nächsten Installationsbildschirm zu gelangen.

Schritt 8:Auswählen der Anwendungskonfigurationsoptionen

Als nächstes müssen wir die Icinga-Anwendung und die Protokollierungskonfiguration mit den folgenden Einstellungen konfigurieren, genau wie im Screenshot.

  • Aktivieren Sie Stacktraces anzeigen
  • Speichertyp =Datenbank
  • Protokolltyp =Datei
  • Protokollierungsebene =Fehler
  • Dateipfad =/var/log/icingaweb2/icingaweb2.log

Wir müssen diese Protokolldatei vom Server-Backend erstellen und die richtige Berechtigung/Eigentum festlegen, um sicherzustellen, dass die Icinga Web 2-Protokolle ordnungsgemäß funktionieren.

Schritt 9:Überprüfen aller gewählten Einstellungen.

Dieser Bildschirm informiert Sie darüber, dass Icinga Web2 erfolgreich konfiguriert wurde, und ein detaillierter Bericht zeigt alle bisher vorgenommenen Konfigurationen an. Überprüfen Sie den Bericht und klicken Sie auf die Schaltfläche Weiter, um mit dem nächsten Installationsabschnitt fortzufahren.

Schritt 10:Überwachungsmodul konfigurieren

Jetzt haben wir den Authentifizierungsteil abgeschlossen und es folgt die Konfiguration des Überwachungsmoduls.

Wie wir zuvor besprochen haben, exportiert das Icinga-IDO-Modul alle Statusinformationen und Konfigurationsteile in die Icinga-Hauptdatenbank. Daher müssen wir dieses Modul auswählen und richtig konfigurieren, um die Datenbank mit den Informationen zu aktualisieren.

Hier müssen wir die wichtigsten Datenbankinformationen angeben, um fortzufahren. Füllen Sie hier die Datenbankdetails aus. Stellen Sie sicher, dass Sie für alle Änderungen die richtigen Berechtigungen für den Datenbankbenutzer festlegen.

Konfigurieren Sie Icinga Command Transport mit den folgenden Einstellungen und klicken Sie auf die Schaltfläche Weiter, um fortzufahren.

  • Transportname =icinga2
  • Transporttyp =Lokale Befehlsdatei
  • Befehlsdatei =/var/run/icinga2/cmd/icinga2.cmd

In dieser Sicherheitsphase müssen wir keine Änderungen vornehmen. Wir können einfach mit den Standardeinstellungen fortfahren, indem wir auf 'Next". klicken

Schritt 11:Überprüfung der Konfigurationsoptionen des Überwachungsmoduls

In dieser Phase werden Sie über den gesamten Konfigurationsteil des Überwachungsmoduls informiert, den Sie ausgewählt haben. Sie können einfach die Einstellungen bestätigen und fortfahren, um die Einrichtung abzuschließen.

Letzter Schritt:Melden Sie sich bei der Weboberfläche an

Nachdem der Installationsvorgang erfolgreich abgeschlossen wurde, informiert Sie eine Glückwunschnachricht darüber, dass Icinga Web 2 erfolgreich installiert wurde. Klicken Sie auf den Login link um zur Anmeldeseite von Icinga2 umzuleiten.

Melden Sie sich bei Icinga Web 2 mit den Anmeldeinformationen an, die während des Installationsvorgangs konfiguriert wurden, und Sie werden zum Icinga Web 2-Dashboard weitergeleitet,

Unser Masterknoten wird diesem System standardmäßig hinzugefügt. Wir können die Dienstbenachrichtigungen für unseren Master-Icinga-Server hier sehen. Oder Sie können einfach diese URL durchsuchen http://IP/icingaweb2/ um auf die Weboberfläche zuzugreifen.

Wir können diesem Überwachungssystem beliebig viele Knoten hinzufügen.

Abschluss

Wir haben die Icinga 2-Netzwerküberwachungsanwendung erfolgreich auf dem Debian 9.3-Server installiert und konfiguriert. Weitere Details zur benutzerdefinierten Konfiguration finden Sie in dieser Icinga-Dokumentation. Ich hoffe, dass dieser Artikel für Sie nützlich ist. Bitte posten Sie Ihre wertvollen Kommentare und Vorschläge dazu.


Debian
  1. So installieren und verwenden Sie Debian-Backports

  2. So installieren Sie R unter Debian 9

  3. So installieren und konfigurieren Sie Redis unter Debian 9

  4. So installieren und verwenden Sie FFmpeg unter Debian 9

  5. So installieren Sie Icinga 2 auf Debian 9

So installieren Sie Icinga 2 unter Ubuntu 18.04 / Ubuntu 16.04 und Debian 9

So installieren und konfigurieren Sie den Apache-Webserver unter Debian 11

So installieren Sie Icinga 2 auf Debian 8

So installieren Sie Icinga 2 unter Debian 10

So installieren Sie Netdata unter Debian 10

So installieren Sie Icinga 2 auf Debian 11