Guide pratique pour le monitoring d’applications Spring Boot avec Dynatrace Java OneAgent

Remarque

Azure Spring Apps est le nouveau nom du service Azure Spring Cloud. Bien que le service ait un nouveau nom, vous verrez l’ancien nom à divers endroits pendant un certain temps, car nous travaillons à mettre à jour les ressources telles que les captures d’écran, les vidéos et les diagrammes.

Cet article s'applique à : ✔️ Consommation Standard et dédiée (Aperçu) ✔️ De base/standard❌️ Entreprise

Cet article vous explique comment utiliser Dynatrace OneAgent pour superviser les applications Spring Boot dans Azure Spring Apps.

Avec Dynatrace OneAgent, vous pouvez :

  • Surveiller les applications avec Dynatrace OneAgent.
  • Configurer Dynatrace OneAgent à l’aide de variables d’environnement.
  • Vérifier toutes les données de surveillance à partir du tableau de bord Dynatrace.

La vidéo suivante présente Dynatrace OneAgent.


Prérequis

Activer Dynatrace OneAgent

Les sections suivantes décrivent comment activer Dynatrace OneAgent.

Préparer votre environnement Azure Spring Apps

  1. Créez une instance d’Azure Spring Apps.
  2. Créer une application que vous souhaitez signaler à Dynatrace en exécutant la commande suivante. Remplacer les espaces réservés <...> par vos valeurs.
    az spring app create \
        --resource-group <your-resource-group-name> \
        --service <your-Azure-Spring-Apps-name> \
        --name <your-application-name> \
        --is-public true
    

Déterminer les valeurs pour les variables d’environnement requises

Pour activer Dynatrace OneAgent sur votre instance Azure Spring Apps, vous devez configurer quatre variables d’environnement : DT_TENANT, DT_TENANTTOKEN, DT_CONNECTION_POINT et DT_CLUSTER_ID. Pour plus d’informations, consultez Intégration de OneAgent dans Azure Spring Apps.

Pour les applications avec plusieurs instances, Dynatrace dispose de plusieurs méthodes pour les regrouper. DT_CLUSTER_ID est l’un des moyens. Pour plus d’informations, consultez Détection du groupe de processus.

Ajouter les variables d'environnement à votre application

Vous pouvez ajouter les paires clé/valeur de la variable d’environnement à votre application à l’aide du portail Azure ou d’Azure CLI.

Option 1 : Azure CLI

Pour ajouter les paires clé/valeur avec Azure CLI, exécutez la commande suivante, en remplaçant les espaces réservés <...> par les valeurs déterminées dans les étapes précédentes.

az spring app deploy \
    --resource-group <your-resource-group-name> \
    --service <your-Azure-Spring-Apps-name> \
    --name <your-application-name> \
    --artifact-path app.jar \
    --env \
        DT_TENANT=<your-environment-ID> \
        DT_TENANTTOKEN=<your-tenant-token> \
        DT_CONNECTION_POINT=<your-communication-endpoint>

Option 2 : Portail Azure

Pour ajouter les paires clé/valeur à l’aide du portail Azure, procédez comme suit :

  1. Dans votre instance Azure Spring Apps, sélectionnez Applications dans le volet de navigation.

    Capture d’écran du Portail Azure affichant la page Applications pour une instance Azure Spring Apps.

  2. Sélectionnez l’application dans la liste, puis sélectionnez Configuration dans le volet de navigation.

  3. Utilisez l’onglet Variables d’environnement pour ajouter ou mettre à jour les variables utilisées par votre application.

    Capture d’écran du Portail Azure montrant la page Configuration d’une application avec l’onglet Variables d’environnement sélectionné.

Automatiser le provisionnement

À l’aide de Terraform, Bicep ou d’un modèle Azure Resource Manager (modèle ARM), vous pouvez également exécuter un pipeline d’automatisation de l’approvisionnement. Ce pipeline peut fournir une expérience pratique complète pour instrumenter et surveiller les nouvelles applications que vous créez et déployez.

Automatiser le provisionnement à l’aide de Terraform

Pour configurer les variables d’environnement dans un modèle Terraform, ajoutez le code suivant au modèle, en remplaçant les espaces réservés <...> par vos propres valeurs. Pour plus d’informations, consultez Gérer un déploiement Azure Spring Apps actif.

environment_variables = {
  "DT_TENANT": "<your-environment-ID>",
  "DT_TENANTTOKEN": "<your-tenant-token>",
  "DT_CONNECTION_POINT": "<your-communication-endpoint>",
  "DT_CLUSTER_ID": "<your-cluster-ID>"
}

Automatiser l’approvisionnement à l’aide d’un fichier Bicep

Pour configurer les variables d’environnement dans un fichier Bicep, ajoutez le code suivant au modèle, en remplaçant les espaces réservés <...> par vos propres valeurs. Pour plus d’informations, consultez Microsoft.AppPlatform Spring/apps/déploiements.

environmentVariables: {
  DT_TENANT: '<your-environment-ID>'
  DT_TENANTTOKEN: '<your-tenant-token>'
  DT_CONNECTION_POINT: '<your-communication-endpoint>'
  DT_CLUSTER_ID: '<your-cluster-ID>'
}

Automatiser le provisionnement à l’aide d’un modèle ARM

Pour configurer les variables d’environnement dans un modèle ARM, ajoutez le code suivant au modèle, en remplaçant les espaces réservés <...> par vos propres valeurs. Pour plus d’informations, consultez Microsoft.AppPlatform Spring/apps/déploiements.

