Partager via


Tutoriel : Générer un tableau de bord de métriques Java avec Azure Managed Grafana

Dans ce tutoriel, vous allez découvrir comment configurer un tableau de bord de métriques à l’aide d’Azure Managed Grafana pour surveiller les applications Java exécutées dans Azure Container Apps.

Grafana est un outil populaire pour la visualisation centralisée des métriques et la surveillance dans le secteur de l’observabilité. Azure Managed Grafana est un service Azure complètement managé qui vous permet de déployer et de gérer des tableaux de bord Grafana avec une intégration fluide à Azure. Vous pouvez utiliser Azure Managed Grafana pour visualiser les métriques Java exposées par Azure Container Apps ou intégrer les métriques Java dans vos tableaux de bord Grafana existants.

Dans ce tutoriel, vous allez :

  • Créez une instance Azure Managed Grafana.
  • Créer un tableau de bord de métriques Java dans Grafana.
  • Visualiser les métriques Java pour Azure Container Apps avec Grafana.

Prérequis

Configurer l’environnement

Pour définir les variables d’environnement et vous assurer que votre extension Azure Managed Grafana est à jour, suivez les étapes suivantes.

  1. Créez des variables pour prendre en charge votre configuration Grafana.

    export LOCATION=eastus
    export SUBSCRIPTION_ID={subscription-id}
    export RESOURCE_GROUP=grafana-resource-group
    export GRAFANA_INSTANCE_NAME=grafana-name
    
    Variable Description
    LOCATION L’emplacement de la région Azure où vous créez votre instance Azure Managed Grafana.
    SUBSCRIPTION_ID L’ID d’abonnement que vous utilisez pour créer votre instance Azure Container Apps et Azure Managed Grafana.
    RESOURCE_GROUP Le nom du groupe de ressources Azure pour votre instance Azure Managed Grafana.
    GRAFANA_INSTANCE_NAME Le nom de l’instance de votre instance Azure Managed Grafana.
  2. Connectez-vous à Azure avec Azure CLI.

    az login
    
  3. Créez un groupe de ressources.

    az group create --name $RESOURCE_GROUP --location $LOCATION
    
  4. Utilisez la commande suivante pour vous assurer que vous disposez de la dernière version des extensions Azure CLI pour Azure Managed Grafana.

    az extension add --name amg --upgrade
    

Configurer une instance Azure Managed Grafana

Tout d’abord, créez une instance Azure Managed Grafana et attribuez les rôles nécessaires.

  1. Créez une instance Azure Managed Grafana.

    az grafana create \
        --name $GRAFANA_INSTANCE_NAME \
        --resource-group $RESOURCE_GROUP \
        --location $LOCATION
    
  2. Attribuer à l’instance Azure Managed Grafana le rôle « Lecteur d’analyse » pour lire les métriques à partir d’Azure Monitor. En savoir plus sur l’authentification et les autorisations pour Azure Managed Grafana.

    GRAFA_IDDENTITY=$(az grafana show --name $GRAFANA_INSTANCE_NAME --resource-group $RESOURCE_GROUP --query "identity.principalId" --output tsv)
    
    az role assignment create --assignee $GRAFA_IDDENTITY --role "Monitoring Reader" --scope /subscriptions/$SUBSCRIPTION_ID
    

Créer un tableau de bord de métriques Java

Important

Pour ajouter un nouveau tableau de bord dans Grafana, vous devez disposer du rôle Grafana Admin ou Grafana Editorrôle, consultez rôles Azure Managed Grafana.

  1. Attribuez le rôle Grafana Admin à votre compte sur la ressource Azure Managed Grafana.

    Procurez-vous l’ID de ressource de votre instance Azure Managed Grafana.

    GRAFANA_RESOURCE_ID=$(az grafana show --resource-group $RESOURCE_GROUP --name $GRAFANA_INSTANCE_NAME --query id --output tsv)
    

    Avant d’exécuter cette commande, remplacez l’espace réservé <USER_OR_SERVICE_PRINCIPAL_ID> par votre ID d’utilisateur(-trice) ou de principal de service.

    az role assignment create \
        --assignee <USER_OR_SERVICE_PRINCIPAL_ID> \
        --role "Grafana Admin" \
        --scope $GRAFANA_RESOURCE_ID
    
  2. Téléchargez le fichier json de l’exemple de tableau de bord métrique Java pour Azure Container Apps.

  3. Obtenir le point de terminaison de la ressource Azure Managed Grafana.

    az grafana show --resource-group $RESOURCE_GROUP \
       --name $GRAFANA_INSTANCE_NAME \
       --query "properties.endpoint" \
       --output tsv
    

    Cette commande retourne l’URL que vous pouvez utiliser pour accéder au tableau de bord Azure Managed Grafana. Ouvrez votre navigateur avec l’URL et connectez-vous.

  4. Accédez à Dashboard>New ->Import. Chargez le fichier JSON du tableau de bord ci-dessus et choisissez la source de données Azure Monitor intégrée par défaut, puis cliquez sur le bouton Import.

    Capture d’écran de l’importation du tableau de bord des métriques Java pour Azure Container Apps.

Visualiser les métriques Java pour Azure Container Apps avec Grafana

  1. Saisissez les informations relatives à vos ressources dans les filtres de votre Azure Container Apps. Vous pouvez désormais afficher toutes les métriques Java prises en charge dans Azure Container Apps dans le tableau de bord. L’exemple de tableau de bord fournit des données métriques en temps réel, notamment

    • Vue d’ensemble de l’application de conteneur
    • Utilisation de la mémoire de la machine virtuelle Java
    • Mémoire tampon de la machine virtuelle Java
    • Garbage collection de la machine virtuelle Java (JVM GC)
    • Analyse détaillée de l’utilisation de la mémoire de la machine virtuelle Java

    Capture d’écran de l’onglet Vue d’ensemble dans Grafana.

    Capture d’écran de l’onglet Mémoire d la machine virtuelle Java dans Grafana.

    Capture d’écran de l’onglet Mémoire tampon de la machine virtuelle Java dans Grafana.

    Capture d’écran de l’onglet Garbage collection de la machine virtuelle Java dans Grafana.

    Capture d’écran de l’onglet d’analyse de la mémoire de la machine virtuelle Java dans Grafana.

Vous pouvez utiliser ce tableau de bord comme point de départ pour créer vos visualisations de métriques et vos solutions de suivi personnalisées.

Nettoyer les ressources

Les ressources créées dans ce tutoriel ont un effet sur votre facture Azure. Si vous n’allez pas utiliser ces services à long terme, exécutez la commande suivante pour supprimer tout ce qui a été créé dans ce didacticiel.

az group delete --resource-group $RESOURCE_GROUP