Utiliser Nagios dans la surveillance des services


, Mis à jour le 9 mai, 2015

Utiliser Nagios dans la surveillance des services

Nagios est fournis avec une large gamme de scripts intégrés à l’application pour des services de surveillances. Ce tutoriel couvrira le processus d’utilisation de certains de ces scripts de vérification de services communs tels que MySQL, le serveur internet Apache, DNS, etc.

Pour garder cet article spécifique à la surveillance de services, nous ne configurerons pas de groupes d’hôtes ou de modèles, dans la mesure où le sujet a déjà été expliqué dans des tutoriels antérieurs. Ils peuvent néanmoins être mentionnés pour répondre aux exigences du présent article.

Exécuter Nagios Check en CLI

Il est généralement conseillé d’exécuter les scripts de surveillance de services Nagios en CLI avant de les ajouter à Nagios. Cela donnera une idée du succès de l’exécution et du résultat du script auquel s’attendre.

Tous les scripts sont situés dans /etc/nagios-plugins/config/ avec les fichiers exécutables situés dans /usr/lib/nagios/plugins/

Voici comment faire.

root@nagios:~# cd /etc/nagios-plugins/config/

Les scripts fournis contiennent de l’aide sur la syntaxe. L’exemple contient un résultat partiel.

root@nagios:~# cat /etc/nagios-plugins/config/tcp_udp.cfg
# 'check_tcp' command definitiondefine command{        command_name    check_tcp        command_line    /usr/lib/nagios/plugins/check_tcp -H '$HOSTADDRESS$' -p '$ARG1$'

Maintenant que la syntaxe est disponible, le port 80 de TCP peut être vérifié comme suit.

root@nagios:~# /usr/lib/nagios/plugins/check_tcp -H 10.10.10.1 -p 80
TCP OK - 0.000 second response time on port 80|time=0.000222s;;;0.000000;10.000000

Exemple de topologie

Dans ce tutoriel, nous utiliserons les trois serveurs ci-dessous. Chacun de ces serveurs exécute un ou plusieurs services communs. Le serveur Nagios fonctionne sur Ubuntu.

  • Serveur 1 (10.10.10.1) : MySQL, Apache2
  • Serveur 2 (10.10.10.2) : Postfix, Apache2
  • Serveur 3 (10.10.10.3) : DNS


Premièrement, les serveurs sont définis sur Nagios.

root@nagios:~# vim /etc/nagios3/conf.d/example.cfg
define host{        use                     generic-host                    host_name               test-server-1        alias                   test-server-1        address                 10.10.10.1        } define host{        use                     generic-host                    host_name               test-server-2        alias                   test-server-2        address                 10.10.10.2        } define host{        use                     generic-host                    host_name               test-server-3        alias                   test-server-3        address                 10.10.10.3        }

Service de surveillance MySQL

 

Les critères de surveillance MySQL

 

  • Surveiller si MySQL fonctionne en vérifiant le port 3306.
  • Surveiller la disponibilité de certaines bases de données ‘testDB’.

 

Réglage du serveur MySQL

Lorsqu’il s’agit de vérifier MySQL, il faut garder à l’esprit que MySQL, par défaut, n’écoute que l’interface de loopback 127.0.0.1. Cela augmente la sécurité de la base de données. Un réglage manuel est nécessaire pour indiquer à MySQL qu’il lui faut écouter d’autres interfaces aussi. Voici comment ça peut être fait.

Ce réglage est exécuté sur tous les serveurs MySQL.

root@nagios:~# vim /etc/mysql/my.cnf

La ligne suivante est dé-commentée pour que MySQL écoute toutes les interfaces. 

#bind-address           = 127.0.0.1

De même, MySQL ne laissera pas n’importe quel hôte s’y connecter. Un utilisateur ‘nagios’ est créé à la fois pour l’hôte local et pour ‘tout’ hôte. Cet utilisateur a ainsi accès à toutes les bases de données et sera utilisé pour la surveillance.

Les réglages suivants sont faits pour tous les serveurs MySQL.

root@nagios:~# mysql -u root –p
## MySQL root password here ##

