Nagios est un logiciel open source pour la surveillance du système et du réseau. Nagios peut voir l'activité d'un hôte et de ses services, et fournit un avertissement/une alerte en cas de problème sur le serveur. Nagios peut fonctionner sur les systèmes d'exploitation Linux. Pour le moment, nous utilisons Ubuntu 15.04 pour l'installation.
Prérequis
- Ubuntu 15.04 - 64 bits
- Accès root/sudo
Ce que nous allons faire dans ce tutoriel :
- L'installation du package est nécessaire - LAMP, etc.
- Configuration des utilisateurs et des groupes
- Installer Nagios
- Configurer Apache
- Test du serveur Nagios
- Ajout d'un hôte à surveiller
Installation du package
Nagios nécessite gcc/build-essential pour la compilation, LAMP (Apache, PHP, MySQL) pour la base web de Nagios et Sendmail pour envoyer des alertes depuis le serveur. Pour installer tous ces packages et quelques packages supplémentaires :
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
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 maintenant le nouvel utilisateur au groupe comme indiqué ci-dessous :
useradd nagios
groupadd nagcmd
usermod -a -G nagcmd nagios
Installer Nagios
Étape 1 - Télécharger et extraire
cd ~
wget http://prdownloads.sourceforge.net/sourceforge/nagios/nagios-4.0.8.tar.gz
tar -xzf nagios*.tar.gz
cd nagios-4.0.8/
Étape 2 - Compiler Nagios
Avant de construire Nagios, vous devez 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
Étape 3 - Installation du plugin Nagios
Téléchargez et extrayez le plugin nagios :
cd ~
wget http://nagios-plugins.org/download/nagios-plugins-2.0.3.tar.gz
tar -xzf nagios-plugins*.tar.gz
cd nagios-plugin*/
Veuillez faire comme ci-dessus :
./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/.
Maintenant pour configurer le contact nagios avec votre email.
vim /usr/local/nagios/etc/nagios.cfg
Décommentez la ligne cfg_dir=/usr/local/nagios/etc/servers
et 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 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
/etc/init.d/apache2 restart
/etc/init.d/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
/etc/init.d/apache2 restart
/etc/init.d/nagios start
Tester le serveur Nagios
Veuillez ouvrir votre navigateur et accéder à l'ip du serveur Nagios qui a été installé. http://192.168.1.101/nagios.
Ajout d'un hôte à surveiller
Dans ce tutoriel, vous allez ajouter un hôte Ubuntu à surveiller au serveur Nagios que nous avons créé ci-dessus.
Nagios Server IP : 192.168.1.101
Ubuntu Host IP : 192.168.1.102
É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.101 du serveur Nagios à l'adresse_serveur.
Étape 4 - Redémarrer NRPE
/etc/init.d/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.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 }
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 :
/etc/init.d/nagios-nrpe-server restart
... et sur le serveur Nagios, lancez Apache et Nagios :
/etc/init.d/apache2 restart
/etc/init.d/nagios restart
Étape 7 - Test de l'hôte Ubuntu
Ouvrez le serveur Nagios à partir du navigateur et voyez l'ubuntu_host surveillé.
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.