Partager via


Envoyer des métriques Prometheus depuis des machines virtuelles, des groupes de machines virtuelles identiques ou des clusters Kubernetes à un espace de travail Azure Monitor

Prometheus n'est pas limité à l'analyse des clusters Kubernetes. Utilisez Prometheus pour analyser les applications et les services exécutés sur vos serveurs, partout où ils fonctionnent. Par exemple, vous pouvez surveiller les applications s'exécutant sur des machines virtuelles, des groupes de machines virtuelles identiques ou même des serveurs locaux. Vous pouvez également envoyer des métriques Prometheus à un espace de travail Azure Monitor depuis votre cluster automanagé et de votre serveur Prometheus.

Cet article explique comment configurer l'écriture à distance pour envoyer des données d'une instance Prometheus autogérée à un espace de travail Azure Monitor.

Options d’écriture à distance

Prometheus autogéré peut s'exécuter sur des environnements Azure et non Azure. Voici les options d’authentification pour l’écriture à distance dans l’espace de travail Azure Monitor, en fonction de l’environnement dans lequel Prometheus s’exécute.

Machines virtuelles gérées par Azure, groupes de machines virtuelles identiques et clusters Kubernetes

Utilisez l'authentification d'identité managée affectée par l'utilisateur pour les services exécutant Prometheus autogéré dans un environnement Azure. Les services managés par Azure incluent :

  • Machines virtuelles Azure
  • Groupes de machines virtuelles identiques Azure
  • Azure Kubernetes Service (AKS)

Pour configurer l’écriture à distance pour les ressources gérées par Azure, consultez Écriture à distance à l’aide de l’authentification d’identité managée affectée par l’utilisateur plus loin dans cet article.

Machines virtuelles et clusters Kubernetes s’exécutant sur des environnements non-Azure

Si vous avez des machines virtuelles ou un cluster Kubernetes dans des environnements non-Azure, ou que vous avez une intégration à Azure Arc, installez Prometheus autogéré et configurez l’écriture à distance en utilisant l’authentification d’application Microsoft Entra. Pour plus d’informations, consultez Écriture à distance à l’aide de l’authentification d’application Microsoft Entra plus loin dans cet article.

L’intégration aux services avec Azure Arc vous permet de gérer et de configurer des machines virtuelles non-Azure dans Azure. Pour plus d’informations, consultez Serveurs avec Azure Arc et Kubernetes avec Azure Arc. Les serveurs avec Azure Arc prennent uniquement en charge l’authentification Microsoft Entra.

Remarque

Les identités managées affectées par le système ne sont pas prises en charge pour l’écriture à distance sur les espaces de travail Azure Monitor. Utilisez une identité managée affectée par l’utilisateur ou l’authentification d’application Microsoft Entra.

Prérequis

Versions prises en charge

  • Les versions de Prometheus ultérieures à la version 2.45 sont requises pour l’authentification avec une identité managée.
  • Les versions de Prometheus ultérieures à la version 2.48 sont requises pour l’authentification d’application Microsoft Entra.

Espace de travail Azure Monitor

Cet article traite de l'envoi de métriques Prometheus à un espace de travail Azure Monitor. Pour créer un espace de travail Azure Monitor, consultez Gérer un espace de travail Azure Monitor.

Autorisations

Les autorisations d'administrateur pour le cluster ou la ressource sont nécessaires pour effectuer les étapes de cet article.

Configurer l’authentification pour l’écriture à distance

En fonction de l’environnement dans lequel Prometheus s’exécute, vous pouvez configurer l’écriture à distance pour utiliser une identité managée affectée par l’utilisateur ou l’authentification d’application Microsoft Entra pour envoyer des données à un espace de travail Azure Monitor.

Utilisez le Portail Azure ou Azure CLI pour créer une identité managée affectée par l’utilisateur ou une application Microsoft Entra.

Écriture à distance à l'aide de l’authentification d’identité managée affectée par l’utilisateur

