Analyser précisément le temps de réponse de vos sites web avec Curl et Centreon

Centreon est une solution de supervision ultra connectée à son environnement et, à ce titre, nos équipes développent régulièrement des nouveautés pour gagner encore en interopérabilité.
Cette fois-ci, nos équipes ont fait évoluer notre base de supervision pour les sites webs pour y introduire l’utilisation de Curl et ainsi bénéficier de plus de possibilités pour répondre aux besoins de supervision d’URL du plus simple au plus exigeant.
Cet article décrit cette nouvelle fonctionnalité disponible prochainement afin de vous aider à comprendre précisément comment analyser les détails des temps de réponses de vos applications et sites web favoris. 

Curl : qu’est ce que c’est et pourquoi l’utiliser ?

Curl est un ensemble de librairies, lignes de commandes open-source développées par Daniel Stenberg et une communauté de contributeurs depuis 1998. Curl supporte un nombre important de protocoles pour le transfert de données et est souvent défini comme un couteau suisse. Chaque jour, que vous soyez dans le domaine de l’IT ou pas, vous utilisez Curl sans le savoir (dans les imprimantes, dans vos télévisions et véhicules connectés, etc.).

Les administrateurs systèmes et réseaux utilisent régulièrement cette ligne de commande pour tester la connectivité à des applications, sites web ou tout simplement à Internet. 

Les étapes de connexion à une URL qui peuvent être supervisées avec Centreon 

Lorsque vous vous connectez à une URL, de multiples étapes sont nécessaires pour afficher le contenu y étant associé. Grâce aux fonctionnalités de la librairie Curl pour le protocole HTTP, chaque étape peut être mesurée avec précision. 

Les étapes que nous allons pouvoir superviser avec Centreon sont les suivantes : 

  • La résolution du nom (lookup) qui est en fait l’interrogation d’un serveur DNS pour obtenir l’adresse IP, La connexion (connect), qui correspond au temps nécessaire pour atteindre la cible (ou le proxy) via l’adresse obtenue à l’étape précédente.
  • La sécurisation (tls), représentant le temps nécessaire à l’établissement de la communication sécurisée et des étapes de chiffrement associées. Cette étape n’est mesurée que lorsque l’on fait du HTTPS.
  • La phase de traitement (processing) représentant le temps à traiter la requête et l'exécution de code associée au niveau backend. On peut considérer cette mesure comme la plus proche du temps écoulé jusqu’au premier octet reçu, généralement connue sous l'appellation TTFB (Time To First Byte).
  • La phase de transfert (transfer) qui correspond au temps écoulé entre l’envoi de la demande d’affichage au serveur (GET) et la réception de l’information côté client.

Au travers de ces étapes, on entrevoit déjà les possibilités d’analyse afin de connaître les éléments significatifs en termes de durée et donc identifier des optimisations ou goulots d’étranglements potentiels.

Supervisez votre URL avec les Plugin Packs Centreon

Afin de superviser l’URL de votre site web, assurez-vous que le Plugin Pack “HTTP Server” soit installé sur votre serveur Central. Rendez-vous dans le menu “Configuration > Plugin Packs > Manager” et recherchez HTTP Server. Lorsque le Pack est installé, il est affiché de la manière suivante : 

Il est également nécessaire d’avoir installé le Plugin de supervision sur le serveur Central et sur chacun des Collecteurs si vous en possédez. Cela peut être réalisé via la commande suivante:

yum install centreon-plugin-Applications-Protocol-Http 

Une fois ces pré-requis validés, vous pouvez créer votre Hôte dans Centreon. Pour cela, rendez-vous sur le menu “Configuration > Hôtes” et cliquez sur “Ajouter” pour configurer votre supervision :

Les éléments obligatoires du formulaire sont les suivants :

  • Application du Modèle d’Hôte adéquat : 

  • Renseignement des Macros de paramétrage :

Ces Macros sont centrales car elles décrivent les paramètres que vous souhaitez utiliser pour l’exécution du contrôle. Voici la signification de la configuration ci-dessus : 

  • PORT : Le port sur lequel le site écoute les requêtes. Pour centreon.com c’est 443.
  • PROTOCOL : Le protocole accepté par le serveur. Pour centreon.com ce sera https.
  • EXTRAOPTIONS : Les options supplémentaires du Plugin, pour avoir accès aux statistiques. Nous précisons l’utilisation de curl et l’activation des informations détaillées. Respectivement :
--http-backend=curl
--extra-states

Attention !

Si vous utilisez un proxy, ajoutez à la macro EXTRAOPTIONS de votre Hôte l’option suivante :

--proxy-url='protocol://your.proxy.domain:port' 

Une fois cette configuration effectuée, vous pouvez sauvegarder le formulaire et vous obtiendrez automatiquement des contrôles de Ping et de temps de réponses HTTP détaillés. 

Déployez votre configuration et le tour est joué, vos sites sont supervisés  ! 

Comme vous le voyez sur le graphique, nous pouvons facilement détecter quelle étape a été la plus longue et a  le plus fortement impacté le temps de réponse global. Ici on voit que c’est la phase de processing qui a connu un ralentissement avec le pic (qui est assez visible !). 

Pour aller plus loin

Que diriez-vous de comparer le résultat de vos temps de réponses depuis différents endroits du globe ? 

En déployant cette même configuration et en l'exécutant sur des Collecteurs ou des serveurs répartis à différents endroits du globe, vous pourrez comparer les graphiques et voir comment chaque étape se comporte en fonction de la zone géographique.

Si vous avez la moindre question, posez-la sur le channel centreon-plugins de notre slack communautaire.