Comment configurer Nagios serveur pour la surveillance du serveur Apache

A+ A-

Dans cet article, nous allons couvrir sur l'installation de Nagios 4, un outil de surveillance des sources très populaire et ouvert sur Centos 6.7. Nous allons couvrir quelques étapes de configuration de base qui pourraient être utiles pour surveiller une foule de ressources via l'interface web. Ici, nous allons également utiliser le Nagios à distance Plugin Executor (NRPE) qui est installé comme un agent sur des hôtes distants afin de surveiller les ressources locales des serveurs / clients.

Nagios est utile pour garder un inventaire de vos serveurs, et vous assurer que vos services essentiels sont en place et fonctionne. L'utilisation d'un système de surveillance, Nagios est un outil essentiel pour tout environnement de serveur de production.

Conditions préalables

Pour configurer Nagios, nous devons avoir un privilège utilisateur root sur le serveur Linux qui va exécuter Nagios Idéalement.

Installation de Nagios 4

Création d' Nagios utilisateur et groupe: Nous devons créer un utilisateur et groupe qui va exécuter le processus Nagios. Créer un utilisateur "Nagios" et le groupe "nagcmd", puis ajoutez l'utilisateur au groupe avec ces commandes

 # Useradd nagios
# Groupadd nagcmd
# Usermod -a -G nagcmd nagios 

Installer les dépendances de construction

Comme nous construisons Nagios de base de la source, il faut installer quelques bibliothèques de développement qui nous permettront de compléter la construction. Pendant que nous y sommes, nous allons également installer apache2-utils, qui seront utilisés pour configurer l'interface web de Nagios.

Tout d'abord, mettre à jour vos listes Yum Package

 # Yum update 

Ensuite, installer les paquets nécessaires

 # Yum install -y httpd php gcc glibc gd gd-devel glibc-common faire net-snmp perl-rrd xinetd openssl-devel paquet perl-GD * ntp perl-RRD * 

Télécharger le Nagios 4.1.1 Noyau & Plugin

 # Wget http://prdownloads.sourceforge.net/sourceforge/nagios/nagios-4.1.1.tar.gz
# Wget https://www.nagios-plugins.org/download/nagios-plugins-2.1.1.tar.gz 

Installation de Nagios noyau 4.1.1

Nous avons besoin d'extraire package téléchargé avec la commande tar de la manière suivante.

 # Tar -xvf nagios-4.1.1.tar.gz
# Cd nagios- * 

Avant de construire Nagios, il faut le configurer. Si vous voulez configurer pour utiliser postfix (que vous pouvez installer avec apt-get), ajoutez --with-mail = / usr / sbin / sendmail à la commande suivante:

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

sortie:

Options générales:
-------------------------
Nagios exécutable: nagios
Nagios utilisateur / groupe: nagios, Nagios
utilisateur de commande / groupe: nagios, nagcmd
Courtier de l'événement: oui
Installez $ {prefix}: local / nagios / / usr
Installez $ {includedir}: / usr / local / nagios / include / nagios
fichier Lock: $ {prefix} /var/nagios.lock
Vérifiez répertoire de résultat: $ {prefix} / var / spool / checkresults
répertoire Init: /etc/init.d
Apache répertoire conf.d: /etc/httpd/conf.d
programme Mail: / usr / bin / mail
OS hôte: nagios.test.com
Web Options de l'interface:
------------------------
HTML URL: http: // localhost / nagios /
CGI URL: http: // localhost / nagios / cgi-bin /
Traceroute (utilisé par WAP): / usr / sbin / traceroute
Passez en revue les options ci-dessus pour la précision. S'ils regardent bien,
Type «faire tout» pour compiler le programme principal et CGIs
*** Fichiers programme principal, les CGI et HTML installé ***
Maintenant compiler Nagios avec cette commande:

Sortie:

Vous pouvez continuer avec l'installation de Nagios comme suit (type 'make'without tous les arguments pour une liste de toutes les options possibles): 
 # Make install-init 

- Ceci installe le script d'initialisation dans /etc/rc.d/init.d

 # Make install-commandmode 

- Cela installe et configure les autorisations sur le répertoire contenant le fichier de commande externe

 # Make install-init 

Pour rendre le travail de nagios de la ligne de commande, nous devons installer mode commande.

 # Make install-commandmode 

Ensuite, installez échantillon nagios fichiers, s'il vous plaît exécuter la commande suivante.

 # Make install-config

sortie:
/ Usr / bin / install -c -m 775 -o nagios -g nagios -d / usr / local / nagios / etc
/ Usr / bin / install -c -m 775 -o nagios -g nagios -d / usr / local / nagios / etc / objets locaux
/ Usr / bin / install -c -b -m 664 -o nagios -g nagios sample-config / nagios.cfg /usr/local/nagios/etc/nagios.cfg
/ Usr / bin / install -c -b -m 664 -o nagios -g nagios sample-config / cgi.cfg /usr/local/nagios/etc/cgi.cfg
/ Usr / bin / install -c -b -m 660 -o nagios -g nagios sample-config / resource.cfg /usr/local/nagios/etc/resource.cfg
/ Usr / bin / install -c -b -m 664 -o nagios -g nagios sample-config / template-objet / templates.cfg 
/usr/local/nagios/etc/objects/templates.cfg/usr/bin/install -c -b -m 664 -o nagios -g nagios sample-config / template-objet / commands.cfg 
/usr/local/nagios/etc/objects/commands.cfg
/ Usr / bin / install -c -b -m 664 -o nagios -g nagios sample-config / template-objet / contacts.cfg /usr/local/nagios/etc/objects/contacts.cfg
/ Usr / bin / install -c -b -m 664 -o nagios -g nagios sample-config / template-objet / timeperiods.cfg /usr/local/nagios/etc/objects/timeperiods.cfg
/ Usr / bin / install -c -b -m 664 -o nagios -g nagios sample-config / template-objet / localhost.cfg /usr/local/nagios/etc/objects/localhost.cfg
/ Usr / bin / install -c -b -m 664 -o nagios -g nagios sample-config / template-objet / windows.cfg /usr/local/nagios/etc/objects/windows.cfg
/ Usr / bin / install -c -b -m 664 -o nagios -g nagios sample-config / template-objet / printer.cfg /usr/local/nagios/etc/objects/printer.cfg
/ Usr / bin / install -c -b -m 664 -o nagios -g nagios sample-config / template-objet / switch.cfg /usr/local/nagios/etc/objects/switch.cfg
*** Les fichiers de configuration installé *** 

Installer Nagios Plugins

Trouver la dernière version de Plugins Nagios ici: Nagios Plugins Télécharger. Copiez l'adresse du lien pour la dernière version, et copier l'adresse du lien de sorte que vous pouvez télécharger sur votre serveur Nagios.

Au moment d'écrire ces lignes, la dernière version est Nagios Plugins 2.1.1.

 # Cd / root / nagios
# Cd tar -xvf nagios-plugins-2.1.1.tar.gz
# ./configure --with-Nagios-user = nagios --with-nagios-group = nagios --with-openssl = / usr / bin / openssl-perl-modules --enable --enable-libtap
# faire
# Make install 

Installez NRPE

Trouvez le code source de la dernière version stable de NRPE à la page des téléchargements NRPE. Télécharger la dernière version de votre serveur Nagios.

Au moment d'écrire ces lignes, la dernière version est de 2,15.

 # Mkdir -p / usr / local / src / nrpe
# Cd / usr / local / src / nrpe 

Télécharger les fichiers et extrait

 # Wget http://kent.dl.sourceforge.net/project/nagios/nrpe-2.x/nrpe-2.15/nrpe-2.15.tar.gz
