Résoudre les problèmes d’écriture à distance
Cet article décrit comment résoudre des problèmes d’écriture à distance dans le service managé Azure Monitor pour Prometheus. Pour plus d’informations sur l’écriture à distance, consultez Écriture à distance dans le service managé Azure Monitor pour Prometheus.
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.
Erreur HTTP 403 dans le journal Prometheus
L’attribution du rôle prend environ 30 minutes. Pendant ce temps, vous pouvez voir une erreur HTTP 403 dans le journal Prometheus. Vérifiez que vous avez configuré correctement l’identité managée ou l’application Microsoft Entra ID avec le rôle Monitoring Metrics Publisher
dans la règle de collecte de données de l’espace de travail. Si la configuration est correcte, attendez 30 minutes pour que l’attribution de rôle prenne effet.
Aucune donnée Kubernetes ne circule
Si les données distantes ne circulent pas, exécutez la commande suivante pour rechercher des erreurs dans le conteneur d’écriture distant.
kubectl --namespace <Namespace> describe pod <Prometheus-Pod-Name>
Le conteneur redémarre à plusieurs reprises
Un conteneur qui redémarre régulièrement est probablement dû à une mauvaise configuration du conteneur. Exécutez la commande suivante pour afficher les valeurs de configuration définies pour le conteneur. Vérifier les valeurs de configuration notamment AZURE_CLIENT_ID
et IDENTITY_TYPE
.
kubectl get pod <Prometheus-Pod-Name> -o json | jq -c '.spec.containers[] | select( .name | contains("<Azure-Monitor-Side-Car-Container-Name>"))'
La sortie de cette commande a le format suivant :
{"env":[{"name":"INGESTION_URL","value":"https://my-azure-monitor-workspace.eastus2-1.metrics.ingest.monitor.azure.com/dataCollectionRules/dcr-00000000000000000/streams/Microsoft-PrometheusMetrics/api/v1/write?api-version=2021-11-01-preview"},{"name":"LISTENING_PORT","value":"8081"},{"name":"IDENTITY_TYPE","value":"userAssigned"},{"name":"AZURE_CLIENT_ID","value":"00000000-0000-0000-0000-00000000000"}],"image":"mcr.microsoft.com/azuremonitor/prometheus/promdev/prom-remotewrite:prom-remotewrite-20221012.2","imagePullPolicy":"Always","name":"prom-remotewrite","ports":[{"containerPort":8081,"name":"rw-port","protocol":"TCP"}],"resources":{},"terminationMessagePath":"/dev/termination-log","terminationMessagePolicy":"File","volumeMounts":[{"mountPath":"/var/run/secrets/kubernetes.io/serviceaccount","name":"kube-api-access-vbr9d","readOnly":true}]}
Quotas et limites d’ingestion
Lors de la configuration de l’écriture distante Prometheus pour envoyer des données à un espace de travail Azure Monitor, vous commencez généralement par utiliser le point de terminaison d’écriture distant affiché dans la page vue d’ensemble de l’espace de travail Azure Monitor. Ce point de terminaison implique une règle de collecte de données générée par le système (DCR) et un point de terminaison de collecte de données (DCE). Ces ressources ont des limites d’ingestion. Pour plus d’informations sur les limites d’ingestion, consultez Limites du service Azure Monitor. Lorsque vous configurez l’écriture à distance pour plusieurs clusters envoyant des données au même point de terminaison, vous pouvez atteindre ces limites. Envisagez de créer des contrôleurs de domaine et des contrôleurs de domaine supplémentaires pour distribuer la charge d’ingestion sur plusieurs points de terminaison. Cette approche permet d’optimiser les performances et garantit une gestion efficace des données. Pour plus d’informations sur la création de contrôleurs de domaine et de contrôleurs de domaine, consultez comment créer des points de terminaison de collecte de données personnalisés (DCE) et des règles de collecte de données personnalisées (DCR) pour un espace de travail Azure Monitor (AMW) existant pour ingérer les métriques Prometheus.