Nagios Monitoring Software installeren op Ubuntu 18.04 LTS

Nagios is open-source software voor systeem- en netwerkbewaking. Nagios kan de activiteit van een host en zijn diensten in de gaten houden en geeft een waarschuwing/alert als er iets ergs op de server gebeurt. Nagios kan op Linux besturingssystemen draaien, en we zullen de Ubuntu 18.04 server gebruiken.

In deze zelfstudie laten we je stap voor stap zien hoe je Nagios 4.4.x op Ubuntu 18.04 installeert. We installeren de Nagios Core 4.4.x vanaf broncode, installeren de nrpe en nagios plugins, en voegen dan hosts toe om aan de Nagios server te monitoren.

Vereisten

  • 2 Ubuntu 18.04 servers
    • Nagios server – hostnaam: hakase-nagios met een IP: 10.5.5.11
    • Ubuntu client – hostnaam: client01 met een IP: 10.5.5.12
  • Root voorrechten

Wat we gaan doen:

  • Pakketten installeren Afhankelijkheden
  • Installeer Nagios Core 4.4.5
  • Installeer Nagios Plugin en NRPE Plugin
  • Host toevoegen om te monitoren aan Nagios Server
  • Testen van

Stap 1 – Afhankelijkheden van pakketten installeren

Eerst zullen we de Ubuntu repository bijwerken en enkele pakketten afhankelijkheden installeren voor de Nagios installatie.

Werk de Ubuntu repository bij met het onderstaande apt commando.

sudo apt update

Installeer daarna de pakketten afhankelijkheden voor de Nagios installatie.

sudo apt install -y autoconf bc gawk dc build-essential gcc libc6 make wget unzip apache2 php libapache2-mod-php7.2 libgd-dev libmcrypt-dev make libssl-dev snmp libnet-snmp-perl gettext

En je hebt pakketten afhankelijkheden voor Nagios server geïnstalleerd.

Stap 2 – Installeer Nagios Core 4.4.5

In deze stap installeren we de nieuwste stabiele versie Nagios Core 4.4.5. En we zullen het handmatig vanaf de bron installeren.

Download Nagios Core 4.4.5

Ga naar je thuismap en download de Nagios Core broncode.

cd ~/
wget https://github.com/NagiosEnterprises/nagioscore/archive/nagios-4.4.5.tar.gz

Pak het Nagios pakket uit en ga naar de uitgepakte Nagios directory.

tar xzf nagios-4.4.5.tar.gz
cd nagioscore-nagios-4.4.5/

Compileer en installeer Nagios

Compileer eerst de Nagios broncode en definieer de Apache virtual host configuratie voor Nagios.

sudo ./configure --with-httpd-conf=/etc/apache2/sites-enabled
sudo make all

Samenstellen van Nagios

Maak de Nagios gebruiker en groep aan, en voeg de ‘www-data’ Apache gebruiker toe aan de ‘nagios’ groep.

sudo make install-groups-users
sudo usermod -a -G nagios www-data

Installeer groepen en gebruikers

Installeer de Nagios binaries, het service daemon script, en de commandomodus.

sudo make install
sudo make install-daemoninit
sudo make install-commandmode

Installeer daarna de voorbeeld script configuratie.

sudo make install-config

Installeer dan de Apache configuratie voor Nagios en activeer de mod_rewrite en mode_cgi modules.

sudo make install-webconf
sudo a2enmod rewrite cgi

Start nu de Apache dienst opnieuw.

systemctl restart apache2

En je hebt de Nagios Core 4.4.5 geïnstalleerd.

Installeer Nagios Configuratie

Maak de gebruiker nagiosadmin aan

Na de installatie van de Nagios Core gaan we de basis authenticatie toevoegen voor toegang tot het Nagios dashboard. En we zullen de basis Apache authenticatie gebruiken.

Maak een nieuwe apache basis authenticatie aan voor de gebruiker “nagiosadmin”.

sudo htpasswd -c /usr/local/nagios/etc/htpasswd.users nagiosadmin