L’authentification des identités managées affectées par l’utilisateur peut être utilisée dans n’importe quel environnement géré par Azure. Si votre service Prometheus s’exécute dans un environnement non-Azure, vous pouvez utiliser l’authentification d’application Microsoft Entra.

Pour configurer une identité managée affectée par l’utilisateur pour l’écriture à distance dans un espace de travail Azure Monitor, procédez comme suit.

Créer une identité managée attribuée par l’utilisateur

Pour créer une identité managée par l’utilisateur à utiliser dans votre configuration d’écriture à distance, consultez Gérer les identités managées affectées par l’utilisateur.

Notez la valeur de clientId pour l’identité managée que vous avez créée. Cet ID est utilisé dans la configuration d'écriture à distance Prometheus.

Attribuer le rôle d'éditeur de métriques d'analyse à l'application

Sur la règle de collecte de données de l’espace de travail, attribuez à l’identité managée le rôle Éditeur des métriques de surveillance :

  1. Sur le volet de présentation de l’espace de travail Azure Monitor, sélectionnez le lien Règle de collecte de données.

    Capture d’écran montrant le lien vers une règle de collecte de données dans un volet d’espace de travail Azure Monitor.

  2. Sur la page de la règle de collecte de données, sélectionnez Contrôle d’accès (IAM).

  3. Sélectionnez Ajouter>Ajouter une attribution de rôle.

    Capture d’écran montrant l’ajout d’une attribution de rôle pour une règle de collecte de données.

  4. Recherchez et sélectionnez Éditeur de métriques de surveillance, puis sélectionnez Suivant.

    Capture d'écran présentant le menu d’attribution de rôle pour une règle de collecte de données.

  5. Sélectionnez Identité managée.

  6. Choisissez Sélectionner des membres.

  7. Dans la liste déroulante Identité managée, sélectionnez Identité managée affectée par l’utilisateur.

  8. Sélectionnez l’identité affectée par l’utilisateur que vous souhaitez utiliser, puis choisissez Sélectionner.

    Capture d’écran montrant la sélection des membres et une identité managée affectée par l’utilisateur pour une règle de collecte de données.

  9. Sélectionnez Vérifier + attribuer pour terminer l’attribution de rôle.

Affecter l’identité managée à une machine virtuelle ou à un groupe de machines virtuelles identiques

Important

Pour effectuer les étapes de cette section, vous devez disposer d’autorisations Propriétaire ou Administrateur de l’accès utilisateur pour la machine virtuelle ou le groupe de machines virtuelles identiques.

  1. Sur le Portail Azure, accédez à la page du cluster, de la machine virtuelle ou du groupe de machines virtuelles identiques.

  2. Sélectionnez Identité.

  3. Sélectionnez Utilisateur attribué.

  4. Sélectionnez Ajouter.

  5. Sélectionnez l’identité managée affectée par l’utilisateur que vous avez créée, puis sélectionnez Ajouter.

    Capture d’écran montrant le volet permettant d’ajouter une identité managée affectée par l’utilisateur.

Affecter l’identité managée pour Azure Kubernetes Service

Pour Azure Kubernetes Service, l’identité managée doit être affectée aux groupes de machines virtuelles identiques.

AKS crée un groupe de ressources contenant les groupes de machines virtuelles identiques. Le nom du groupe de ressources est au format MC_<resource group name>_<AKS cluster name>_<region>.

Pour chaque groupe de machines virtuelles identiques du groupe de ressources, affectez l’identité managée conformément aux étapes décrites dans la section précédente, Affecter l’identité managée à une machine virtuelle ou à un groupe de machines virtuelles identiques.

Configurer l’écriture à distance

L’écriture à distance est configurée dans le fichier de configuration de Prometheus prometheus.yml ou dans l’opérateur Prometheus.

Pour plus d’informations sur la configuration de l’écriture à distance, consultez l’article Prometheus.io : Configuration. Pour en savoir plus sur le réglage de la configuration de l’écriture à distance, consultez Réglage de l’écriture à distance.

