Sobald Sie Icinga installiert haben, können Sie das System über das Webinterface überwachen; standardmäßig ist es darauf beschränkt, die lokale Maschine zu überwachen, auf der Icinga installiert ist. Wenn Sie die Remote-Linux-Box oder Windows-Box überwachen möchten, müssen Sie das Nagios-Plugin und das NRPE-Add-On auf der Remote-Box installiert haben. Sobald das Plugin und Add-on installiert sind, müssen Sie den Icinga-Server konfigurieren, um die Informationen von der entfernten Maschine zu sammeln und sie auf der Weboberfläche anzuzeigen.
Wenn Sie Icinga noch installieren müssen; Besuchen Sie den Beitrag Installing Icinga on Ubuntu 14.10, mit icinga können Sie Remote-Dienste auf zwei Arten überwachen.
- Öffentliche Dienste überwachen
- Überwachung mit NRPE-Add-on.
Überwachung öffentlicher Dienste:
Icinga unterstützt die Überwachung öffentlicher Dienste wie HTTP, POP3, IMAP, FTP und SSH, da diese Dienste keine besonderen Zugriffsanforderungen erfordern. Damit sind öffentliche Dienste gemeint, die entweder über das Intranetzwerk oder das Internet zugänglich sind, diese Dienste werden von uns meistens täglich genutzt.
Durch die Verwendung von Plugins können wir die Überwachungsmöglichkeiten auf spezifische Anwendungen und Protokolle unserer Anforderungen erweitern. In diesem Tutorial werden wir sowohl den http- als auch den ssh-Dienst des Webservers überwachen. Beginnen wir mit dem Erstellen der Konfigurationsdatei, alle neuen Konfigurationsdateien sollten unter /etc/icinga/objects.
erstellt werdenSie können den Dateinamen (itzgeek.cfg) durch einen Dateinamen Ihrer Wahl ersetzen, der auf .cfg enden muss.
$ sudo nano /etc/icinga/objects/itzgeek.cfg
Ersetzen Sie host_name und address gemäß Ihren Anforderungen, geben Sie Ihren Hostnamen und Ihre IP-Adresse in die Felder host_name bzw. address ein.
define host{ use generic-host ; Name of host template to use host_name itzgeek.com alias My Web Server address 23.229.xxx.xxx } define service { host_name itzgeek.com service_description HTTP check_command check_http use generic-service } # check that ssh services are running define service { host_name itzgeek.com service_description SSH check_command check_ssh use generic-service }
Wenn Sie fertig sind, starten Sie den icinga-Dienst neu.
$ sudo service icinga restart
Überprüfen Sie den Dienststatus in der Webschnittstelle, Sie sollten den neu hinzugefügten Host im Portal sehen.

