Service géré pour l’écriture à distance Prometheus Azure Monitor
Le service managé Azure Monitor pour Prometheus est destiné à remplacer Prometheus auto-géré afin que vous n’ayez pas besoin de gérer un serveur Prometheus dans vos clusters Kubernetes. Vous pouvez également choisir d’utiliser le service managé pour centraliser les données à partir de clusters Prometheus auto-gérés pour la conservation des données à long terme et créer une vue centralisée sur vos clusters. Dans ce cas, vous pouvez utiliser remote_write pour envoyer des données de votre Prometheus auto-géré dans le service managé Azure.
Architecture
Vous pouvez configurer Prometheus s’exécutant sur votre cluster Kubernetes pour écrire à distance dans l’espace de travail Azure Monitor. Actuellement, l’identité managée affectée par l’utilisateur ou l’application Microsoft Entra ID sont les types d’authentification pris en charge à l’aide de la configuration d’écriture à distance Prometheus pour ingérer des métriques dans l’espace de travail Azure Monitor.
Azure Monitor fournit également un conteneur de proxy inverse (conteneur annexe Azure Monitor) qui fournit une abstraction pour l’ingestion de métriques d’écriture distante Prometheus et aide à authentifier les paquets.
Nous vous recommandons de configurer l’écriture à distance directement dans votre configuration Prometheus auto-gérée s’exécutant dans votre environnement. Le conteneur de voitures latérales Azure Monitor peut être utilisé si votre authentification préférée n’est pas prise en charge par le biais d’une configuration directe.
Versions prises en charge
- Les versions Prometheus supérieures à la version 2.45 sont requises pour l'authentification d'identité managée.
- Les versions de Prometheus ultérieures à la version 2.48 sont requises pour l’authentification avec l’application Microsoft Entra ID.
Configurer l’écriture à distance
La configuration de l’écriture à distance dépend de la configuration de votre cluster et du type d’authentification que vous utilisez.
- L’identité managée est recommandée pour le service Azure Kubernetes (AKS) et le cluster Kubernetes avec Azure Arc activé.
- Microsoft Entra ID peut être utilisé pour le service Azure Kubernetes (AKS) et le cluster Kubernetes avec Azure Arc. Il est requis pour le cluster Kubernetes s’exécutant dans un autre cloud ou local.
Pour plus d’informations sur la configuration de l’écriture à distance pour l’identité managée affectée par l’utilisateur et l’application Microsoft Entra ID, consultez Configurer l’écriture à distance sur Kubernetes pour l’opérateur Prometheus. Cette option peut être utilisée pour l’exécution de Prometheus auto-gérée dans n’importe quel environnement.
L’écriture à distance pour Prometheus sur les clusters Kubernetes peut également être configurée à l’aide d’un conteneur sidecar. Consultez les articles suivants pour plus d’informations sur la façon de configurer l’écriture à distance pour les clusters Kubernetes à l’aide d’un conteneur sidecar.
- Envoyer des données Prometheus d’AKS à Azure Monitor utilisant le conteneur side-car avec l’authentification avec une identité managée
- Envoyer des données Prometheus d’AKS à Azure Monitor utilisant le conteneur side-car avec l’authentification Microsoft Entra ID
- Envoyer des données Prometheus à Azure Monitor utilisant le conteneur side-car avec l’authentification par ID de charge de travail Microsoft Entra ID
- [Déconseillé] Envoyer des données Prometheus à Azure Monitor utilisant le conteneur side-car avec l’authentification avec une identité managée par pod Microsoft Entra ID (préversion). Les identités managées par pod Microsoft Entra ont été déconseillées pour être remplacées par Microsoft Entra Workload ID. Nous vous recommandons d’utiliser l’authentification Microsoft Entra Workload ID.
Écriture à distance à partir de machines virtuelles et de groupes de machines virtuelles identiques
Vous pouvez envoyer des données Prometheus à partir de machines virtuelles et de groupes de machines virtuelles identiques à des espaces de travail Azure Monitor à l’aide de l’écriture à distance. Les serveurs peuvent être gérés par Azure ou être situés dans un autre environnement. Pour plus d’informations, consultez l’article Envoyer des métriques Prometheus de machines virtuelles à un espace de travail Azure Monitor.
Vérifier que l’écriture à distance fonctionne correctement
Utilisez les méthodes suivantes pour vérifier que les données Prometheus sont envoyées à votre espace de travail Azure Monitor.
Commandes Kubectl
Utilisez la commande suivante pour afficher les journaux du conteneur side-car. Les données d’écriture à distance circulent si la sortie a une valeur différente de zéro pour avgBytesPerRequest
et avgRequestDuration
.
kubectl logs <Prometheus-Pod-Name> <Azure-Monitor-Side-Car-Container-Name> --namespace <namespace-where-Prometheus-is-running>
# example: kubectl logs prometheus-prometheus-kube-prometheus-prometheus-0 prom-remotewrite --namespace monitoring
La sortie de cette commande a le format suivant :
time="2022-11-02T21:32:59Z" level=info msg="Metric packets published in last 1 minute" avgBytesPerRequest=19713 avgRequestDurationInSec=0.023 failedPublishing=0 successfullyPublished=122
Azure Monitor Metrics Explorer 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, puis sélectionnez Prometheus Explorer pour interroger les métriques attendues de l’environnement Prometheus autogéré. Pour plus d’informations, consultez l’article Prometheus Explorer.
Grafana
Utilisez des requêtes PromQL dans Grafana et vérifiez que les résultats retournent les données attendues. Pour plus d’informations sur la configuration du service géré Grafana pour Azure pour Prometheus, consultez l’article Utiliser le service géré Azure Monitor pour Prometheus comme source de données pour Grafana avec l’identité système managée.
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.