Typ je sterke wachtwoord.

Stel wachtwoord in voor Nagios admin

En je hebt een nieuwe gebruiker ‘nagiosadmin’ aangemaakt voor de authenticatie van het Nagios dashboard.

Instellen UFW firewall

Voor de configuratie van de firewall moet je de Apache dienst en de Nagios server poort aan de UFW firewall toevoegen.

Voeg de Apache HTTP poort en de Nagios poort ” toe met het ufw commando hieronder.

sudo ufw allow Apache

Herlaad nu de UFW firewall.

sudo ufw reload

En je hebt de Nagios Core installatie op de Ubuntu 18.04 server voltooid.

Configureer UFW Firewall

Stap 3 – Installeer Nagios Plugins en NRPE Plugin

Na de installatie van de Nagios Core gaan we de Nagios Plugins en NRPE Plugins installeren.

Zowel Nagios als NRPE plugins zijn standaard beschikbaar in de Ubuntu repository. Je kunt die pakketten installeren met het onderstaande apt commando.

sudo apt install nagios-plugins nagios-nrpe-plugin

Als de installatie voltooid is, ga je naar de nagios installatie directory “/usr/local/nagios” en bewerk je het configuratiebestand “nagios.cfg”.

cd /usr/local/nagios/
vim nagios.cfg

Haal het commentaar weg bij de extra config directory voor servers.

cfg_dir=/usr/local/nagios/etc/servers

Bewaar en sluit.

Maak nu een nieuwe directory “/usr/local/nagios/etc/servers” die gebruikt zal worden voor het opslaan van de configuratie van host monitor.

mkdir -p /usr/local/nagios/etc/servers

Ga daarna naar de directory “/usr/local/nagios/etc/” en bewerk het configuratiebestand “resurces.cfg”.

cd /usr/local/nagios/etc/
vim resources.cfg

Verander de standaard directory voor Nagios plugins als hieronder.

$USER1$=/usr/lib/nagios/plugins

Sla op en sluit.

Voeg daarna de nagios admin contacten toe door het configuratiebestand “objects/contacts.cfg” te bewerken.

vim objects/contacts.cfg

Verander het e-mail adres met je eigen adres.

define contact{
        ......
        email [email protected]
}

Bewaar en sluit.

Definieer vervolgens het nrpe check commando door het configuratiebestand “objects/commands.cfg” te bewerken.

vim objects/commands.cfg

Plak de volgende configuratie aan het eind van de regel.

define command{
        command_name check_nrpe
        command_line $USER1$/check_nrpe -H $HOSTADDRESS$ -c $ARG1$
}

Bewaar en sluit.

Start nu de Nagios service en voeg hem toe aan het opstarten van het systeem.

systemctl start nagios
systemctl enable nagios

Configureer nagios, herstart het dan om de veranderingen toe te passen

De Nagios dienst is in werking, controleer met het volgende commando.

systemctl status nagios

Hieronder staat het resultaat.

Controleer de status van nagios

Vervolgens moeten we de Apache dienst opnieuw starten om een nieuwe Nagios configuratie toe te passen.

systemctl restart apache2

Open daarna je web browser en typ het IP adres van de server volgens het “nagios” URL pad.

http://10.5.5.11/nagios/

Log in met de gebruiker “nagiosadmin” en typ je wachtwoord in.

Nagios Inloggen

En je krijgt het Nagios Dashboard zoals hieronder.

Nagios dashboard

Het resultaat is dat je Nagios op de Ubuntu 18.04 server geïnstalleerd hebt. En je bent in staat hosts aan de Nagios server toe te voegen.

Stap 5 – Linux hosts toevoegen aan de monitor

In deze stap voegen we de Ubuntu server met hostnaam “client01” en het IP adres “10.5.5.12” aan de Nagios server toe.

Installeer NRPE Server op de client01 server

Log in op de “client01” server met je ssh.

ssh [email protected]

