Inviare dati Prometheus a Monitoraggio di Azure usando l'autenticazione dell'identità gestita dal pod di Microsoft Entra (anteprima)
Questo articolo descrive come configurare la scrittura remota per il servizio gestito di Monitoraggio di Azure per Prometheus usando l'autenticazione dell'identità gestita dal pod di Microsoft Entra (anteprima).
Nota
Il contenitore sidecar di scrittura remoto descritto in questo articolo deve essere configurato solo usando la procedura seguente e solo se il cluster servizio Azure Kubernetes (AKS) dispone già di un pod Microsoft Entra abilitato. Le identità gestite dai pod di Microsoft Entra sono state deprecate per essere sostituite da ID dei carichi di lavoro di Microsoft Entra. È consigliabile usare l'autenticazione ID dei carichi di lavoro di Microsoft Entra.
Prerequisiti
Versioni supportate
Le versioni prometheus successive alla versione 2.45 sono necessarie per l'autenticazione dell'identità gestita.
Area di lavoro di Monitoraggio di Azure
Questo articolo illustra l'invio di metriche prometheus a un'area di lavoro di Monitoraggio di Azure. Per creare un'area di lavoro di Monitoraggio di Azure, vedere Gestire un'area di lavoro di Monitoraggio di Azure.
Autorizzazioni
Amministrazione istrator sono necessarie autorizzazioni per il cluster o la risorsa per completare i passaggi descritti in questo articolo.
Configurare un'applicazione per l'identità gestita dal pod Microsoft Entra
Il processo di configurazione della scrittura remota prometheus per un'applicazione tramite l'autenticazione dell'identità gestita dal pod di Microsoft Entra comporta il completamento delle attività seguenti:
- Registrare un'identità gestita assegnata dall'utente con l'ID Microsoft Entra.
- Assegnare i ruoli Operatore identità gestita e Collaboratore macchina virtuale all'identità gestita.
- Assegnare il ruolo Monitoring Metrics Publisher all'identità gestita assegnata dall'utente.
- Creare un'associazione di identità di Azure.
- Aggiungere l'etichetta aadpodidbinding al pod Prometheus.
- Distribuire un contenitore sidecar per configurare la scrittura remota.
Le attività sono descritte nelle sezioni seguenti.
Registrare un'identità gestita con Microsoft Entra ID
Creare un'identità gestita assegnata dall'utente o registrare un'identità gestita assegnata dall'utente esistente.
Per informazioni sulla creazione di un'identità gestita, vedere Configurare la scrittura remota per il servizio gestito di Monitoraggio di Azure per Prometheus usando l'autenticazione dell'identità gestita.
Assegnare i ruoli Operatore identità gestita e Collaboratore macchina virtuale all'identità gestita
az role assignment create --role "Managed Identity Operator" --assignee <managed identity clientID> --scope <NodeResourceGroupResourceId>
az role assignment create --role "Virtual Machine Contributor" --assignee <managed identity clientID> --scope <Node ResourceGroup Id>
Il gruppo di risorse del nodo del cluster del servizio Azure Kubernetes contiene risorse usate in altri passaggi di questo processo. Questo gruppo di risorse ha il nome MC_<AKS-RESOURCE-GROUP>_<AKS-CLUSTER-NAME>_<REGION>
. È possibile trovare il nome del gruppo di risorse usando il menu Gruppi di risorse nel portale di Azure.
Assegnare il ruolo di server di pubblicazione delle metriche di monitoraggio all'identità gestita
az role assignment create --role "Monitoring Metrics Publisher" --assignee <managed identity clientID> --scope <NodeResourceGroupResourceId>
Creare un'associazione di identità di Azure
L'identità gestita assegnata dall'utente richiede un'associazione di identità per l'identità da usare come identità gestita da pod.
Copiare il codice YAML seguente nel file aadpodidentitybinding.yaml :
apiVersion: "aadpodidentity.k8s.io/v1"
kind: AzureIdentityBinding
metadata:
name: demo1-azure-identity-binding
spec:
AzureIdentity: “<AzureIdentityName>”
Selector: “<AzureIdentityBindingSelector>”
Esegui questo comando:
kubectl create -f aadpodidentitybinding.yaml
Aggiungere l'etichetta aadpodidbinding al pod Prometheus
L'etichetta aadpodidbinding
deve essere aggiunta al pod Prometheus per rendere effettiva l'identità gestita dal pod. È possibile aggiungere l'etichetta aggiornando il file deployment.yaml o inserendo etichette quando si distribuisce il contenitore sidecar come descritto nella sezione successiva.
Distribuire un contenitore sidecar per configurare la scrittura remota
Copiare il codice YAML seguente e salvarlo in un file. YAML usa la porta 8081 come porta di ascolto. Se si usa una porta diversa, modificare tale valore in YAML.
prometheus: prometheusSpec: podMetadata: labels: aadpodidbinding: <AzureIdentityBindingSelector> externalLabels: cluster: <AKS-CLUSTER-NAME> remoteWrite: - url: 'http://localhost:8081/api/v1/write' containers: - name: prom-remotewrite image: <CONTAINER-IMAGE-VERSION> imagePullPolicy: Always ports: - name: rw-port containerPort: 8081 livenessProbe: httpGet: path: /health port: rw-port initialDelaySeconds: 10 timeoutSeconds: 10 readinessProbe: httpGet: path: /ready port: rw-port initialDelaySeconds: 10 timeoutSeconds: 10 env: - name: INGESTION_URL value: <INGESTION_URL> - name: LISTENING_PORT value: '8081' - name: IDENTITY_TYPE value: userAssigned - name: AZURE_CLIENT_ID value: <MANAGED-IDENTITY-CLIENT-ID> # Optional parameter - name: CLUSTER value: <CLUSTER-NAME>
Sostituire i valori seguenti in YAML:
Valore Descrizione <AKS-CLUSTER-NAME>
Nome del cluster del servizio Azure Kubernetes. <CONTAINER-IMAGE-VERSION>
mcr.microsoft.com/azuremonitor/containerinsights/ciprod/prometheus-remote-write/images:prom-remotewrite-20240617.1
Versione dell'immagine del contenitore di scrittura remota.<INGESTION-URL>
Valore per Endpoint di inserimento metriche dalla pagina Panoramica per l'area di lavoro monitoraggio di Azure. <MANAGED-IDENTITY-CLIENT-ID>
Valore per ID client dalla pagina Panoramica per l'identità gestita. <CLUSTER-NAME>
Nome del cluster su cui è in esecuzione Prometheus. Importante
Per Azure per enti pubblici cloud, aggiungere le variabili di ambiente seguenti nella
env
sezione del file YAML:- name: INGESTION_AAD_AUDIENCE value: https://monitor.azure.us/
Usare Helm per applicare il file YAML e aggiornare la configurazione di Prometheus:
# set the context to your cluster az aks get-credentials -g <aks-rg-name> -n <aks-cluster-name> # use Helm to update your remote write config helm upgrade -f <YAML-FILENAME>.yml prometheus prometheus-community/kube-prometheus-stack --namespace <namespace where Prometheus pod resides>
Verifica e risoluzione dei problemi
Per informazioni sulla verifica e sulla risoluzione dei problemi, vedere Risoluzione dei problemi relativi alla scrittura remota e al servizio gestito di Monitoraggio di Azure per la scrittura remota di Prometheus.
Passaggi successivi
- Raccogliere le metriche Prometheus da un cluster del servizio Azure Kubernetes
- Altre informazioni sul servizio gestito di Monitoraggio di Azure per Prometheus
- Scrittura remota nel servizio gestito di Monitoraggio di Azure per Prometheus
- Inviare dati Prometheus a Monitoraggio di Azure usando l'autenticazione Microsoft Entra
- Inviare dati Prometheus a Monitoraggio di Azure usando l'autenticazione dell'identità gestita
- Inviare dati Prometheus a Monitoraggio di Azure usando l'autenticazione ID dei carichi di lavoro di Microsoft Entra (anteprima)
Commenti e suggerimenti
https://aka.ms/ContentUserFeedback.
Presto disponibile: Nel corso del 2024 verranno gradualmente disattivati i problemi di GitHub come meccanismo di feedback per il contenuto e ciò verrà sostituito con un nuovo sistema di feedback. Per altre informazioni, vedereInvia e visualizza il feedback per