Problembehandlung beim Remoteschreibzugriff
In diesem Artikel wird beschrieben, wie Sie die Problembehandlung für Remoteschreibzugriff im verwalteten Azure Monitor-Dienst für Prometheus durchführen. Weitere Informationen zu Remoteschreibzugriff finden Sie unter Remoteschreibzugriff im verwalteten Azure Monitor-Dienst für Prometeus.
Unterstützte Versionen
- Prometheus-Versionen größer als v2.45 sind für die Authentifizierung mit der verwalteten Identität erforderlich.
- Für die Microsoft Entra ID-Anwendungsauthentifizierung sind Prometheus-Versionen größer als v2.48 erforderlich.
HTTP 403-Fehler im Prometheus-Protokoll
Es dauert etwa 30 Minuten, bis die Zuweisung der Rolle wirksam wird. Während dieser Zeit wird möglicherweise ein HTTP 403-Fehler im Prometheus-Protokoll angezeigt. Überprüfen Sie, ob Sie die verwaltete Identität oder die Microsoft Entra ID-Anwendung ordnungsgemäß mit der Rolle Monitoring Metrics Publisher
in der Datensammlungsregel des Arbeitsbereichs konfiguriert haben. Wenn die Konfiguration korrekt ist, warten Sie 30 Minuten, bis die Rollenzuweisung wirksam wird.
Es fließen keine Kubernetes-Daten
Wenn Remotedaten nicht übermittelt werden, führen Sie den folgenden Befehl aus, um Fehler im Remoteschreibcontainer zu finden.
kubectl --namespace <Namespace> describe pod <Prometheus-Pod-Name>
Wiederholte Containerneustarts
Wenn der Container regelmäßig neu gestartet wird, ist er wahrscheinlich nicht ordnungsgemäß konfiguriert. Führen Sie den folgenden Befehl aus, um die für den Container festgelegten Konfigurationswerte anzuzeigen. Überprüfen Sie die Konfigurationswerte, insbesondere AZURE_CLIENT_ID
und IDENTITY_TYPE
.
kubectl get pod <Prometheus-Pod-Name> -o json | jq -c '.spec.containers[] | select( .name | contains("<Azure-Monitor-Side-Car-Container-Name>"))'
Die Ausgabe dieses Befehls hat das folgende 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}]}
Kontingente und Grenzwerte für Datenerfassung
Wenn Sie Prometheus-Remoteschreibzugriff konfigurieren, um Daten an einen Azure Monitor-Arbeitsbereich zu senden, beginnen Sie normalerweise mit dem Endpunkt des Remoteschreibzugriffs, der auf der Übersichtsseite des Azure Monitor-Arbeitsbereichs angezeigt wird. Dieser Endpunkt eine vom System generierte Datensammlungsregel (Data Collection Rule, DCR) und einen Datensammlungsendpunkt (Data Collection Endpoint, DCE). Diese Ressourcen haben Grenzwerte für die Datenerfassung. Weitere Informationen zu Datenerfassungsgrenzwerten finden Sie unter Azure Monitor-Diensteinschränkungen. Wenn Sie Remoteschreibzugriff für mehrere Cluster einrichten, die Daten an denselben Endpunkt senden, erreichen Sie diese Grenzwerte möglicherweise. Erwägen Sie das Erstellen zusätzlicher DCRs und DCEs, um die Aufnahmelast über mehrere Endpunkte zu verteilen. Dieser Ansatz trägt dazu bei, die Leistung zu optimieren und eine effiziente Datenverarbeitung sicherzustellen. Weitere Informationen zum Erstellen von DCRs und DCEs finden Sie unter Erstellen benutzerdefinierter Datensammlungsendpunkte (DCE) und benutzerdefinierter Datensammlungsregeln (DATA Collection Rule, DCR) für einen vorhandenen Azure Monitor Workspace (AMW) zum Erfassen von Prometheus-Metriken.