nrpe-2.15.tar.gz de # tar
# Cd nrpe-2.15 

En raison d'un problème avec le dossier de la bibliothèque OpenSSL, nous avons besoin d'utiliser un autre chemin que / usr / lib:

 #. / Configure --with-ssl = / usr / bin / openssl --with-ssl-lib = / usr / lib / x86_64-linux-gnu 

Maintenant, make et make install

 # Font toute 

Ensuite, installez le plugin daemon NRPE, et exemple de fichier démon config.

 # Make install-plugin
# Make install-daemon
# Make install-daemon-config 

Installez le démon NRPE sous xinetd en tant que service.

 # Make install-xinetd 

Ensuite, le fichier / etc / services ouverts, ajoutez l'entrée suivante pour le démon NRPE au bas du fichier.

 # vi / etc / services
nrpe 5666 / tcp NRPE 

Redémarrez le service xinetd.

 # Service xinetd restart 

Vérifier NRPE Daemon Localement

Exécutez la commande suivante pour vérifier le démon NRPE fonctionne correctement sous xinetd.

 # Netstat -at | grep nrpe
tcp 0 0 *: nrpe *: * LISTEN 

Vérifiez le démon NRPE fonctionne correctement.

 # / Usr / local / nagios / libexec / check_nrpe -H localhost
Sortie:
NRPE v2.15 

Maintenant que Nagios 4.1.1 est installé, nous avons besoin de le configurer.

Configurer Nagios

Maintenant, nous allons effectuer la configuration initiale Nagios. Vous devez uniquement effectuer cette section une fois, sur votre serveur Nagios.

Ouvrez le fichier de configuration principal de Nagios dans votre éditeur de texte favori. Nous allons utiliser vi pour éditer le fichier:

 # Vi /usr/local/nagios/etc/nagios.cfg 

Maintenant, trouver un décommentez cette ligne en supprimant le #

 # Cfg_dir = / usr / local / nagios / etc / serveurs locaux 

Maintenant, créez le répertoire qui va stocker le fichier de configuration pour chaque serveur que vous allez surveiller:

 # Mkdir / usr / local / nagios / etc / serveurs locaux 

Configurer Nagios Contacts

Ouvrez la configuration des contacts Nagios dans votre éditeur de texte favori. Nous allons utiliser vi pour modifier le fichier

 # Vi /usr/local/nagios/etc/objects/contacts.cfg 

Trouvez la directive e-mail, et de remplacer sa valeur (la partie en surbrillance) avec votre propre adresse e-mail

 email nagios @ localhost; << ***** CHANGER CE VOTRE ADRESSE EMAIL ****** 

Configurer commande check_nrpe

Ajoutons une nouvelle commande à notre configuration Nagios

 # Vi /usr/local/nagios/etc/objects/commands.cfg 

Ajouter ce qui suit à la fin du fichier

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

Installation et configuration Interface Web pour Nagios

Nous en avons fini avec toutes les configurations à l'extrémité arrière, maintenant, nous allons configurer Interface Web Pour Nagios avec la commande suivante. La commande ci-dessous permet de configurer l'interface Web pour Nagios et un utilisateur d'administration Web sera créé "nagiosadmin".

 # Make install-webconf 

Dans cette étape, nous allons créer un mot de passe pour "nagiosadmin". Après l'exécution de cette commande, s'il vous plaît fournir un mot de passe deux fois et le garder rappelez-vous parce que ce mot de passe sera utilisé lorsque vous vous connectez à l'interface Web de Nagios.

 # Htpasswd -s -c /usr/local/nagios/etc/htpasswd.users nagiosadmin
Nouveau mot de passe:************
Re-taper le nouveau mot de passe:************ 

Ajout d'un mot de passe pour l'utilisateur nagiosadmin

Redémarrez Apache pour que les nouveaux paramètres prennent effet.

 # Service httpd start 

Nagios est maintenant en cours d'exécution, de sorte que nous allons essayer et vous connecter.