Überwachung mit NRPE-Add-on:
Icinga sammelt selbst keine privaten Statistiken von entfernten Hosts, um dies zu umgehen; Auf dem Remote-Host muss das Add-On installiert sein. Das NRPE-Add-On sammelt Daten und der Icinga-Server sammelt daraus. Dazu installieren wir das NRPE-Add-On auf dem Remote-Host und konfigurieren den Icinga-Server, um die Daten zu sammeln.
Apt-Repositories aktualisieren.
$ sudo apt update
Installieren Sie NRPE- und Nagios-Plugins.
$ sudo apt install nagios-plugins nagios-nrpe-server
Ändern Sie die /etc/nagios/nrpe.cfg auf dem Remote-Host. Sie enthält das Befehlsargument zum Überprüfen des Dienstes auf dem Remote-Host. Die Datei nrpe.cfg enthält die grundlegenden Befehle zum Überprüfen der Remote-Dienste, unten sind die Befehlszeilen zum Überprüfen der CPU-Last und des laufenden Prozesses. check_hda1 und check_total_procs müssen in der Vorlagendatei auf dem Serverhost eingetragen werden, um die Überwachung zu aktivieren.
command[check_hda1]=/usr/lib/nagios/plugins/check_disk -w 20% -c 10% -p /dev/hda1 command[check_total_procs]=/usr/lib/nagios/plugins/check_procs -w 150 -c 200
Hinweis: Ändern Sie es beim Konfigurieren von check_hda1 entsprechend dem Festplattenlayout Ihres Remote-Hosts. In meinem Fall muss /dev/sda6 überwacht werden / Mount-Punkt; der folgende Eintrag muss in /etc/nagios/nrpe.cfg auf dem entfernten Host gesetzt werden.
command[check_sda6]=/usr/lib/nagios/plugins/check_disk -w 20% -c 10% -p /dev/sda6
Im obigen Befehl steht -w für Warnung, während -c für kritischen Alarm steht. Wenn Sie beispielsweise den zweiten Befehl auf dem Terminal ausführen, wird der laufende Prozess überprüft. Es wird warnen, wenn der Prozess mehr als 150 beträgt, oder es wird kritisch gemeldet, wenn der Prozess mehr als 200 beträgt, und gleichzeitig wird OK angezeigt, wenn der Prozess unter 150 liegt.
$ /usr/lib/nagios/plugins/check_procs -w 150 -c 200 PROCS OK: 17 processes | procs=17;150;200;0;
Ändern Sie zu Testzwecken Warnung auf 15 und Kritisch auf 150, da auf dem Server nur sehr wenige Prozesse ausgeführt werden. Jetzt können Sie die Warnmeldung sehen, die Sie Ihren Anforderungen entsprechend ändern können.
$ /usr/lib/nagios/plugins/check_procs -w 15 -c 200 PROCS WARNING: 17 processes | procs=17;15;200;0;
Vergessen Sie nicht, den folgenden Parameter in der Datei zu überprüfen, um sicherzustellen, dass der Dienst auf dem richtigen Port ausgeführt wird.
server_port=5666
Wenn Sie mehrere Netzwerkkarten haben, konfigurieren Sie diese so, dass ein Dienst auf einer bestimmten Netzwerkkarte lauscht.
server_address=192.168.12.9
Fügen Sie die Icinga-Server-IP in allow_hosts hinzu, wenn dieser Parameter gesetzt ist; Nur aufgelistete Icinga-Server können sich mit diesem Host verbinden.
allowed_hosts=192.168.12.6
Der Icinga-Server muss Kommandozeilenargumente übergeben dürfen, also setze dont_blame_nrpe auf 1.
dont_blame_nrpe=1
Starten Sie nach der Änderung den NRPE-Server neu.
$ sudo /etc/init.d/nagios-nrpe-server restart
Bestätigen Sie, dass NRPE Listening.
$ sudo netstat -antup | grep 5666 tcp 0 0 0.0.0.0:5666 0.0.0.0:* LISTEN 7333/nrpe tcp6 0 0 :::5666 :::* LISTEN 7333/nrpe
Icinga-Server konfigurieren:
Jetzt ist es an der Zeit, den Icinga-Server so zu konfigurieren, dass er den Remote-Client überwacht. Sie müssen nrpe-plugin installieren.
$ sudo apt-get install nagios-nrpe-plugin
Überprüfen Sie die Version des Remote-Host-NRPE-Servers.
$ sudo /usr/lib/nagios/plugins/check_nrpe -H 192.168.12.9 NRPE v2.15
Erstellen Sie die neue Konfigurationsdatei (/usr/local/icinga/etc/objects/remote.cfg), um die Host- und Dienstdefinition zu definieren.
sudo nano /etc/icinga/objects/remote.cfg
Sie können die folgende Vorlage verwenden und entsprechend Ihren Anforderungen ändern. Folgendes ist so konfiguriert, dass es die CPU-Auslastung, den Speicherplatz und die aktuellen Benutzer anzeigt.
define host{ use generic-host host_name remote.itzgeek.com alias My Remote Ubuntu Server address 192.168.12.9 } define service{ use generic-service host_name remote.itzgeek.com service_description Root Partition check_command check_nrpe_1arg!check_sda6 } define service{ use generic-service host_name remote.itzgeek.com service_description Current Users check_command check_nrpe_1arg!check_users } define service{ use generic-service host_name remote.itzgeek.com service_description Total Processes check_command check_nrpe_1arg!check_total_procs } define service{ use generic-service host_name remote.itzgeek.com service_description Current Load check_command check_nrpe_1arg!check_load }
Starten Sie den icinga-Server neu.
$ sudo /etc/init.d/icinga restart
Überwachen Sie den Remote-Computer:
Melden Sie sich jetzt an der Weboberfläche an und beginnen Sie mit der Überwachung. Der folgende Screenshot zeigt den Remote-Linux-Server mit dem verfügbaren Standarddienst.

Das ist alles. Jetzt können Sie den Remote-Rechner einfach mit Icinga überwachen.