Un utilisateur ‘nagios@localhost’ est créé dans le serveur MySQL.

mysql> CREATE USER 'nagios'@'localhost' IDENTIFIED BY 'nagios-pass';
mysql> GRANT ALL PRIVILEGES ON *.* TO 'nagios'@'localhost';

Un utilisateur ‘nagios@any-host’ est créé.

mysql> CREATE USER 'nagios'@'%' IDENTIFIED BY 'nagios-pass';
mysql> GRANT ALL PRIVILEGES ON *.* TO 'nagios'@'%';
mysql> FLUSH PRIVILEGES;

Cela devrait activer l’écoute de MySQL sur toutes les interfaces, de même qu’accepter des nouvelles connexions de l’utilisateur ‘nagios’ vers n’importe quel hôte.

Notez qu’il y a des implications de sécurité possibles en raison de ce changement, il est donc nécessaire de vous préciser ceci :

  • Ce réglage exposera MySQL à toutes les interfaces disponibles, WAN inclue. Il est vital de faire en sorte que seuls les réseaux légitimes aient accès à la base de données. Des filtres tels qu’un pare-feu et des wrappers TCP devraient être utilisés.
  • Le mot de passe de l’utilisateur ‘nagios’ sur MySQL doit être très fort. S’il y a peu de serveurs MySQL, il faudrait alors créer l’utilisateur MySQL ‘nagios@servername’ plutôt que ‘nagios@%’ par exemple, n’importe quel hôte.

 

Configuration de Nagios pour MySQL

Le réglage suivant devrait faire l’affaire.

root@nagios:~# vim /etc/nagios3/conf.d/services_nagios2.cfg
define service{use                    generic-servicehost_name test-server-1;hostgroup can be used instead as well service_description            Check MYSQL via TCP portcheck_command                  check_tcp!3306        } define service{use                            generic-servicehost_name                      test-server-1;hostgroup can be used instead as well service_description    Check availability of database 'testDB'check_command  check_mysql_database!nagios!nagios-pass!testDB;check_mysql!userName!userPassword!databaseName        }

De cette manière, Nagios peut aider à surveiller l’accessibilité à la fois des serveurs MySQL et de la base de données stockée sur les serveurs.

Surveiller un serveur web Apache

Nagios peut être utilisé pour aussi surveiller un serveur web Apache.

Les critères de surveillance Apache

  • Surveiller si le serveur apache est accessible.

Cette tâche est vraiment facile comme Nagios dispose d’une commande intégrée pour cela.

root@nagios:~# vim /etc/nagios3/conf.d/services_nagios2.cfg
define service{use                    generic-servicehost_name              test-server-1, test-server-2service_description    Check Apache Web Servercheck_command          check_http        }

C’était vraiment simple!

Surveiller le service DNS

Nagios peut surveiller un service DNS en demandant au serveur DNS soit de résoudre un FQDN, soit d’utiliser l’outil dig. Le FQDN par défaut utilisé pour le test est www.google.com, mais il peut être changé si besoin. Le fichier suivant peut être modifié si besoin.

root@nagios:~# vim /etc/nagios-plugins/config/dns.cfg
## The -H portion can be modified to replace Google ##define command{command_name    check_dnscommand_line    /usr/lib/nagios/plugins/check_dns -H www.google.com -s '$HOSTADDRESS$'}

Ensuite, éditez le fichier suivant.

root@nagios:~# vim /etc/nagios3/conf.d/services_nagios2.cfg
## Nagios asks server-3 to resolve the IP for google.com ##define service{use                             generic-servicehost_name                       test-server-3service_description     Check DNScheck_command           check_dns        } ## Nagios asks server-3 to dig google.com ##define service{use                             generic-servicehost_name                       test-server-3service_description     Check DNS via digcheck_command           check_dig!www.google.com        }

Surveiller les serveurs de messagerie électronique

Nagios peut surveiller différents serveurs de messagerie électronique, tels que SMTP, POP, IMAP et mailq. Tel que nous l’avons mentionné plut tôt, le server-2 dispose d’un serveur de messagerie électronique postfix. Nagios sera configuré pour surveiller SMTP et la liste de mails du serveur.

