Nagios ist eine Open-Source-Software zur System- und Netzwerküberwachung. Nagios kann die Aktivität eines Hosts und seiner Dienste überwachen und gibt eine Warnung/Warnung aus, wenn auf dem Server etwas Schlimmes passiert. Nagios kann auf Linux-Betriebssystemen ausgeführt werden. Derzeit verwende ich Ubuntu 16.04 für die Installation.
Voraussetzungen
- 2 Ubuntu 16.04 - 64-Bit-Server
- 1 – Nagios-Host mit IP:192.168.1.9
- 2 - Ubuntu-Client mit IP:192.168.1.10
- Root/Sudo-Zugriff
Was wir in diesem Tutorial tun werden:
- Software die Paketabhängigkeiten wie - LAMP etc.
- Benutzer- und Gruppenkonfiguration.
- Installieren von Nagios.
- Apache konfigurieren.
- Testen des Nagios-Servers.
- Hinzufügen eines Hosts zur Überwachung.
Installieren der Voraussetzungen
Nagios benötigt den gcc-Compiler und build-essentials für die Kompilierung, LAMP (Apache, PHP, MySQL) für die Nagios-Weboberfläche und Sendmail, um Benachrichtigungen vom Server zu senden. Um all diese Pakete zu installieren, führen Sie diesen Befehl aus (es ist nur eine Zeile):
sudo apt-get install wget build-essential apache2 php apache2-mod-php7.0 php-gd libgd-dev sendmail unzip
Benutzer- und Gruppenkonfiguration
Damit Nagios ausgeführt werden kann, müssen Sie einen neuen Benutzer für Nagios erstellen. Wir nennen den Benutzer "nagios" und erstellen Sie zusätzlich eine Gruppe namens "nagcmd" . Wir fügen den neuen Benutzer der Gruppe wie unten gezeigt hinzu:
useradd nagios
groupadd nagcmd
usermod -a -G nagcmd nagios
usermod -a -G nagios,nagcmd www-data
Installation von Nagios
Schritt 1 – Laden Sie den Nagios-Core herunter und extrahieren Sie ihn
cd ~
wget https://assets.nagios.com/downloads/nagioscore/releases/nagios-4.2.0.tar.gz
tar -xzf nagios*.tar.gz
cd nagios-4.2.0
Schritt 2 - Nagios kompilieren
Bevor Sie Nagios bauen, müssen Sie es mit dem Benutzer und der Gruppe konfigurieren, die Sie zuvor erstellt haben.
./configure --with-nagios-group=nagios --with-command-group=nagcmd
Für weitere Informationen verwenden Sie bitte:./configure --help .
Nun zur Installation von Nagios:
make all
sudo make install
sudo make install-commandmode
sudo make install-init
sudo make install-config
/usr/bin/install -c -m 644 sample-config/httpd.conf /etc/apache2/sites-available/nagios.conf
Und kopieren Sie das Evenhandler-Verzeichnis in das Nagios-Verzeichnis:
cp -R contrib/eventhandlers/ /usr/local/nagios/libexec/
chown -R nagios:nagios /usr/local/nagios/libexec/eventhandlers
Schritt 3 - Installieren Sie die Nagios-Plugins
Laden Sie die Nagios-Plugins herunter und extrahieren Sie sie:
cd ~
wget https://nagios-plugins.org/download/nagios-plugins-2.1.2.tar.gz
tar -xzf nagios-plugins*.tar.gz
cd nagios-plugin-2.1.2/
Installieren Sie die Nagios-Plugins mit den folgenden Befehlen:
./configure --with-nagios-user=nagios --with-nagios-group=nagios --with-openssl
make
make install
Schritt 4 - Nagios konfigurieren
Nach Abschluss der Installationsphase finden Sie die Standardkonfiguration von Nagios in /usr/local/nagios/.
Wir werden Nagios und den Nagios-Kontakt konfigurieren.
Bearbeiten Sie die Nagios-Standardkonfiguration mit vim:
vim /usr/local/nagios/etc/nagios.cfg
Kommentieren Sie Zeile 51 aus für die Host-Monitor-Konfiguration.
cfg_dir=/usr/local/nagios/etc/servers
Speichern und beenden.
Fügen Sie einen neuen Ordner mit dem Namen server:
hinzumkdir -p /usr/local/nagios/etc/servers
Der Nagios-Kontakt kann in der Datei contact.cfg konfiguriert werden. Um es zu öffnen, verwenden Sie:
vim /usr/local/nagios/etc/objects/contacts.cfg
Ersetzen Sie dann die Standard-E-Mail durch Ihre eigene E-Mail.
Apache konfigurieren
Schritt 1 - Apache-Module aktivieren
sudo a2enmod rewrite
sudo a2enmod cgi
Sie können den Befehl htpasswd verwenden, um einen Benutzer nagiosadmin für die Nagios-Weboberfläche zu konfigurieren
sudo htpasswd -c /usr/local/nagios/etc/htpasswd.users nagiosadmin
und geben Sie Ihr Passwort ein.
Schritt 2 - aktivieren Sie den virtuellen Nagios-Host
sudo ln -s /etc/apache2/sites-available/nagios.conf /etc/apache2/sites-enabled/
Schritt 3 - Starten Sie Apache und Nagios
service apache2 restart
service nagios start
Wenn Nagios startet, sehen Sie möglicherweise den folgenden Fehler:
Starting nagios (via systemctl): nagios.serviceFailed
Und so beheben Sie das Problem:
cd /etc/init.d/
cp /etc/init.d/skeleton /etc/init.d/nagios
Bearbeiten Sie nun die Nagios-Datei:
vim /etc/init.d/nagios
... und fügen Sie den folgenden Code hinzu:
DESC="Nagios"
NAME=nagios
DAEMON=/usr/local/nagios/bin/$NAME
DAEMON_ARGS="-d /usr/local/nagios/etc/nagios.cfg"
PIDFILE=/usr/local/nagios/var/$NAME.lock
Machen Sie es ausführbar und starten Sie Nagios:
chmod +x /etc/init.d/nagios
service apache2 restart
servuce nagios start
Testen des Nagios-Servers
Bitte öffnen Sie Ihren Browser und greifen Sie auf die Nagios-Server-IP zu, in meinem Fall: http://192.168.1.9/nagios .
Nagios Login mit Apache htpasswd.
Nagios-Admin-Dashboard
Hinzufügen eines Hosts zur Überwachung
In diesem Tutorial werde ich einen zu überwachenden Ubuntu-Host zum Nagios-Server hinzufügen, den wir oben erstellt haben.
Nagios Server IP : 192.168.1.9
Ubuntu Host IP : 192.168.1.10
Schritt 1 – Mit Ubuntu-Host verbinden
ssh [email protected]
Schritt 2 – NRPE-Dienst installieren
sudo apt-get install nagios-nrpe-server nagios-plugins
Schritt 3 - NRPE konfigurieren
Bearbeiten Sie nach Abschluss der Installation die nrpe-Datei /etc/nagios/nrpe.cfg:
vim /etc/nagios/nrpe.cfg
... und fügen Sie die Nagios-Server-IP 192.168.1.9 zur server_address hinzu.
Serveradresse=192.168.1.9
Schritt 4 - NRPE neu starten
service nagios-nrpe-server restart
Schritt 5 – Ubuntu-Host zum Nagios-Server hinzufügen
Bitte verbinden Sie sich mit dem Nagios-Server:
ssh [email protected]
Erstellen Sie dann eine neue Datei für die Hostkonfiguration in /usr/local/nagios/etc/servers/.
vim /usr/local/nagios/etc/servers/ubuntu_host.cfg
Fügen Sie die folgenden Zeilen hinzu:
# Ubuntu Host configuration file define host { use linux-server host_name ubuntu_host alias Ubuntu Host address 192.168.1.10 register 1 } define service { host_name ubuntu_host service_description PING check_command check_ping!100.0,20%!500.0,60% max_check_attempts 2 check_interval 2 retry_interval 2 check_period 24x7 check_freshness 1 contact_groups admins notification_interval 2 notification_period 24x7 notifications_enabled 1 register 1 } define service { host_name ubuntu_host service_description Check Users check_command check_local_users!20!50 max_check_attempts 2 check_interval 2 retry_interval 2 check_period 24x7 check_freshness 1 contact_groups admins notification_interval 2 notification_period 24x7 notifications_enabled 1 register 1 } define service { host_name ubuntu_host service_description Local Disk check_command check_local_disk!20%!10%!/ max_check_attempts 2 check_interval 2 retry_interval 2 check_period 24x7 check_freshness 1 contact_groups admins notification_interval 2 notification_period 24x7 notifications_enabled 1 register 1 } define service { host_name ubuntu_host service_description Check SSH check_command check_ssh max_check_attempts 2 check_interval 2 retry_interval 2 check_period 24x7 check_freshness 1 contact_groups admins notification_interval 2 notification_period 24x7 notifications_enabled 1 register 1 } define service { host_name ubuntu_host service_description Total Process check_command check_local_procs!250!400!RSZDT max_check_attempts 2 check_interval 2 retry_interval 2 check_period 24x7 check_freshness 1 contact_groups admins notification_interval 2 notification_period 24x7 notifications_enabled 1 register 1 }
Sie finden viele check_command in der Datei /usr/local/nagios/etc/objects/commands.cfg. Siehe dort, wenn Sie weitere Dienste wie DHCP, POP usw. hinzufügen möchten.
Und jetzt prüfen Sie die Konfiguration:
/usr/local/nagios/bin/nagios -v /usr/local/nagios/etc/nagios.cfg
... um zu sehen, ob die Konfiguration korrekt ist.
Schritt 6 – Alle Dienste neu starten
Starten Sie auf dem Ubuntu-Host den NRPE-Dienst:
service nagios-nrpe-server restart
... und starten Sie auf dem Nagios-Server Apache und Nagios:
service apache2 restart
service nagios restart
Schritt 7 – Testen des Ubuntu-Hosts
Öffnen Sie den Nagios-Server über den Browser und sehen Sie, dass ubuntu_host überwacht wird.
Der Ubuntu-Host ist auf dem überwachten Host verfügbar.
Alle Dienste fehlerfrei überwacht.
Schlussfolgerung
Nagios ist eine Open-Source-Anwendung zur Überwachung eines Systems. Nagios ist aufgrund der einfachen Konfiguration weit verbreitet. Nagios wird von verschiedenen Plugins unterstützt, und Sie können sogar Ihre eigenen Plugins erstellen. Weitere Informationen finden Sie hier.