GNU/Linux >> Tutoriels Linux >  >> Ubuntu

Comment installer Nagios Server Monitoring sur Ubuntu 16.04

Nagios est un logiciel open source pour la surveillance du système et du réseau. Nagios peut surveiller l'activité d'un hôte et de ses services, et fournit un avertissement/une alerte si quelque chose de mauvais se produit sur le serveur. Nagios peut fonctionner sur les systèmes d'exploitation Linux. Pour le moment, j'utilise Ubuntu 16.04 pour l'installation.

Prérequis

  • 2 serveurs Ubuntu 16.04 - 64 bits
    • 1 - Hôte Nagios avec IP :192.168.1.9
    • 2 - Client Ubuntu avec IP :192.168.1.10
  • Accès root/sudo

Ce que nous allons faire dans ce tutoriel :

  1. Logiciel dont les dépendances de packages sont telles que - LAMP, etc.
  2. Configuration des utilisateurs et des groupes.
  3. Installation de Nagios.
  4. Configuration d'Apache.
  5. Test du serveur Nagios.
  6. Ajout d'un hôte à surveiller.

Installer les prérequis

Nagios nécessite le compilateur gcc et les build-essentials pour la compilation, LAMP (Apache, PHP, MySQL) pour l'interface web de Nagios et Sendmail pour envoyer des alertes depuis le serveur. Pour installer tous ces packages, exécutez cette commande (il ne s'agit que d'une ligne) :

sudo apt-get install wget build-essential apache2 php apache2-mod-php7.0 php-gd libgd-dev sendmail unzip

Configuration des utilisateurs et des groupes

Pour que Nagios fonctionne, vous devez créer un nouvel utilisateur pour Nagios. Nous nommerons l'utilisateur "nagios" et créez en plus un groupe nommé "nagcmd" . Nous ajoutons le nouvel utilisateur au groupe comme indiqué ci-dessous :

useradd nagios
groupadd nagcmd
usermod -a -G nagcmd nagios
usermod -a -G nagios,nagcmd www-data

Installer Nagios

Étape 1 - Téléchargez et extrayez le noyau Nagios

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

Étape 2 - Compiler Nagios

Avant de construire Nagios, vous devrez le configurer avec l'utilisateur et le groupe que vous avez créés précédemment.

./configure --with-nagios-group=nagios --with-command-group=nagcmd

Pour plus d'informations, veuillez utiliser :./configure --help .

Maintenant pour installer 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

Et copiez le répertoire evenhandler dans le répertoire nagios :

cp -R contrib/eventhandlers/ /usr/local/nagios/libexec/
chown -R nagios:nagios /usr/local/nagios/libexec/eventhandlers

Étape 3 - Installer les plugins Nagios

Téléchargez et extrayez les plugins Nagios :

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/

Installez le plugin Nagios avec les commandes ci-dessous :

./configure --with-nagios-user=nagios --with-nagios-group=nagios --with-openssl
make
make install

Étape 4 - Configurer Nagios

Une fois la phase d'installation terminée, vous pouvez trouver la configuration par défaut de Nagios dans /usr/local/nagios/.

Nous allons configurer Nagios et le contact Nagios.

Modifier la configuration par défaut de Nagios avec vim :

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

décommentez la ligne 51 pour la configuration du moniteur hôte.

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

Enregistrez et quittez.

Ajoutez un nouveau dossier nommé serveurs :

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

Le contact Nagios peut être configuré dans le fichier contact.cfg. Pour l'ouvrir, utilisez :

vim /usr/local/nagios/etc/objects/contacts.cfg

Remplacez ensuite l'e-mail par défaut par votre propre e-mail.

Configurer Apache

Étape 1 - activer les modules Apache

sudo a2enmod rewrite
sudo a2enmod cgi

Vous pouvez utiliser la commande htpasswd pour configurer un utilisateur nagiosadmin pour l'interface Web nagios

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

et saisissez votre mot de passe.

Étape 2 - activer l'hôte virtuel Nagios

sudo ln -s /etc/apache2/sites-available/nagios.conf /etc/apache2/sites-enabled/

