Rozwiązywanie problemów z zdalnym zapisem

W tym artykule opisano sposób rozwiązywania problemów z zdalnym zapisem w usłudze Azure Monitor Managed Service for Prometheus. Aby uzyskać więcej informacji na temat zdalnego zapisu, zobacz Remote write in Azure Monitor Managed Service for Prometheus (Zdalne zapisywanie w usłudze Zarządzanej Azure Monitor dla rozwiązania Prometheus).

Obsługiwane wersje

  • Wersje prometheus większe niż wersja 2.45 są wymagane do uwierzytelniania tożsamości zarządzanej.
  • Wersje Prometheus większe niż wersja 2.48 są wymagane do uwierzytelniania aplikacji Entra ID firmy Microsoft.

Błąd HTTP 403 w dzienniku rozwiązania Prometheus

Przypisanie roli może potrwać około 30 minut. W tym czasie w dzienniku Prometheus może zostać wyświetlony błąd HTTP 403. Sprawdź, czy tożsamość zarządzana lub aplikacja Microsoft Entra ID poprawnie skonfigurowano z rolą Monitoring Metrics Publisher w regule zbierania danych obszaru roboczego. Jeśli konfiguracja jest poprawna, poczekaj 30 minut, aż przypisanie roli zostanie zastosowane.

Żadne dane platformy Kubernetes nie przepływają

Jeśli dane zdalne nie przepływają, uruchom następujące polecenie, aby znaleźć błędy w kontenerze zdalnego zapisu.

kubectl --namespace <Namespace> describe pod <Prometheus-Pod-Name>

Ponowne uruchamianie kontenera wielokrotnie

Kontener regularnie uruchamiany ponownie jest prawdopodobnie spowodowany błędną konfiguracją kontenera. Uruchom następujące polecenie, aby wyświetlić wartości konfiguracji ustawione dla kontenera. Sprawdź wartości konfiguracji szczególnie AZURE_CLIENT_ID i IDENTITY_TYPE.

kubectl get pod <Prometheus-Pod-Name> -o json | jq -c  '.spec.containers[] | select( .name | contains("<Azure-Monitor-Side-Car-Container-Name>"))'

Dane wyjściowe tego polecenia mają następujący format:

{"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}]}

Limity przydziału i limity pozyskiwania

Podczas konfigurowania zdalnego zapisu w usłudze Prometheus w celu wysyłania danych do obszaru roboczego usługi Azure Monitor zazwyczaj rozpoczyna się od korzystania z zdalnego punktu końcowego zapisu wyświetlanego na stronie przeglądu obszaru roboczego usługi Azure Monitor. Ten punkt końcowy obejmuje regułę zbierania danych wygenerowaną przez system (DCR) i punkt końcowy zbierania danych (DCE). Te zasoby mają limity pozyskiwania. Aby uzyskać więcej informacji na temat limitów pozyskiwania, zobacz Limity usługi Azure Monitor. Podczas konfigurowania zdalnego zapisu dla wielu klastrów wysyłających dane do tego samego punktu końcowego można osiągnąć te limity. Rozważ utworzenie dodatkowych kontrolerów domeny i kontrolerów domeny w celu rozłożenia obciążenia pozyskiwania między wiele punktów końcowych. Takie podejście pomaga zoptymalizować wydajność i zapewnić wydajną obsługę danych. Aby uzyskać więcej informacji na temat tworzenia kontrolerów DCR i kontrolerów domeny, zobacz tworzenie niestandardowych punktów końcowych zbierania danych (DCE) i niestandardowych reguł zbierania danych (DCR) dla istniejącego obszaru roboczego usługi Azure Monitor (AMW) w celu pozyskiwania metryk Rozwiązania Prometheus.