"environmentVariables": {
  "DT_TENANT": "<your-environment-ID>",
  "DT_TENANTTOKEN": "<your-tenant-token>",
  "DT_CONNECTION_POINT": "<your-communication-endpoint>",
  "DT_CLUSTER_ID": "<your-cluster-ID>"
}

Afficher les rapports dans Dynatrace

Cette section décrit comment rechercher différents rapports dans Dynatrace.

Remarque

Le menu et l’interface utilisateur Dynatrace évoluent progressivement. Pour cette raison, le tableau de bord peut être déplacé vers d’autres sections du site Web Dynatrace, et les captures d’écran suivantes peuvent ne pas refléter la version actuelle de l’interface utilisateur.

Une fois que vous avez ajouté les variables d’environnement à votre application, Dynatrace démarre la collecte des données. Pour afficher les rapports, utilisez le menu Dynatrace, accédez à Services, puis sélectionnez votre application.

Vous pouvez trouver le Flux de service dans <your-app-name>/Details/Service flow :

Capture d’écran du rapport de flux de service Dynatrace.

Vous pouvez trouver les Zones réactives de méthode dans <your-app-name>/Details/Method hotspots :

Capture d’écran du rapport des zones réactives de la méthode Dynatrace.

Vous pouvez trouver les Instructions de base de données dans <your-app-name>/Details/Response time analysis :

Capture d’écran du rapport d’analyse du temps de réponse Dynatrace et de la section Instructions de base de données.

Ensuite, accédez à la section Analyse multidimensionnelle.

Vous pouvez trouver les Principales instructions de base de données à partir de Analyse multidimensionnelle/Principales instructions de base de données :

Capture d’écran du rapport des instructions de base de données supérieures Dynatrace.

Vous trouverez la Vue d’ensemble des exceptions dans Analyse multidimensionnelle/Vue d’ensemble des exceptions :

Capture d’écran du rapport de vue d’ensemble des exceptions Dynatrace.

Ensuite, accédez à la section Profilage et optimisation.

Vous pouvez trouver l'Analyse du processeur à partir du Profilage et optimisation/Analyse du processeur :

Capture d’écran du rapport d’analyse du processeur Dynatrace.

Ensuite, accédez à la section Bases de données.

Vous pouvez trouver le Suivi arrière à partir de Bases de données/Détails/Suivi arrière :

Capture d’écran du rapport débogage Dynatrace.

Voir les journaux de Dynatrace OneAgent

Par défaut, Azure Spring Apps affiche les journaux de niveau informations de Dynatrace OneAgent vers STDOUT. Les journaux sont mélangés avec les journaux des applications. Vous pouvez récupérer la version d’agent explicite à partir des journaux des applications.

Vous pouvez également obtenir un agent Dynatrace à partir des emplacements suivants :

  • Journaux Azure Spring Apps
  • Azure Spring Apps Application Insights
  • Azure Spring Apps LogStream

Vous pouvez appliquer certaines variables d’environnement fournies par Dynatrace pour configurer la journalisation pour Dynatrace OneAgent. Par exemple, DT_LOGLEVELCON contrôle le niveau de journalisation. La valeur par défaut pour DT_LOGLEVELCON est info. Vous pouvez désactiver les journaux de l’agent en définissant DT_LOGLEVELCON sur off. Si la journalisation est désactivée, le support Dynatrace vous demande d'abord d'activer la journalisation pour diagnostiquer efficacement les problèmes de l'agent. Vous devez ensuite redémarrer l’application, ce qui est nécessaire pour que la modification prenne effet. Pour d’autres niveaux de journalisation, consultez l’équipe du support technique Dynatrace.

Attention

Nous vous recommandons vivement de ne pas remplacer le comportement de journalisation par défaut fourni par Azure Spring Apps pour Dynatrace. Si vous le faites, les scénarios de journalisation décrits précédemment sont bloqués et les fichiers journaux peuvent être perdus. Par exemple, vous ne devez pas transmettre les variables d’environnement DT_LOGLEVELFILE à vos applications.

Mise à jour de Dynatrace OneAgent

La mise à jour automatique Dynatrace OneAgent est désactivée et sera mise à niveau tous les trimestres avec le JDK. La mise à jour de l’agent peut affecter les scénarios suivants :

  • Les applications existantes qui utilisent Dynatrace OneAgent avant la mise à jour sont inchangées, mais nécessitent un redémarrage ou un redéploiement pour faire appel à la nouvelle version de Dynatrace OneAgent.
  • Les applications créées après la mise à jour utilisent la nouvelle version de Dynatrace OneAgent.

Configuration du trafic sortant de l’instance d’injection dans VNet

Pour une instance d’injection dans le réseau virtuel Azure Spring Apps, vous devez vous assurer que le trafic sortant pour les points de terminaison de communication Dynatrace est correctement configuré pour Dynatrace OneAgent. Pour plus d’informations sur la façon d’obtenir communicationEndpoints, consultez API de déploiement : informations de connectivité GET pour OneAgent. Pour plus d’informations, consultez Responsabilités du client pour l’exécution d’Azure Spring Apps dans un réseau virtuel.

Modèle de prise en charge Dynatrace

Pour plus d’informations sur les limitations lors du déploiement de Dynatrace OneAgent en mode application uniquement, consultez la section plateformes d’applications Cloud de la matrice de prise en charge des fonctionnalités et de la plateforme OneAgent.

Étapes suivantes

Utiliser l’agent In-process Java d’Application Insights dans Azure Spring Apps