Étape 3 - Démarrer Apache et Nagios

service apache2 restart
service nagios start

Au démarrage de Nagios, vous pouvez voir l'erreur suivante :

Starting nagios (via systemctl): nagios.serviceFailed

Et voici comment y remédier :

cd /etc/init.d/
cp /etc/init.d/skeleton /etc/init.d/nagios

Modifiez maintenant le fichier Nagios :

vim /etc/init.d/nagios

... et ajoutez le code suivant :

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

Rendez-le exécutable et lancez Nagios :

chmod +x /etc/init.d/nagios
service apache2 restart
servuce nagios start

Tester le serveur Nagios

Veuillez ouvrir votre navigateur et accéder à l'adresse IP du serveur Nagios, dans mon cas : http://192.168.1.9/nagios .

Connexion Nagios avec apache htpasswd.

Tableau de bord d'administration Nagios

Ajout d'un hôte à surveiller

Dans ce tutoriel, je vais ajouter un hôte Ubuntu à surveiller sur le serveur Nagios que nous avons créé ci-dessus.

Nagios Server IP : 192.168.1.9
Ubuntu Host IP : 192.168.1.10

Étape 1 - Se connecter à l'hôte ubuntu

ssh [email protected]

Étape 2 - Installer le service NRPE

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

Étape 3 - Configurer NRPE

Une fois l'installation terminée, modifiez le fichier nrpe /etc/nagios/nrpe.cfg :

vim /etc/nagios/nrpe.cfg

... et ajoutez l'IP 192.168.1.9 du serveur Nagios à l'adresse_serveur.

adresse_serveur=192.168.1.9

Étape 4 - Redémarrer NRPE

service nagios-nrpe-server restart

Étape 5 - Ajouter l'hôte Ubuntu au serveur Nagios

Veuillez vous connecter au serveur Nagios :

ssh [email protected]

Créez ensuite un nouveau fichier pour la configuration de l'hôte dans /usr/local/nagios/etc/servers/.

vim /usr/local/nagios/etc/servers/ubuntu_host.cfg

Ajoutez les lignes suivantes :

# 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
}

Vous pouvez trouver de nombreuses check_command dans le fichier /usr/local/nagios/etc/objects/commands.cfg. Voir ici si vous souhaitez ajouter plus de services comme DHCP, POP etc.

Et maintenant, vérifiez la configuration :

/usr/local/nagios/bin/nagios -v /usr/local/nagios/etc/nagios.cfg

... pour voir si la configuration est correcte.

Étape 6 - Redémarrez tous les services

Sur l'hôte Ubuntu, démarrez le service NRPE :

service nagios-nrpe-server restart

... et sur le serveur Nagios, lancez Apache et Nagios :

service apache2 restart
service nagios restart

Étape 7 - Tester l'hôte Ubuntu

Ouvrez le serveur Nagios à partir du navigateur et voyez l'ubuntu_host surveillé.

L'hôte Ubuntu est disponible sur l'hôte surveillé.

Tous les services surveillés sans erreur.

Conclusion

Nagios est une application open source pour surveiller un système. Nagios a été largement utilisé en raison de sa facilité de configuration. Nagios est pris en charge par divers plugins, et vous pouvez même créer vos propres plugins. Regardez ici pour plus d'informations.


Ubuntu
  1. Comment installer MySQL sur Ubuntu 18.04

  2. Comment installer le serveur Minecraft sur Ubuntu 18.04

  3. Comment installer Nginx sur Ubuntu 20.04

  4. Comment installer Zimbra 8.6 sur le serveur Ubuntu 14.04

  5. Comment installer Nagios sur Ubuntu 13.04

Comment installer MySQL 8.0 sur Ubuntu 18.04

Comment installer le serveur Zabbix sur Ubuntu 20.04

Comment installer Nagios 4.4.3 sur Ubuntu 18.04 et Ubuntu 16.04

Comment installer Nagios sur Ubuntu 22.04

Comment installer Cacti Monitoring sur Ubuntu 14.04

Comment installer Ganglia Monitoring Server sur Ubuntu 18.04