Accès à l'interface Web Nagios

Ouvrez votre navigateur web préféré, et accédez à votre serveur http Nagios: // nagios_server_public_IP ou privés Adresse IP / nagios.

Parce que nous avons configuré Apache pour utiliser htpasswd, vous devez saisir les informations de connexion que vous avez créés précédemment. Nous avons utilisé "nagiosadmin" comme nom d'utilisateur:

mot de passe administrateur Nagios

Après l'authentification, vous allez voir la page d'accueil par défaut Nagios. Cliquez sur le lien Hosts, dans la barre de navigation de gauche, pour voir qui accueille Nagios est suivi

page d'accueil Nagiso

Comme vous pouvez le voir, Nagios surveille seulement "localhost", ou lui-même.

localhost

Surveiller / Ajout d'un nouvel hôte avec NRPE

Dans cette section, nous allons vous montrer comment ajouter un nouvel hôte à Nagios, il sera surveillé. Répétez cette section pour chaque serveur que vous souhaitez surveiller.

Sur un serveur que vous souhaitez surveiller, mettre à jour apt-get:

 # Yum update 

Maintenant, installez Plugins Nagios et NRPE:

 # Yum installer nagios-plugins nagios-nrpe-server 

Configurer les hôtes autorisés

Maintenant, nous allons mettre à jour le fichier de configuration NRPE. Ouvrez-le dans votre éditeur préféré (nous utilisons vi)

 # Vi /etc/nagios/nrpe.cfg 

Trouver la directive allowed_hosts, et ajoutez l'adresse IP privée de votre serveur Nagios à la liste délimitée par des virgules (substituer à la place de l'exemple en surbrillance)

 allowed_hosts = 127.0.0.1,10.132.224.168 

Sauvegarder et quitter. Cela permet de configurer NRPE pour accepter les demandes de votre serveur Nagios, via son adresse IP privée ou l'adresse IP publique.

Pour ajouter l'hôte:

 # Cd / usr / local / nagios / etc
# Vi /usr/local/nagios/etc/hosts.cfg 
 define host {
            nommer linux-box; Nom de ce modèle
            utiliser generic-host; Hériter des valeurs par défaut 
            check_period 24x7 
            check_interval 5
            retry_interval 1
            max_check_attempts 10 
            check_command check-hôte en vie
            notification_period 24x7
            notification_interval 30
            notification_options d, r 
            contact_groups admins
            inscrivez 0
           }
define host {
           utiliser linux-box; Hériter des valeurs par défaut à partir d'un modèle
           host_name BOîTE DE TEST; Le nom que nous donnons à ce serveur
           alias CentOS 6.7; Un nom plus pour le serveur
           répondre 192.168.1.84; adresse IP de l'hôte Linux à distance
           } 

Pour ajouter les services dont nous avions besoin pour modifier le fichier services.cfg nous ajoutons CPU charge, processus total, les utilisateurs actuels, la partition racine, Home Partition, statut Ping

 # Vi /usr/local/nagios/etc/services.cfg
define service {
              utiliser générique service
              host_name BOîTE DE TEST
              service_description CPU charge
              check_command check_nrpe! check_load
              }
define service { 
              utiliser générique service
              host_name BOîTE DE TEST
              service_description Total des processus
              check_command check_nrpe! check_total_procs
              }
define service {
              utiliser générique service
              host_name BOîTE DE TEST
              service_description Utilisateurs actuels
              check_command check_nrpe! check_users
              }
define service {
              utiliser générique service
              host_name BOîTE DE TEST
              service_description partition racine
              check_command check_nrpe! check_disk
              }
define service {
              utiliser générique service
              host_name BOîTE DE TEST
              service_description Accueil Partition
              check_command check_nrpe! check_disk_home
}
define service {
              utiliser générique service
              host_name BOîTE DE TEST
              service_description Ping Status
              check_command check_ping! 10.0,80%! 50.0,90%
              } 