root@nagios:~# vim /etc/nagios3/conf.d/services_nagios2.cfg
define service{use                     generic-servicehost_name               test-server-2service_description     Check SMTPcheck_command           check_smtp        } define service{use                     generic-servicehost_name               test-server-2service_description     Check Mail Queuecheck_command           check_mailq_postfix!50!100                                      ;warning at 50, critical at 100        }

surveillance du serveur email avec Nagios

La capture d’écran suivante donne un aperçu complet de toutes les vérifications de services qui ont été configurées jusqu’à présent.

Surveillances basées sur des ports d’applications personnalisées

Supposons que l’application personnalisée qui suit fonctionne également sur le réseau, écoutant sur un port particulier.

  • Test Server 1 : application personnalisée (Port TCP 12345)


Avec un peu de peaufinage, Nagios peut également aider à surveiller ce port d’application.

root@nagios:~# vim /etc/nagios3/conf.d/services_nagios2.cfg
define service{use                     generic-servicehost_name               test-server-1service_description     Check server 1 custom applicationcheck_command           check_tcp!12345        }

Conclusion

En conclusion, Nagios peut surveiller plein d’autres secteurs d’un réseau. Les scripts stockés sur /etc/nagios-plugins/config/ peuvent éclairer sur les possibilités fantastiques de Nagios.

Certains des scripts fournis avec Nagios sont restreints au serveur local uniquement. Les exemples incluent la charge d’un serveur, le nombre de processus simultanés, le nombre d’utilisateurs connectés. Ces vérifications peuvent fournir un aperçu utile de ce qui se passe dans le serveur Nagios.

J’espère que tout cela vous sera utile.

Article originale de: Sarmed Rahman   


comments powered by Disqus

Avis sur e-monsite

Avis sur e-monsite

E-monsite est un logiciel de création de site en ligne hébergé et gratuit, permettant à tout un chacun de créer un site sans connaissance technique. Pour créer un site sur e-monsite, vous n'avez pas à vous soucier de l'hébergement. E-monsite est facile à prendre en main et ne nécessite aucune instal … Continuer

Publié le 19 mai, 2014

1 Commentaires



Les avis des clients

Avis des utilisateurs


Faites entendre votre voix. Passez en revue votre fournisseur d'hébergement Web - bon ou mauvais.


Serait-ce enfin le bon ? En tant que professionnel le choix de l'hébergeur est crucial. Ayant acquis une certaine expérience dans le domaine j'ai choisi de tester Ex2Hosting je les ai déjà pas mal mis à l'épreuve et j'avoue que jusqu'à présent je suis pleinement satisfaite. Le support est …

adie à propos Ex2hosting

Montrer une autre revue
Lire les avis Ex2hosting



Plans d'hébergement




Les plans d'hébergement de 59 sociétés d'hébergement partout dans le monde


Meilleur hébergeurs web

# hébergeur web prix action

1

Ikoula

1.95 EURO

Ajouter un Avis
Visiter

2

Siteground

6.95 USD

Ajouter un Avis
Visiter

3

Ex2hosting

3.99 EURO

Ajouter un Avis
Visiter

4

Inmotion

5.95 USD

Ajouter un Avis
Visiter

5

Webhostinghub

4.95 USD

Ajouter un Avis
Visiter

6

Bluehost

6.95 USD

Ajouter un Avis
Visiter






Hébergeurs par avis de clients

Ex2hosting
78 avis des clients
Nuxit France
70 avis des clients
Hostpapa France
67 avis des clients
1and1 France
62 avis des clients
Rapidenet
50 avis des clients
Ajouter un avis Tous les profils


Hébergeurs par fidélité de clients

Ex2hosting
73 / 78 recommandé
Nuxit France
68 / 70 recommandé
Rapidenet
49 / 50 recommandé
Infomaniak France
48 / 48 recommandé
Hostpapa France
39 / 67 recommandé
Évaluer hébergeur Tous les profils


Question de la Semaine


Le plus important critère de votre hébergeur



Contacter l'éditeur

Posez votre question