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 analyser 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. Installez Prometheus sur vos serveurs et configurez l'écriture à distance pour envoyer des métriques à un espace de travail Azure Monitor.

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
  • les machines virtuelles Azure Arc
  • Azure Kubernetes Service (AKS)

Pour configurer l’écriture à distance pour des ressources managées par Azure, consultez Écriture à distance en utilisant une identité managée affectée par l’utilisateur.

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

Si vous avez des machines virtuelles dans des environnements non-Azure et que vous ne voulez pas les intégrer à Azure Arc, installez Prometheus automanagé et configurez l’écriture à distance en utilisant l’authentification d’application Microsoft Entra ID. Pour plus d'informations, consultez Écriture à distance à l'aide de l'authentification d'application Microsoft Entra ID.

L’intégration aux services avec Azure Arc vous permet de gérer et de configurer des machines virtuelles non-Azure dans Azure. Une fois l'intégration effectuée, configurez Écriture à distance à l'aide d'authentification d'identité managée affectée par l'utilisateur. Pour plus d’informations sur l’intégration de machines virtuelles à des serveurs avec Azure Arc, consultez Serveurs avec Azure Arc et Kubernetes avec Azure Arc.

Prérequis

Versions prises en charge

  • Les versions Prometheus supérieures à la version 2.45 sont requises pour l'authentification d'identité managée.
  • Les versions Prometheus supérieures à la version 2.48 sont requises pour l'authentification de l'application Microsoft Entra ID.

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 est en cours d'exécution, vous pouvez configurer l'écriture à distance pour utiliser l'identité managée affectée par l'utilisateur ou l'authentification de l'application Microsoft Entra ID pour envoyer des données à l'espace de travail Azure Monitor.

Utilisez le portail Azure ou l'interface CLI pour créer une identité managée affectée par l'utilisateur ou une application Microsoft Entra ID.

Écriture à distance à l'aide de l'authentification de l'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 Entra ID.

Pour configurer une identité managée affectée par l'utilisateur pour l'écriture à distance dans l'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 de 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

Dans la règle de collecte de données de l’espace de travail, attribuez le rôle Monitoring Metrics Publisher à l’identité managée.

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

    Capture d'écran présentant le lien de règle de collecte de données sur une page d'espace de travail Azure Monitor.

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

  3. Sélectionnez Ajouter, puis Ajouter une attribution de rôle. Capture d'écran présentant la règle de collecte de données.

  4. Recherchez et sélectionnez Éditeur de métriques d'analyse, puis sélectionnez Suivant. Capture d'écran présentant le menu Attribution de rôle pour une règle de collecte de données.

  5. Sélectionnez Identité managée.

  6. Sélectionnez Sélectionner des membres.

  7. Dans la liste déroulante Entité managée, Identité managée affectée par l'utilisateur.

  8. Sélectionnez l'identité affectée par l'utilisateur que vous souhaitez utiliser, puis cliquez sur Sélectionner.

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

    Capture d'écran présentant le menu Sélectionner des membres pour une règle de collecte de données.

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 d'accès utilisateur octroyées par le propriétaire ou l'administrateur, pour la machine virtuelle ou le groupe de machines virtuelles identiques.

  1. Dans 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 présentant la page Ajouter une identité managée affectée par l’utilisateur.

Affecter l’identité managée pour une instance Azure Kubernetes Service (AKS)

Pour les services Azure Kubernetes Service (AKS), 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.

Si vous exécutez l’opérateur Prometheus sur un cluster Kubernetes, suivez les étapes ci-dessous pour envoyer des données à votre espace de travail Azure Monitor.

  1. Si vous utilisez l’authentification Microsoft Entra ID, convertissez le secret à l’aide de l’encodage base64, puis appliquez le secret dans votre cluster Kubernetes. Enregistrez les éléments suivants dans un fichier yaml. Ignorez cette étape si vous utilisez une Identity Authentication managée.
apiVersion: v1
kind: Secret
metadata:
  name: remote-write-secret
  namespace: monitoring # Replace with namespace where Prometheus Operator is deployed. 
type: Opaque
data:
  password: <base64-encoded-secret>

Appliquer le secret.

# set context to your cluster 
az aks get-credentials -g <aks-rg-name> -n <aks-cluster-name> 

kubectl apply -f <remote-write-secret.yaml>
  1. Vous devez mettre à jour les valeurs de la section d’écriture distante dans l’opérateur Prometheus. Copiez l’élément suivant et enregistrez-le dans un fichier yaml. Pour connaître les valeurs du fichier yaml, consultez la section ci-dessous. Reportez-vous à la Documentation de l’opérateur Prometheus pour plus d’informations sur la spécification d’écriture à distance de l’espace de travail Azure Monitor dans l’opérateur Prometheus.
prometheus:
  prometheusSpec:
    remoteWrite:
    - url: "<metrics ingestion endpoint for your Azure Monitor workspace>"
      azureAd:
# AzureAD configuration.
# The Azure Cloud. Options are 'AzurePublic', 'AzureChina', or 'AzureGovernment'.
        cloud: 'AzurePublic'
        managedIdentity:
          clientId: "<clientId of the managed identity>"
        oauth:
          clientId: "<clientId of the Entra app>"
          clientSecret:
            name: remote-write-secret
            key: password
          tenantId: "<Azure subscription tenant Id>"
  1. Utilisez helm pour mettre à jour votre configuration d’écriture distante à l’aide du fichier yaml ci-dessus.
helm upgrade -f <YAML-FILENAME>.yml prometheus prometheus-community/kube-prometheus-stack --namespace <namespace where Prometheus Operator is deployed>

Le paramètre url spécifie le point de terminaison d'ingestion des métriques de l'espace de travail Azure Monitor. Vous trouverez ce point de terminaison sur la page de présentation de votre espace de travail Azure Monitor dans 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 de l'application Microsoft Entra ID, 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 dans le portail, accédez à la page Identités managées dans le portail Azure et sélectionnez le nom d'identité approprié. Copiez la valeur de l'ID client de la page Présentation de l'identité.

Capture d'écran présentant l'ID client sur la page de présentation de l'identité.

Pour rechercher l'ID client de l'application Microsoft Entra ID, utilisez l'interface CLI suivante ou consultez la première étape de la section Créer une application Microsoft Entra ID à l'aide du portail Azure.

$ 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 config, redémarrez Prometheus afin que les modifications s'appliquent.

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 pour interroger les métriques attendues à partir de l'environnement Prometheus autogéré. Pour plus d'informations, consultez Explorateur de métriques.

Explorateur Prometheus dans l’espace de travail Azure Monitor

Prometheus Explorer offre un moyen pratique d'interagir avec les métriques Prometheus au sein de votre environnement Azure, rendant ainsi l'analyse et la résolution des problèmes plus efficaces. Pour utiliser Prometheus Explorer, accédez à votre espace de travail Azure Monitor dans le portail Azure et sélectionnez Prometheus Explorer pour interroger les métriques attendues de l'environnement Prometheus autogéré. Pour plus d'informations, consultez Prometheus Explorer.

Grafana

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

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

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

Étapes suivantes