Prometheus-gegevens verzenden naar Azure Monitor met behulp van door Microsoft Entra beheerde identiteitsverificatie (preview)
In dit artikel wordt beschreven hoe u externe schrijfbewerkingen instelt voor de beheerde Azure Monitor-service voor Prometheus met behulp van verificatie van door Microsoft Entra pod beheerde identiteiten (preview).
Notitie
De sidecarcontainer voor extern schrijven die in dit artikel wordt beschreven, moet alleen worden ingesteld met behulp van de volgende stappen en alleen als voor het AKS-cluster (Azure Kubernetes Service) al een Microsoft Entra-pod is ingeschakeld. Door Microsoft Entra beheerde identiteiten zijn afgeschaft om te worden vervangen door Microsoft Entra Workload-ID. U wordt aangeraden Microsoft Entra Workload-ID verificatie te gebruiken.
Vereisten
Ondersteunde versies
Prometheus-versies die groter zijn dan v2.45 zijn vereist voor verificatie van beheerde identiteiten.
Azure Monitor-werkruimte
Dit artikel bevat informatie over het verzenden van metrische Prometheus-gegevens naar een Azure Monitor-werkruimte. Zie Een Azure Monitor-werkruimte beheren om een Azure Monitor-werkruimte te maken.
Machtigingen
Beheerdersmachtigingen voor het cluster of de resource zijn vereist om de stappen in dit artikel uit te voeren.
Een toepassing instellen voor door Microsoft Entra beheerde identiteit
Het proces voor het instellen van extern schrijven van Prometheus voor een toepassing met behulp van door Microsoft Entra beheerde identiteitsverificatie omvat het voltooien van de volgende taken:
- Registreer een door de gebruiker toegewezen beheerde identiteit met Microsoft Entra-id.
- Wijs de rollen Managed Identity Operator en Virtual Machine Contributor toe aan de beheerde identiteit.
- Wijs de rol Monitoring Metrics Publisher toe aan de door de gebruiker toegewezen beheerde identiteit.
- Maak een Azure-identiteitsbinding.
- Voeg het label aadpodidbinding toe aan de Prometheus-pod.
- Implementeer een sidecar-container om externe schrijfbewerkingen in te stellen.
De taken worden beschreven in de volgende secties.
Een beheerde identiteit registreren bij Microsoft Entra-id
Maak een door de gebruiker toegewezen beheerde identiteit of registreer een bestaande door de gebruiker toegewezen beheerde identiteit.
Zie Schrijf op afstand instellen voor een beheerde service voor Prometheus met behulp van verificatie van beheerde identiteiten voor Azure Monitor voor meer informatie over het maken van een beheerde identiteit.
De rollen Managed Identity Operator en Inzender voor virtuele machines toewijzen aan de beheerde identiteit
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>
De knooppuntresourcegroep van het AKS-cluster bevat resources die u in andere stappen in dit proces gebruikt. Deze resourcegroep heeft de naam MC_<AKS-RESOURCE-GROUP>_<AKS-CLUSTER-NAME>_<REGION>
. U vindt de naam van de resourcegroep met behulp van het menu Resourcegroepen in Azure Portal.
De rol Monitoring Metrics Publisher toewijzen aan de beheerde identiteit
az role assignment create --role "Monitoring Metrics Publisher" --assignee <managed identity clientID> --scope <NodeResourceGroupResourceId>
Een Azure-identiteitsbinding maken
De door de gebruiker toegewezen beheerde identiteit vereist een identiteitsbinding voor de identiteit die moet worden gebruikt als een door pod beheerde identiteit.
Kopieer de volgende YAML naar het bestand aadpodidentitybinding.yaml :
apiVersion: "aadpodidentity.k8s.io/v1"
kind: AzureIdentityBinding
metadata:
name: demo1-azure-identity-binding
spec:
AzureIdentity: “<AzureIdentityName>”
Selector: “<AzureIdentityBindingSelector>”
Voer de volgende opdracht uit:
kubectl create -f aadpodidentitybinding.yaml
Voeg het label aadpodidbinding toe aan de Prometheus-pod
Het aadpodidbinding
label moet worden toegevoegd aan de Prometheus-pod om de door pod beheerde identiteit van kracht te laten worden. U kunt het label toevoegen door het bestand deployment.yaml bij te werken of door labels in te voegen wanneer u de sidecarcontainer implementeert, zoals beschreven in de volgende sectie.
Een sidecar-container implementeren om externe schrijfbewerkingen in te stellen
Kopieer de volgende YAML en sla deze op in een bestand. De YAML gebruikt poort 8081 als de luisterpoort. Als u een andere poort gebruikt, wijzigt u die waarde in de 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>
Vervang de volgende waarden in de YAML:
Weergegeven als Beschrijving <AKS-CLUSTER-NAME>
De naam van uw AKS-cluster. <CONTAINER-IMAGE-VERSION>
mcr.microsoft.com/azuremonitor/containerinsights/ciprod/prometheus-remote-write/images:prom-remotewrite-20240617.1
De versie van de externe schrijfcontainerinstallatiekopieën.<INGESTION-URL>
De waarde voor het opname-eindpunt voor metrische gegevens op de overzichtspagina voor de Azure Monitor-werkruimte. <MANAGED-IDENTITY-CLIENT-ID>
De waarde voor client-id op de pagina Overzicht voor de beheerde identiteit. <CLUSTER-NAME>
De naam van het cluster waarop Prometheus wordt uitgevoerd. Belangrijk
Voeg voor de Azure Government-cloud de volgende omgevingsvariabelen toe in de
env
sectie van het YAML-bestand:- name: INGESTION_AAD_AUDIENCE value: https://monitor.azure.us/
Gebruik Helm om het YAML-bestand toe te passen en uw Prometheus-configuratie bij te werken:
# 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>
Verificatie en probleemoplossing
Zie Problemen met externe schrijfbewerkingen en beheerde Azure Monitor-service voor externe schrijfbewerkingen voor Prometheus voor informatie over verificatie en probleemoplossing.
Volgende stappen
- Metrische Prometheus-gegevens verzamelen van een AKS-cluster
- Meer informatie over beheerde Azure Monitor-service voor Prometheus
- Extern schrijven in beheerde Azure Monitor-service voor Prometheus
- Prometheus-gegevens verzenden naar Azure Monitor met behulp van Microsoft Entra-verificatie
- Prometheus-gegevens verzenden naar Azure Monitor met behulp van verificatie van beheerde identiteiten
- Prometheus-gegevens verzenden naar Azure Monitor met behulp van Microsoft Entra Workload-ID (preview)-verificatie