Communauté Fonctionnalités Progiciel

Supervision de serveur Web

janvier 20, 2021

Supervision de serveur Web

This post is also available in : Anglais Espagnol

Supervision de serveur Web : tout ce que vous devez savoir

Dans cet article, nous allons présenter certaines des différentes options de supervision de serveur Web que vous pouvez implémenter dans Pandora FMS. Nous allons utiliser un serveur Web Apache comme exemple et nous concentrer sur quatre points clés :

1. Supervision de l’état du serveur Apache, qui vous fournit des métriques utiles pour connaître l’état général de votre serveur Web.

2. Supervision des connexions TCP avec netstat. Vous pouvez filtrer par ESTABLISHED, TIME_WAIT, LISTEN ou par adresses IP spécifiques.

3. Supervision du access_log, pouvant obtenir des données spécifiques sur le nombre de requêtes, le nombre d’origines différentes de ces requêtes, etc.

4. Supervision externe de votre site Web : Ma page Web est-elle en ligne ? Quels sont les temps de réponse ? Est-ce qu’il y a une dégradation du service ?

Avec ces quatre points, vous pouvez effectuer une supervision correcte du serveur Web et localiser rapidement tout problème dans le service.

banner full pandora fms free demo
banner tablet pandora fms free demo
banner mobile pandora fms free demo

Supervision de l’état du serveur

La première fonctionnalité que nous utiliserons pour la supervision du serveur Web sera l’état du serveur Apache natif. Pour l’activer, éditez le fichier de configuration, normalement situé à :

monitorizacion de servidor web

/etc/httpd/conf/httpd.conf

La première fonctionnalité que nous utiliserons pour la supervision du serveur Web sera l’état du serveur Apache natif. Pour l’activer, éditez le fichier de configuration, normalement situé à :

monitorizacion de servidor web

/etc/httpd/conf/httpd.conf

Et ajoutez le bloc suivant à la fin du fichier :

ExtendedStatus On

SetHandler server-status

Order deny,allow

Allow from localhost, 192.168.50.1

Dans ce cas, localhost et 192.168.50.1 sont les adresses IP à partir desquelles il sera possible d’interroger l’état du serveur de votre serveur Web. Ils devront être remplacés ou des adresses IP supplémentaires ajoutées en fonction de la machine à partir de laquelle les requêtes doivent être effectuées. Maintenant, après le redémarrage du service, vous aurez accès à des informations utiles depuis votre serveur web : http://ip_address/server-status

Et une fenêtre avec des informations comme celle-ci s’affichera :

Monitorizacion de servidor web

Nous utiliserons cette fenêtre pour superviser le serveur Web et extraire certains de ses paramètres les plus importants, tels que CPU Usage, Server uptime, Total accesses, Total Traffic, etc. L’équipe Pandora FMS dispose d’un plugin d’agent qui s’occupe automatiquement d’inclure toutes ces vérifications dans la console Pandora FMS. Pour le faire fonctionner, il vous suffit de le déployer sur un agent logiciel qui a une connexion au serveur Web que vous voulez superviser. Il peut s’agir d’un agent installé sur le serveur Web lui-même, car ces métriques sont fournies directement par le service d’état du serveur d’Apache et ses résultats ne varient pas, quel que soit l’endroit d’où ils sont consultés.


Voulez-vous en savoir plus sur la supervision des serveurs ?

Administration centralisée, haute évolutivité, Métaconsole… découvrez la supervision des serveurs dans Pandora FMS Enterprise


Certaines des vérifications que le plugin vous montrera lors de la lecture des informations de l’état du serveur sont :

  • Total Accesses: nombre d’accès au serveur Apache.
  • CPU Load: charge CPU du serveur Apache.
  • Uptime: temps de fonctionnement du serveur Apache.
  • RequestsPerMinute: requêtes par minute.
  • BytesPerSecond: octets transférés par seconde.
  • BytesPerRequest: octets transférés par requête.
  • BusyWorkers/Server: nombre de fils actifs.
  • IdleWorkers/Server: nombre de fils actifs.

Ce plugin analyse les informations renvoyées par le service d’Apache server-status, en collectant les informations sous forme de modules et en créant une supervision de serveur Web, comme suit :

Monitorizacion de servidor web

Il est important de noter que puisqu’un serveur peut être configuré de différentes manières, la charge dépendra de chaque système ; c’est pourquoi le plugin ne renvoie pas de seuils. Les seuils (Critique, Avertissement) devront être ajustés manuellement après une période de fonctionnement, sauf si vous connaissez les limites de certaines métriques.

Supervision des connexions actives avec netstat.

