Nagios ist eine Open-Source-Software zur System- und Netzwerküberwachung. Nagios kann die Aktivität eines Hosts und seiner Dienste sehen und gibt eine Warnung/Warnung aus, wenn auf dem Server etwas Schlimmes passiert. Nagios kann auf Linux-Betriebssystemen ausgeführt werden. Derzeit verwenden wir Ubuntu 15.04 für die Installation.
Voraussetzungen
- Ubuntu 15.04 – 64 Bit
- Root/Sudo-Zugriff
Was wir in diesem Tutorial tun werden:
- Installationspaket erforderlich - LAMP usw.
- Benutzer- und Gruppenkonfiguration
- Installieren von Nagios
- Apache konfigurieren
- Testen des Nagios-Servers
- Hinzufügen eines Hosts zur Überwachung
Installationspaket
Nagios benötigt gcc / build-essential für die Kompilierung, LAMP (Apache, PHP, MySQL) für die Nagios-Webbasis und Sendmail, um Benachrichtigungen vom Server zu senden. So installieren Sie all diese Pakete und einige zusätzliche Pakete:
apt-get install apache2 libapache2-mod-php5 build-essential libgd2-xpm-dev libssl-dev sendmail-bin sendmail heirloom-mailx wget apache2-utils curl daemon apt-file libnet-snmp-perl libpq5 libsensors4 libsnmp-base libtalloc2 libtdb1 libwbclient0 samba-common samba-common-bin smbclient snmp whois mrtg libcgi-pm-perl librrds-perl libgd-gd2-perl libmysqlclient-dev libperl5.20 libmysqlclient18 libradiusclient-ng2
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" . Jetzt fügen wir den neuen Benutzer wie unten gezeigt zur Gruppe hinzu:
useradd nagios
groupadd nagcmd
usermod -a -G nagcmd nagios
Installation von Nagios
Schritt 1 - Herunterladen und extrahieren
cd ~
wget http://prdownloads.sourceforge.net/sourceforge/nagios/nagios-4.0.8.tar.gz
tar -xzf nagios*.tar.gz
cd nagios-4.0.8/
Schritt 2 - Nagios kompilieren
Bevor Sie Nagios erstellen, 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
Schritt 3 - Installieren des Nagios-Plugins
Laden Sie das Nagios-Plugin herunter und extrahieren Sie es:
cd ~
wget http://nagios-plugins.org/download/nagios-plugins-2.0.3.tar.gz
tar -xzf nagios-plugins*.tar.gz
cd nagios-plugin*/
Bitte gehen Sie wie oben beschrieben vor:
./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/.
Konfigurieren Sie jetzt den Nagios-Kontakt mit Ihrer E-Mail.
vim /usr/local/nagios/etc/nagios.cfg
Entkommentieren Sie die Zeile cfg_dir=/usr/local/nagios/etc/servers
und fügen Sie einen neuen Ordner namens 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 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 - Nagios virtualhost aktivieren
sudo ln -s /etc/apache2/sites-available/nagios.conf /etc/apache2/sites-enabled/
Schritt 3 - Starten Sie Apache und Nagios
/etc/init.d/apache2 restart
/etc/init.d/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
/etc/init.d/apache2 restart
/etc/init.d/nagios start
Testen des Nagios-Servers
Bitte öffnen Sie Ihren Browser und greifen Sie auf die installierte Nagios-Server-IP zu. http://192.168.1.101/nagios.
Hinzufügen eines Hosts zur Überwachung
In diesem Tutorial fügen Sie dem Nagios-Server, den wir oben erstellt haben, einen zu überwachenden Ubuntu-Host hinzu.
Nagios Server IP : 192.168.1.101
Ubuntu Host IP : 192.168.1.102
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.101 zur server_address hinzu.
Schritt 4 - NRPE neu starten
/etc/init.d/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.102 #Ubuntu host IP 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 }
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:
/etc/init.d/nagios-nrpe-server restart
... und starten Sie auf dem Nagios-Server Apache und Nagios:
/etc/init.d/apache2 restart
/etc/init.d/nagios restart
Schritt 7 - Ubuntu-Host testen
Öffnen Sie den Nagios-Server über den Browser und sehen Sie, dass ubuntu_host überwacht wird.
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.