Icinga 2 ist ein kostenloses und Open-Source-Überwachungstool zum Überwachen von Servern und Netzwerkressourcen. Mit Icinga 2 können Sie Alarme bei Ausfällen konfigurieren und Leistungsdaten generieren.
Icinga 2 ist sehr skalierbar und Sie können kleinere bis größere, komplexe Umgebungen über mehrere Standorte hinweg überwachen.
Hier sehen wir, wie Icinga 2 auf CentOS 8 / RHEL 8 installiert wird.
EPEL-Repository aktivieren
Icinga-Pakete hängen von anderen Paketen ab, die im EPEL-Repository verteilt werden. Konfigurieren Sie also das EPEL-Repository auf CentOS 8 / RHEL 8.
CentOS 8
dnf install -y https://dl.fedoraproject.org/pub/epel/epel-release-latest-8.noarch.rpm
dnf config-manager --set-enabled PowerTools
RHEL 8
ARCH=$( /bin/arch )
subscription-manager repos --enable rhel-8-server-optional-rpms
subscription-manager repos --enable "codeready-builder-for-rhel-8-${ARCH}-rpms"
dnf install https://dl.fedoraproject.org/pub/epel/epel-release-latest-8.noarch.rpm
Icinga 2-Repository hinzufügen
Icinga stellt Icinga 2-Pakete aus seinem dedizierten Repository bereit. Installieren Sie also das Icinga-Repository-Konfigurations-RPM, um das Icinga-Repository automatisch zu konfigurieren.
rpm --import https://packages.icinga.com/icinga.key
dnf install -y https://packages.icinga.com/epel/icinga-rpm-release-8-latest.noarch.rpm
Installieren Sie Icinga 2
Nachdem Sie das Icinga-Repository konfiguriert haben, installieren Sie Icinga 2 mit dem Befehl dnf.
dnf install -y icinga2
Um den Icinga2-Dienst zu starten, führen Sie Folgendes aus:
systemctl start icinga2
Um den Icinga 2-Dienst automatisch beim Systemstart starten zu lassen, führen Sie Folgendes aus:
systemctl enable icinga2
SELinux
Wenn auf Ihrem System SELinux aktiviert ist, installieren Sie das folgende Paket, um eine gezielte Richtlinie für Icinga 2 zu haben.
dnf install -y icinga2-selinux
Nagios-Plugins installieren
Ohne Plugins weiß Icinga 2 nicht, wie Anwendungsdienste überwacht werden sollen. Installieren Sie also Nagios-Plugins, um mit Icinga 2 zu arbeiten.
dnf install -y nagios-plugins-all
Firewall
Konfigurieren Sie die Firewall so, dass Client-Systeme Daten an den Icinga 2-Server senden können.
firewall-cmd --permanent --add-port=5665/tcp
firewall-cmd --reload
DB IDO MySQL konfigurieren
Das DB-IDO-Modul für Icinga 2 kümmert sich um den Export aller Konfigurations- und Statusinformationen in die Datenbank.
Derzeit werden MySQL und PostgreSQL unterstützt. Hier verwenden wir den MySQL/MariaDB-Server als Datenbankserver.
Datenbankserver installieren
Installieren Sie den MariaDB-Server (v10.3) aus dem Betriebssystem-Repository.
LESEN: So installieren Sie MariaDB v10.4 unter CentOS 8 / RHEL 8
LESEN: So installieren Sie MySQL 8 unter CentOS 8 / RHEL 8
dnf install -y mariadb-server mariadb
Starten und aktivieren Sie den MariaDB-Dienst.
systemctl start mariadb
systemctl enable mariadb
Führen Sie die Ersteinrichtung von MariaDB mit dem Befehl mysql_secure_installation durch, um das Datenbank-Root-Passwort und andere wichtige Sicherheitsmaßnahmen einzurichten.
IDO-Module für MySQL installieren
Fahren Sie nun mit der Installation von IDO-Modulen für MySQL fort, indem Sie den folgenden Befehl verwenden.
dnf install -y icinga2-ido-mysql
Datenbank für IDO-Module erstellen
Melden Sie sich mit dem folgenden Befehl bei MariaDB an.
mysql -u root -p
Erstellen Sie eine Datenbank für IDO-Module. Bitte notieren Sie sich die Datenbankdetails, da wir diese benötigen, wenn wir die Icinga-Web-2-Schnittstelle einrichten.
CREATE DATABASE icinga2;
grant all privileges on icinga2.* to icinga2@localhost identified by 'icinga123';
FLUSH PRIVILEGES;
quit
Importieren Sie nach dem Erstellen der Datenbank das Icinga 2 IDO-Schema mit dem folgenden Befehl.
mysql -u root -p icinga2 < /usr/share/icinga2-ido-mysql/schema/mysql.sql
IDO-MySQL-Modul aktivieren
Standardmäßig ist das IDO-MySQL-Modul (ido-mysql) deaktiviert. Lassen Sie uns die verfügbaren und aktivierten Module in Icinga 2 auflisten.
icinga2 feature list
Output: Disabled features: api command compatlog debuglog elasticsearch gelf graphite ido-mysql influxdb livestatus opentsdb perfdata statusdata syslog Enabled features: checker mainlog notification
Aktivieren Sie das ido-mysql-Modul mit dem folgenden Befehl.
icinga2 feature enable ido-mysql
Aktivieren Sie außerdem die Befehlsfunktion, die der Icinga-Web-2-Schnittstelle oder anderen Icinga-Add-Ons hilft, Befehle über eine externe Befehlspipe an Icinga 2 zu senden.
icinga2 feature enable command
IDO DB MySQL-Modul konfigurieren
Sobald Sie das IDO-Modul aktiviert haben, legt Icinga 2 die neue Konfigurationsdatei /etc/icinga2/features-enabled/ido-mysql.conf.
abBearbeiten Sie die Datei, um die Datenbankanmeldeinformationen manuell zu aktualisieren.
vi /etc/icinga2/features-enabled/ido-mysql.conf
Aktualisieren Sie die obige Datei wie unten gezeigt.
user = "icinga2", password = "icinga123", host = "localhost", database = "icinga2"
Starten Sie den Icinga 2-Server neu, damit diese aktivierten Funktionen wirksam werden.
systemctl restart icinga2
Schlussfolgerung
Das ist alles. Ich hoffe, Sie haben gelernt, wie man Icinga 2 auf CentOS 8 / RHEL 8 installiert. In unserem nächsten Artikel werden wir die Icinga Web 2-Schnittstelle installieren.