Als je ingelogd bent, werk dan de Ubuntu repository bij en installeer Nagios Plugins en NRPE Server.

sudo apt update
sudo apt install nagios-nrpe-server nagios-plugins

Ga vervolgens naar de NRPE installatiedirectory “/etc/nagios” en bewerk het configuratiebestand “nrpe.cfg”.

cd /etc/nagios/
vim nrpe.cfg

Haal het commentaar weg bij de regel “server_address” en verander de waarde met het “client01” IP adres.

server_address=10.5.5.12

Een de regel “allowed_hosts”, voeg het Nagios Server IP adres “10.5.5.11” toe.

allowed_hosts=127.0.0.1,::1,10.5.5.11

Bewaar en sluit.

Bewerk vervolgens de “nrpe_local.cfg” configuratie.

vim nrpe_local.cfg

Verander het IP adres met het “client01” IP adres, en plak de configuratie erin.

command[check_root]=/usr/lib/nagios/plugins/check_disk -w 20% -c 10% -p /
command[check_ping]=/usr/lib/nagios/plugins/check_ping -H 10.5.5.12 -w 100.0,20% -c 500.0,60% -p 5
command[check_ssh]=/usr/lib/nagios/plugins/check_ssh -4 10.5.5.12
command[check_http]=/usr/lib/nagios/plugins/check_http -I 10.5.5.12
command[check_apt]=/usr/lib/nagios/plugins/check_apt

Bewaar en sluit.

Start nu de NRPE dienst opnieuw op en voeg hem toe aan het opstarten van het systeem.

systemctl restart nagios-nrpe-server
systemctl enable nagios-nrpe-server

En de Nagios NRPE server is up and running.

Installeer NRPE

Controleer de NRPE dienst met het volgende commando.

systemctl status nagios-nrpe-server

De NRPE dienst is up and running.

NRPE Server is actief en draait

Ga vervolgens terug naar de Nagios Server en controleer de “client01” NRPE server.

/usr/lib/nagios/plugins/check_nrpe -H 10.5.5.12
/usr/lib/nagios/plugins/check_nrpe -H 10.5.5.12 -c check_ping

En je krijgt het resultaat als hieronder.

Controleer NRPE

En je hebt de Nagios NRPE Server en Nagios Plugins geïnstalleerd op de “client01” host.

Hosts configuratie toevoegen aan de Nagios Server

Terug naar de Nagios server terminal, ga naar de “/usr/local/nagios/etc” directory en maak een nieuwe configuratie “server/client01.cfg”.

cd /usr/local/nagios/etc
vim servers/client01.cfg

Verander het IP adres en de hostnaam met je eigen en plak de configuratie erin.

# Ubuntu Host configuration file1

define host {
        use                          linux-server
        host_name                    client01
        alias                        Ubuntu Host
        address                      10.5.5.12
        register                     1
}

define service {
      host_name                       client01
      service_description             PING
      check_command                   check_nrpe!check_ping
      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                       client01
      service_description             Check Users
      check_command                   check_nrpe!check_users
      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                       client01
      service_description             Check SSH
      check_command                   check_nrpe!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                       client01
      service_description             Check Root / Disk
      check_command                   check_nrpe!check_root
      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                       client01
      service_description             Check APT Update
      check_command                   check_nrpe!check_apt
      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                       client01
      service_description             Check HTTP
      check_command                   check_nrpe!check_http
      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
}

Sla op en sluit.

Start nu de Nagios Server opnieuw op.

systemctl restart nagios

Configureer Nagios Client

Stap 5 – Testen

Ga terug naar je browser en wacht enkele minuten.

Klik op het menu“Hosts” en je krijgt te zien dat “client01” is toegevoegd.

Nagios testen

Hieronder staan details over de bewaking van de “client01” server.

Nog een Nagios Test

Nu heb je Hosts toegevoegd om aan de Nagios Server te monitoren.

En de installatie van Nagios 4.4.5 op Ubuntu 18.04 Server is met succes voltooid.

Referentie