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 :
- Logiciel dont les dépendances de packages sont telles que - LAMP, etc.
- Configuration des utilisateurs et des groupes.
- Installation de Nagios.
- Configuration d'Apache.
- Test du serveur Nagios.
- 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.