Pour envoyer des données à votre espace de travail Azure Monitor, ajoutez la section suivante au fichier de configuration (prometheus.yml) de votre instance Prometheus autogérée :

remote_write:   
  - url: "<metrics ingestion endpoint for your Azure Monitor workspace>"
# Microsoft Entra ID configuration.
# The Azure cloud. Options are 'AzurePublic', 'AzureChina', or 'AzureGovernment'.
    azuread:
      cloud: 'AzurePublic'
      managed_identity:
        client_id: "<client-id of the managed identity>"
      oauth:
        client_id: "<client-id from the Entra app>"
        client_secret: "<client secret from the Entra app>"
        tenant_id: "<Azure subscription tenant Id>"

Le paramètre url spécifie le point de terminaison d'ingestion des métriques de l'espace de travail Azure Monitor. Vous pouvez le trouver dans le volet de présentation de votre espace de travail Azure Monitor sur le Portail Azure.

Capture d’écran présentant le point de terminaison d’ingestion des métriques pour un espace de travail Azure Monitor.

Utilisez managed_identity ou oauth pour l’authentification d’application Microsoft Entra, en fonction de votre implémentation. Supprimez l'objet que vous n'utilisez pas.

Recherchez votre ID client pour l’identité managée à l’aide de la commande Azure CLI suivante :

az identity list --resource-group <resource group name>

Pour plus d'informations, consultez liste d'identité az.

Pour rechercher votre client pour l’authentification d’identité managée sur le portail, accédez à la page Identités managées sur le Portail Azure et sélectionnez le nom d’identité approprié. Copiez la valeur de l’ID client dans le volet Vue d’ensemble de l’identité managée.

Capture d’écran montrant l’ID client dans le volet de présentation de l’identité managée.

Pour rechercher l’ID client de l’application Microsoft Entra ID, utilisez la commande Azure CLI suivante (ou consultez la première étape de la section précédente, Écriture à distance à l’aide de l’authentification d’application Microsoft Entra) :

$ az ad app list --display-name < application name>

Pour plus d'informations, consultez liste d'application az ad.

Remarque

Après avoir modifié le fichier de configuration, redémarrez Prometheus pour appliquer les modifications.

Vérifier que les données d'écriture à distance circulent

Utilisez les méthodes suivantes pour vérifier que les données Prometheus sont envoyées à votre espace de travail Azure Monitor.

Explorateur de métriques Azure Monitor avec PromQL

Pour vérifier si les métriques circulent vers l'espace de travail Azure Monitor, à partir de votre espace de travail Azure Monitor dans le portail Azure, sélectionnez Métriques. Utilisez l’explorateur de métriques avec Prometheus Query Language (PromQL) pour interroger les métriques que vous attendez de l’environnement Prometheus autogéré. Pour obtenir plus d’informations, consultez Explorateur de métriques Azure Monitor avec PromQL.

Explorateur Prometheus dans l’espace de travail Azure Monitor

L’explorateur Prometheus offre un moyen pratique d’interagir avec les métriques Prometheus au sein de votre environnement Azure, rendant ainsi la surveillance et la résolution des problèmes plus efficaces. Pour utiliser l’explorateur Prometheus, accédez à votre espace de travail Azure Monitor sur le Portail Azure et sélectionnez Explorateur Prometheus. Vous pouvez alors interroger les métriques que vous attendez de l’environnement Prometheus autogéré.

Pour plus d’informations, consultez Interroger les métriques Prometheus avec les classeurs Azure.

Grafana

Utilisez les requêtes PromQL dans Grafana pour vérifier que les résultats retournent les données attendues. Pour configurer Grafana, consultez l’article sur la configuration de Grafana avec Prometheus géré.

Résoudre les problèmes d’écriture à distance

Si les données distantes n’apparaissent pas dans votre espace de travail Azure Monitor, consultez l’article Résoudre les problèmes d’écriture à distance pour connaître les problèmes courants et les solutions.