Skicka Prometheus-data till Azure Monitor med hjälp av Microsoft Entra-poddhanterad identitetsautentisering (förhandsversion)
Den här artikeln beskriver hur du konfigurerar fjärrskrivning för Azure Monitor-hanterad tjänst för Prometheus med hjälp av Microsoft Entra-poddhanterad identitetsautentisering (förhandsversion).
Kommentar
Den sidovagnscontainer för fjärrskrivning som beskrivs i den här artikeln bör endast konfigureras med hjälp av följande steg, och endast om AkS-klustret (Azure Kubernetes Service) redan har en Microsoft Entra-podd aktiverad. Microsoft Entra-poddhanterade identiteter har blivit inaktuella för att ersättas av Microsoft Entra-arbetsbelastnings-ID. Vi rekommenderar att du använder autentisering med Microsoft Entra-arbetsbelastnings-ID.
Förutsättningar
Versioner som stöds
Prometheus-versioner som är större än v2.45 krävs för hanterad identitetsautentisering.
Azure Monitor-arbetsyta
Den här artikeln beskriver hur du skickar Prometheus-mått till en Azure Monitor-arbetsyta. Information om hur du skapar en Azure Monitor-arbetsyta finns i Hantera en Azure Monitor-arbetsyta.
Behörigheter
Administratörsbehörigheter för klustret eller resursen krävs för att slutföra stegen i den här artikeln.
Konfigurera ett program för Microsoft Entra-poddhanterad identitet
Processen för att konfigurera Prometheus fjärrskrivning för ett program med hjälp av Microsoft Entra poddhanterad identitetsautentisering innebär att du utför följande uppgifter:
- Registrera en användartilldelad hanterad identitet med Microsoft Entra-ID.
- Tilldela rollerna Hanterad identitetsoperator och Virtuell datordeltagare till den hanterade identiteten.
- Tilldela rollen Monitoring Metrics Publisher till den användartilldelade hanterade identiteten.
- Skapa en Azure-identitetsbindning.
- Lägg till etiketten aadpodidbinding i Prometheus-podden.
- Distribuera en sidovagnscontainer för att konfigurera fjärrskrivning.
Uppgifterna beskrivs i följande avsnitt.
Registrera en hanterad identitet med Microsoft Entra-ID
Skapa en användartilldelad hanterad identitet eller registrera en befintlig användartilldelad hanterad identitet.
Information om hur du skapar en hanterad identitet finns i Konfigurera fjärrskrivning för Azure Monitor-hanterad tjänst för Prometheus med hjälp av hanterad identitetsautentisering.
Tilldela rollerna Hanterad identitetsoperator och Virtuell datordeltagare till den hanterade identiteten
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>
Nodresursgruppen i AKS-klustret innehåller resurser som du använder i andra steg i den här processen. Den här resursgruppen har namnet MC_<AKS-RESOURCE-GROUP>_<AKS-CLUSTER-NAME>_<REGION>
. Du hittar resursgruppens namn med hjälp av menyn Resursgrupper i Azure Portal.
Tilldela rollen Monitoring Metrics Publisher till den hanterade identiteten
az role assignment create --role "Monitoring Metrics Publisher" --assignee <managed identity clientID> --scope <NodeResourceGroupResourceId>
Skapa en Azure-identitetsbindning
Den användartilldelade hanterade identiteten kräver en identitetsbindning för att identiteten ska användas som en poddhanterad identitet.
Kopiera följande YAML till filen aadpodidentitybinding.yaml :
apiVersion: "aadpodidentity.k8s.io/v1"
kind: AzureIdentityBinding
metadata:
name: demo1-azure-identity-binding
spec:
AzureIdentity: “<AzureIdentityName>”
Selector: “<AzureIdentityBindingSelector>”
Kör följande kommando:
kubectl create -f aadpodidentitybinding.yaml
Lägg till etiketten aadpodidbinding i Prometheus-podden
Etiketten aadpodidbinding
måste läggas till i Prometheus-podden för att den poddhanterade identiteten ska börja gälla. Du kan lägga till etiketten genom att uppdatera filen deployment.yaml eller genom att mata in etiketter när du distribuerar sidovagnscontainern enligt beskrivningen i nästa avsnitt.
Distribuera en sidovagnscontainer för att konfigurera fjärrskrivning
Kopiera följande YAML och spara den i en fil. YAML använder port 8081 som lyssnarport. Om du använder en annan port ändrar du det värdet i 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>
Ersätt följande värden i YAML:
Värde beskrivning <AKS-CLUSTER-NAME>
Namnet på ditt AKS-kluster. <CONTAINER-IMAGE-VERSION>
mcr.microsoft.com/azuremonitor/containerinsights/ciprod/prometheus-remote-write/images:prom-remotewrite-20240617.1
Containeravbildningsversionen för fjärrskrivning.<INGESTION-URL>
Värdet för slutpunkten för måttinmatning från sidan Översikt för Azure Monitor-arbetsytan. <MANAGED-IDENTITY-CLIENT-ID>
Värdet för klient-ID från sidan Översikt för den hanterade identiteten. <CLUSTER-NAME>
Namnet på klustret som Prometheus körs på. Viktigt!
För Azure Government-molnet lägger du till följande miljövariabler i
env
avsnittet i YAML-filen:- name: INGESTION_AAD_AUDIENCE value: https://monitor.azure.us/
Använd Helm för att tillämpa YAML-filen och uppdatera Prometheus-konfigurationen:
# 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>
Verifiering och felsökning
Information om verifiering och felsökning finns i Felsöka fjärrskrivning och Azure Monitor-hanterad tjänst för Prometheus fjärrskrivning.
Nästa steg
- Samla in Prometheus-mått från ett AKS-kluster
- Läs mer om azure monitor-hanterad tjänst för Prometheus
- Fjärrskrivning i Azure Monitor-hanterad tjänst för Prometheus
- Skicka Prometheus-data till Azure Monitor med hjälp av Microsoft Entra-autentisering
- Skicka Prometheus-data till Azure Monitor med hjälp av hanterad identitetsautentisering
- Skicka Prometheus-data till Azure Monitor med hjälp av Microsoft Entra-arbetsbelastnings-ID (förhandsversion)