Au niveau système, vous pouvez superviser les connexions ouvertes avec l’utilitaire netstat. Ce programme vous permet de connaître des informations sur les connexions de votre serveur, de pouvoir visualiser les connexions établies ou en attente, ce qui vous offre des données de bas niveau très intéressantes. Pour cela, vous aurez également besoin d’un agent logiciel Pandora FMS installé sur votre serveur Web, et vous pourrez créer différents contrôles basés sur les informations que vous souhaitez connaître. Dans les exemples suivants, vous voyez certains des cas courants que vous pourriez être intéressés à superviser avec netstat, et leurs résultats dans la console Pandora FMS.

Connexions établies pour le port 443 (https)

module_begin
module_name Conn_Established_443
module_type generic_data
module_exec netstat -an | grep ESTAB | grep "443 " | wc –l
module_end

Grâce à ce contrôle, vous ajouterez à la supervision du serveur web un décompte des connexions établies au port 443 (https), en pouvant se faire une idée de la charge de travail qu’il supporte, observer les pics de travail, etc.

Connexions décrochées en attente de fermeture (en général)

module_begin
module_name Conn_TimeWait_443
module_type generic_data
module_exec netstat -an | grepTIME_WAIT | grep "443 " | wc -l
module_end

Il indique les connexions en attente de fermeture par l’un des deux participants à la communication ; si vous voyez un nombre élevé de connexions en attente, cela peut indiquer un problème.

Connexions décrochées en attente de fermeture (en général))

module_begin
module_name Conn_FinWait2
module_type generic_data
module_exec netstat -an | grep FIN_WAIT_2| wc -l
module_end

monitorizacion de servidor web

Dans ce cas, FIN_WAIT_2 est un type d’état moins courant, mais son occurrence peut être un problème. On l’utilise pour un cas où la communication n’est pas associée à un port, mais à tout service qui écoute. Ils seront affichés de cette manière dans la console Pandora FMS une fois qu’ils collectent des informations :

Monitorizacion de servidor web

Supervision du journal d’accès (access_log)

Vous pouvez également superviser le serveur Web localement avec le fichier access_log et déboguer les informations qu’il contient pour créer des modules avec des informations utiles.
Certains des cas qui peuvent vous intéresser sont :

  • Nombre total de requêtes par seconde.
  • Nombre total de requêtes par seconde à une certaine URL ou ressource.
  • Nombre de requêtes par seconde depuis une certaine adresse IP..

Nombre total de requêtes par seconde.

Une métrique essentielle et basique. Il est important de noter qu’il s’agit d’un taux de requêtes par seconde et non d’une valeur absolue. Le type de module generic_data_inc de Pandora FMS est chargé de collecter les valeurs et de diviser les résultats pour afficher le nombre par seconde :

module_begin
module_name Request_Sec
module_type generic_data_inc
module_exec wc -l /var/log/httpd/access_log
module_end

Nombre total de requêtes par seconde à une certaine URL ou ressource.

Très similaire à la métrique précédente, mais indiquant une URL spécifique :

module_begin
module_name Request_ContactForm_Sec_
module_type generic_data_inc
module_exec grep "/en/company/contact/" /var/log/httpd/access_log | wc -l
module_end

Nombre de requêtes par seconde depuis une certaine adresse IP.

Très similaire aux contrôles précédents, mais restrictif par IP :

module_begin
module_name Request_ContactForm_Sec_
module_type generic_data_inc
module_exec grep "108.162.221.225" /var/log/httpd/access_log | wc -l
module_end

Il est essentiel que pour que ces vérifications ne chargent pas la machine locale, le journal d’accès Apache se trouve dans le système de rotation des journaux, afin qu’il ne dépasse pas 100 Mo. Pour ce faire, le mieux serait d’utiliser la configuration de rotation d’Apache en modifiant logrotate.d/httpd en ajoutant la ligne : maxsize 100M

Supervision du site Web

En plus de la supervision interne du serveur Web que vous pouvez faire, un test définitif pour savoir si le service fonctionne correctement est la supervision du site Web. Avec quelques vérifications, vous pouvez savoir si votre site Web est opérationnel et quels temps de réponse il a.

Supervision transactionnelle WEB

La supervision des sites Web et des transactions est une fonctionnalité Enterprise de Pandora FMS ; cependant, nous allons montrer un exemple courant et proposer des alternatives pour une supervision « manuelle » de votre site Web. Avec la configuration de module suivante, nous vérifierons l’état de notre site Web de supervision pour les clients. De plus, nous effectuons une transaction qui comporte plusieurs étapes :

1. Chargement du site Web.
2. Connexion au site Web : elle vous permet d’identifier d’autres séries de problèmes, tels que la connexion à la base de données au cas où la connexion échouerait.
3. Navigation vers une certaine section.

