L’infrastructure informatique moderne nécessite une approche globale de la surveillance et des tests des performances des applications. De plus en plus d’entreprises du monde entier utilisent une combinaison de gestion des performances des applications (APM) et de tests de performance pour mettre en œuvre des processus DevOps réussis et prendre en charge la santé globale de leur environnement informatique.

Alors que les plates-formes APM telles que NewRelic et Dynatrace sont souvent utilisées pour suivre et analyser les mesures de performance clés des serveurs d’applications, des bases de données et d’autres composants de l’infrastructure informatique, les outils de test de charge tels que LoadView sont une excellente solution dans le cadre des tests de performance avant et après la production. L’intégration des tests de charge dans un cycle de vie de développement Web donne aux équipes DevOps des informations complètes sur les changements dans les performances des services Web et des applications sous une charge utilisateur importante et aide à repérer les goulots d’étranglement dans l’infrastructure de support. Dans cet article, nous vous guiderons à travers l’intégration de Dynatrace et LoadView pour démontrer les principales étapes de la configuration de l’intégration de l’APM et de l’outil de test de charge.

Présentation de l’intégration de Dynatrace et Loadview

Les principaux principes de l’intégration de la plate-forme APM avec les outils de test de charge sont décrits dans l’article Dynatrace et l’intégration des outils de test de charge sur le site officiel de Dynatrace. En un mot, lors de l’exécution d’un test de charge, un outil de test de charge génère des milliers de requêtes HTTP vers un site Web ou une application Web cible. Vous pouvez marquer vos demandes de test avec des attributs HTTP spécifiques et filtrer le trafic de test de charge par ces attributs dans Dynatrace.

Nous pouvons diviser le processus d’intégration de LoadView & Dynatrace en plusieurs étapes :

  1. Configuration des règles d’extraction pour les en-têtes HTTP personnalisés dans Dynatrace.
  2. Création d’un script de test de charge d’application web avec LoadView.
  3. Balisage des demandes de test de charge avec des en-têtes HTTP supplémentaires pour filtrer les données de surveillance par des balises définies dans Dynatrace.
  4. Exécution du test de charge dans LoadView.
  5. Appliquer le filtre et obtenir les demandes pertinentes dans Dynatrace pour une analyse approfondie.

Guide d’intégration étape par étape de Loadview & Dynatrace

Commençons par configurer les règles d’extraction pour les en-têtes HTTP personnalisés.

Dans Dynatrace, accédez à Paramètres Attributs > de demande de surveillance de > service côté serveur et définissez la règle d’extraction pour un nouvel attribut de requête « loadtest » et un paramètre d’en-tête « x-dynatrace » comme décrit sur le site officiel de Dynatrace.

Alternativement, pour les en-têtes HTTP personnalisés, vous pouvez filtrer vos données de surveillance par les en-têtes User-Agent .

Par défaut, tous les tests de charge d’applications Web et de sites Web exécutés dans des navigateurs réels par LoadView contiennent le suffixe DMBrowser dans l’en-tête de requête User-Agent :

GET /?gws_rd=ssl HTTP/1.1
Host: www.google.com
Connection: keep-alive
...

User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/91.0.4472.77 Safari/537.36DMBrowser/2.1 (UV)

Ainsi, vous pouvez utiliser l’attribut DMBrowser dans une règle d’extraction Dynatrace pour filtrer les demandes de LoadView.

Dans l’étape suivante, nous devons créer un test de charge avec des demandes de test balisées. Créons un script de test de charge d’application Web de base dans LoadView. Pour enregistrer le script, nous utilisons EveryStep Scripting Tool.

Une fois le script enregistré, ajoutons un en-tête personnalisé au script. Pour baliser les requêtes LoadView avec un en-tête personnalisé, nous utilisons la fonction Set Request Header disponible dans le menu contextuel du script (Network > Set Request Header). Consultez la description complète de la méthode dans l’article Ajouter un en-tête personnalisé au script EveryStep de notre base de connaissances.

Ajouter un en-tête personnalisé

Ensuite, nous spécifions la paire clé-valeur suivante:

  • CLÉ D’EN-TÊTE : X-DYNATRACE
  • VALEUR DE L’EN-TÊTE : LOADTEST

En-tête de demande d’intégration Dynatrace

Nous sommes maintenant prêts à poursuivre le scénario de test de charge comme décrit dans Comment configurer LoadView pour les tests de charge et de contrainte et pouvons exécuter le test dans LoadView. Les requêtes LoadView seront balisées dans Dynatrace avec l’attribut request spécifié pour une analyse plus approfondie.