Nous avions besoin d'ajouter ce fichier de configuration dans nagios.cfg

 # Vi /usr/local/nagios/nagios.cfg

fichier_cfg = / usr / local / nagios / etc / hosts.cfg locale
fichier_cfg = / usr / local / nagios / etc / services.cfg locale 

Maintenant, les commandes nrpe devraient définition doit être créé dans le fichier commands.cfg.

 # Vi /usr/local/nagios/etc/objects/commands.cfg

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

Enfin, vérifier les fichiers de configuration de Nagios pour les erreurs.

Vérifiez les fichiers de configuration de Nagios

Maintenant, nous sommes tous fait avec la configuration Nagios et son temps de le vérifier et de le faire s'il vous plaît exécuter la commande ci-dessous. Si tout se passe bien, il sera affiché similaire au-dessous de la sortie.

 # / Usr / local / nagios / bin local / nagios -v /usr/local/nagios/etc/nagios.cfg
Sortie:
Nagios noyau 4.1.1
Copyright (c) l'équipe de 2009 présents Nagios Development Core et communautaire collaborateurs
Copyright (c) 1.999 à 2.009 Ethan Galstad
Dernière mise à jour: 19.08.2015
Licence: GPL
Site Web: https://www.nagios.org
La lecture des données de configuration ...
Lire fichier de configuration principal d'accord ...
Lire l'objet config fichiers correct ...
Exécution de vérification avant vol sur les données de configuration ...
Vérification des objets ...
Vérifié 7 services.
Vérifié 1 hôtes.
Vérifié 1 groupes d'hôtes.
Vérifié 0 groupes de services.
Vérifié 1 contacts.
Vérifié 1 groupes de contact.
Vérifié 7 commandes.
Vérifié 5 périodes de temps.
Vérifié 0 escalades d'hôtes.
Vérifié 0 escalades de service.
Vérification des chemins circulaires ...
Vérifié 1 hôtes
Analyse 0 dépendances de service
Analyse 0 dépendances d'hôtes
Vérifié 1 timeperiods
Vérification des gestionnaires mondiaux d'événements ...
Vérification obsessionnels commandes de processeur compulsifs ...
Vérification des paramètres de misc ...
Nombre Avertissements: 0
Total des erreurs: 0
Les choses semblent bien - Aucun problème sérieux n'a été détecté lors de la vérification pré-vol 

Redémarrage du serveur Nagios

 nagios # service reload
Exécution de vérification de la configuration ...
Arrêt nagios: fait.
nagios départ: fait. 

Surveiller Apache Web Server

Nagios peut être utilisé pour surveiller le serveur web Apache ainsi.

Apache Exigences de surveillance

Surveiller si le serveur apache est disponible. Cette tâche est vraiment facile comme Nagios dispose d'une commande intégrée pour ce dont nous avions besoin pour éditer ci-dessous le fichier.

 # Vi /etc/nagios3/conf.d/services.cfg
define service {
              utiliser générique service
              host_name Webserver
              service_description Vérifiez Apache Web Server
              check_http check_command
              } 

Une fois que nous aurons terminé, s'il vous plaît vérifier la configuration Nagios et redémarrez les services lorsque nous ouvrons des interfaces web et cliquez sur les services, nous pouvons voir les services Apache surveillent. accueillir des services

Conclusion

Maintenant que vous savez sur Nagios et ses fonctionnalités telles que le suivi de vos hôtes et certains services, vous voudrez peut-être passer un peu de temps pour comprendre quels sont les services essentiels à vous afin que vous puissiez commencer à surveiller ces serveurs. Vous pouvez également configurer des notifications ainsi, par exemple, vous recevez un e-mail lorsque votre utilisation du disque atteint un avertissement ou seuil critique ou votre site Web principal est vers le bas, de sorte que vous pouvez résoudre la situation rapidement ou avant qu'un problème se produit même.