Condividi tramite


Risolvere i problemi di scrittura remota

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

Versioni supportate

  • È necessario disporre di Prometheus versione 2.45 o successive per poter eseguire l'autenticazione dell'identità gestita.
  • È necessario disporre di Prometheus versione 2.48 o successive per poter eseguire l'autenticazione a 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 ruolo Monitoring Metrics Publisher 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 individuare 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 al suo interno. 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>"))'

Il comando produce un output di quest formato:

{"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 l'invio di 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 e un endpoint di raccolta dati. Queste risorse presentano 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 (DCR) personalizzata per un'area di lavoro di Monitoraggio di Azure (AMW) esistente per inserire le metriche di Prometheus.