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.
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é à :
/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é à :
/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 :
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 :
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
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 :
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 :
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 :
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 :
Comme on peut le voir, il renverra 1 au cas où le site Web renvoie “200 OK”. Le module présenterait la configuration suivante :
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 :
Il renverra le temps de réponse en secondes et le module ressemblerait à ceci :
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 :
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.
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.
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.
Dimas P.L., de la lejana y exótica Vega Baja, CasiMurcia, periodista, redactor, taumaturgo del contenido y campeón de espantar palomas en los parques. Actualmente resido en Madrid donde trabajo como paladín de la comunicación en Pandora FMS y periodista freelance cultural en cualquier medio que se ofrezca. También me vuelvo loco escribiendo y recitando por los círculos poéticos más profundos y oscuros de la ciudad.
Dimas P.L., from the distant and exotic Vega Baja, CasiMurcia, journalist, editor, thaumaturgist of content and champion of scaring pigeons in parks. I currently live in Madrid where I work as a communication champion in Pandora FMS and as a freelance cultural journalist in any media offered. I also go crazy writing and reciting in the deepest and darkest poetic circles of the city.