Condividi tramite


Risolvere i problemi di scrittura remota

Questo articolo descrive come risolvere i problemi di scrittura remota nel servizio gestito di Monitoraggio di Azure per Prometheus. Per altre informazioni sulla scrittura remota, vedere Scrittura remota nel servizio gestito di Monitoraggio di Azure per Prometheus.

Versioni supportate

  • Le versioni prometheus successive alla versione 2.45 sono necessarie per l'autenticazione dell'identità gestita.
  • Le versioni di Prometheus successive alla versione 2.48 sono necessarie per l'autenticazione dell'applicazione Microsoft Entra ID.

Errore HTTP 403 nel log di Prometheus

L'assegnazione del ruolo richiede circa 30 minuti. Durante questo periodo, è possibile che venga visualizzato un errore HTTP 403 nel log di Prometheus. Verificare di aver configurato correttamente l'identità gestita o l'applicazione Microsoft Entra ID con il Monitoring Metrics Publisher ruolo nella regola di raccolta dati dell'area di lavoro. Se la configurazione è corretta, attendere 30 minuti per rendere effettiva l'assegnazione di ruolo.

Non vengono trasmessi dati Kubernetes

Se i dati remoti non vengono trasmessi, eseguire il comando seguente per trovare gli errori nel contenitore di scrittura remota.

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

Il contenitore viene riavviato ripetutamente

È probabile che un contenitore venga riavviato regolarmente a causa di errori di configurazione del contenitore. Eseguire il comando seguente per visualizzare i valori di configurazione impostati per il contenitore. Verificare i valori di configurazione in particolare AZURE_CLIENT_ID e IDENTITY_TYPE.

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

L'output di questo comando ha il formato seguente:

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

Quote e limiti di inserimento

Quando si configura la scrittura remota di Prometheus per inviare dati a un'area di lavoro di Monitoraggio di Azure, in genere si inizia usando l'endpoint di scrittura remoto visualizzato nella pagina di panoramica dell'area di lavoro di Monitoraggio di Azure. Questo endpoint include una regola di raccolta dati generata dal sistema (DCR) e un endpoint di raccolta dati (DCE). Queste risorse hanno limiti di inserimento. Per altre informazioni sui limiti di inserimento, vedere Limiti del servizio Monitoraggio di Azure. Quando si configura la scrittura remota per più cluster che inviano dati allo stesso endpoint, è possibile raggiungere questi limiti. Prendere in considerazione la creazione di controller di dominio e controller di dominio aggiuntivi per distribuire il carico di inserimento tra più endpoint. Questo approccio consente di ottimizzare le prestazioni e garantire una gestione efficiente dei dati. Per altre informazioni sulla creazione di controller di dominio e controller di dominio, vedere come creare un endpoint di raccolta dati personalizzato (DCE) e una regola di raccolta dati personalizzata (DCR) per un'area di lavoro di Monitoraggio di Azure esistente per inserire le metriche di Prometheus.