La configuration du module Web serait la suivante, et en définissant le type « module pour vérifier la réponse du serveur », vous vérifierez que l’ensemble du processus a réussi :

Monitorizacion de servidor web

Si vous configurez le module « vérifier la latence du serveur », vous mesurerez le temps d’une réponse de transaction complète. Les deux modules seront affichés comme ceci une fois initialisés :

Monitorizacion de servidor web

monitorizacion de servidor web

Pour mettre en œuvre ce type de supervision de serveur Web, il ne serait pas nécessaire d’installer un agent logiciel, car les vérifications seraient exécutées à distance par le serveur Pandora FMS lui-même, ce qui nécessiterait un accès http du serveur Pandora FMS au site Web qui vous voulez superviser.

Vérification Web par un agent logiciel

En cas de ne pas avoir la version Enterprise, vous pourriez utiliser une vérification effectuée directement par un agent logiciel à l’aide de l’outil curl pour vérifier que la page Web est accessible. Cette vérification prendrait en compte le lieu à partir duquel elle est effectuée, de sorte que l’agent logiciel qui exécute la vérification doit avoir une communication http avec le site Web à superviser, et vous pouvez obtenir des résultats différents en fonction de l’emplacement physique de l’agent logiciel. Une simple vérification pour vérifier que la page Web répond serait la suivante :

Monitorizacion de servido web

Comme on peut le voir, il renverra 1 au cas où le site Web renvoie « 200 OK ». Le module présenterait la configuration suivante :

Monitorizacion de servidor web

web server monitoring

Grâce à l’utilitaire curl, vous pouvez également surveiller les temps de latence de votre site Web. Pour cela, vous configurez un contrôle similaire à celui-ci :

web server monitoring

Il renverra le temps de réponse en secondes et le module ressemblerait à ceci :

web server monitoring

web server monitoring

Supervision du serveur Web sans agent, grâce à de simples vérifications TCP

Avec les simples vérifications des ports TCP que Pandora FMS propose dans la version Open, vous pourriez vérifier si le service est opérationnel. Cette vérification serait exécutée à partir du serveur Pandora FMS, et non à partir d’un agent logiciel, et vous configurez une simple boîte de dialogue TCP pour garantir que le service renvoie la réponse attendue :

web server monitoring

web server monitoring

Supervision de l’expérience utilisateur avec Selenium

C’est un moyen de superviser des processus de navigation Web plus complexes sur de grandes pages Web avec des éléments flash, java, etc., à l’aide de Selenium. Les processus de navigation complets sont enregistrés au moyen d’une extension Selenium spécifique, qui stocke chacune des actions exécutées par l’utilisateur directement dans le navigateur. Par la suite, ces sessions précédemment enregistrées sont utilisées pour la séquence de navigation complète dans n’importe quel navigateur réel, et ainsi, l’expérience utilisateur peut être surveillée avec une fidélité totale. Le plugin se charge de vérifier la validité de chacune des étapes de navigation et de l’ensemble de la séquence, ainsi que d’indiquer les temps de réponse et les latences.

monitorizacion de servidor web

web serve monitoring

De plus, avec les dernières avancées en la matière de l’équipe Pandora FMS, il est possible de récupérer une capture d’écran du dernier écran chargé et de l’endroit où la panne s’est produite.

web server monitoring

monitorizacion de servidor web

Ce type de supervision de serveur Web peut être exécuté à partir de n’importe quel agent logiciel, de sorte que les résultats peuvent varier en fonction de l’emplacement géographique du système sur lequel votre agent logiciel est installé. Le cas est le même que pour la supervision d’agent et curl. De cette façon, vous pouvez connaître la disponibilité et les temps de réponse de vos sites Web de différentes villes ou pays.
Avant de finir, rappelez-vous que Pandora FMS est un logiciel de supervision flexible, capable de superviser des appareils, infrastructures, applications, services et processus métier.
Souhaitez-vous en savoir plus sur ce que Pandora FMS peut vous offrir ? Découvrez-le en visitant le site : https://pandorafms.com/fr
Ou si vous avez à surveiller plus de 100 appareils, vous pouvez également profiter d’une DÉMO GRATUITE de 30 jours de Pandora FMS Enterprise. Obtenez-le ici.
Sachez également que si vos besoins en supervision sont plus restreints, vous disposez de la version OpenSource de Pandora FMS. Pour plus d’informations : https://pandorafms.org/fr/
N’hésitez pas à envoyer vos questions. L’équipe de Pandora FMS sera ravie de vous aider.


Leave a comment

Votre adresse de messagerie ne sera pas publiée. Les champs obligatoires sont indiqués avec *

Ce site utilise Akismet pour réduire les indésirables. En savoir plus sur comment les données de vos commentaires sont utilisées.