Dela via


Skicka Prometheus-mått från virtuella datorer, skalningsuppsättningar eller Kubernetes-kluster till en Azure Monitor-arbetsyta

Prometheus är inte begränsat till övervakning av Kubernetes-kluster. Använd Prometheus för att övervaka program och tjänster som körs på dina servrar, oavsett var de körs. Du kan till exempel övervaka program som körs på virtuella datorer, VM-skalningsuppsättningar eller till och med lokala servrar. Du kan också skicka Prometheus-mått till en Azure Monitor-arbetsyta från ditt självhanterade kluster och Prometheus-server. Installera prometheus på dina servrar och konfigurera fjärrskrivning för att skicka mått till en Azure Monitor-arbetsyta.

Den här artikeln beskriver hur du konfigurerar fjärrskrivning för att skicka data från en självhanterad Prometheus-instans till en Azure Monitor-arbetsyta.

Alternativ för fjärrskrivning

Självhanterad Prometheus kan köras i Azure- och icke-Azure-miljöer. Följande är autentiseringsalternativ för fjärrskrivning till Azure Monitor-arbetsyta baserat på miljön där Prometheus körs.

Azure-hanterade virtuella datorer, VM-skalningsuppsättningar och Kubernetes-kluster

Använd användartilldelad hanterad identitetsautentisering för tjänster som kör självhanterad Prometheus i en Azure-miljö. Azure-hanterade tjänster omfattar:

  • Azure Virtual Machines
  • Skalningsuppsättningar för virtuella Microsoft Azure-datorer
  • Azure Kubernetes Service (AKS)

Information om hur du konfigurerar fjärrskrivning för Azure-hanterade resurser finns i Fjärrskrivning med användartilldelad hanterad identitet.

Virtuella datorer och Kubernetes-kluster som körs i miljöer som inte är Azure-miljöer.

Om du har virtuella datorer eller ett Kubernetes-kluster i icke-Azure-miljöer, eller om du har registrerat dig för Azure Arc, installerar du självhanterad Prometheus och konfigurerar fjärrskrivning med microsoft Entra ID-programautentisering. Mer information finns i Fjärrskrivning med Microsoft Entra ID-programautentisering.

Med registrering till Azure Arc-aktiverade tjänster kan du hantera och konfigurera virtuella datorer som inte är Azure-datorer i Azure. Mer information om hur du registrerar virtuella datorer till Azure Arc-aktiverade servrar finns i Azure Arc-aktiverade servrar och Azure Arc-aktiverade Kubernetes. Arc-aktiverade tjänster stöder endast Microsoft Entra-ID-autentisering.

Kommentar

Systemtilldelad hanterad identitet stöds inte för fjärrskrivning till Azure Monitor-arbetsytor. Använd användartilldelad hanterad identitet eller Microsoft Entra ID-programautentisering.

Förutsättningar

Versioner som stöds

  • Prometheus-versioner som är större än v2.45 krävs för hanterad identitetsautentisering.
  • Prometheus-versioner som är större än v2.48 krävs för Microsoft Entra ID-programautentisering.

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 autentisering för fjärrskrivning

Beroende på miljön där Prometheus körs kan du konfigurera fjärrskrivning för att använda användartilldelad hanterad identitet eller Microsoft Entra ID-programautentisering för att skicka data till Azure Monitor-arbetsytan.

Använd Azure-portalen eller CLI för att skapa en användartilldelad hanterad identitet eller Etttra-ID-program.

Fjärrskrivning med användartilldelad hanterad identitetsautentisering

Användartilldelad hanterad identitetsautentisering kan användas i valfri Azure-hanterad miljö. Om prometheus-tjänsten körs i en icke-Azure-miljö kan du använda Microsoft Entra ID-programautentisering.

Utför följande steg för att konfigurera en användartilldelad hanterad identitet för fjärrskrivning till Azure Monitor-arbetsytan.

Skapa en användartilldelad hanterad identitet

Information om hur du skapar en användarhanterad identitet som ska användas i fjärrskrivningskonfigurationen finns i Hantera användartilldelade hanterade identiteter.

Observera värdet för den clientId hanterade identitet som du skapade. Det här ID:t används i Prometheus fjärrskrivningskonfiguration.

Tilldela utgivarrollen Övervakningsmått till programmet

I arbetsytans datainsamlingsregel tilldelar du Monitoring Metrics Publisher rollen till den hanterade identiteten.

  1. På sidan Översikt över Azure Monitor-arbetsyta väljer du länken Datainsamlingsregel .

    En skärmbild som visar länken för datainsamlingsregeln på en Azure Monitor-arbetsytesida.

  2. På sidan datainsamlingsregel väljer du Åtkomstkontroll (IAM).

  3. Välj Lägg till och Lägg till rolltilldelning. En skärmbild som visar datainsamlingsregeln.

  4. Sök efter och välj övervakningsmåttutgivare och välj sedan Nästa. En skärmbild som visar rolltilldelningsmenyn för en datainsamlingsregel.

  5. Välj Hanterad identitet.

  6. Välj Välj medlemmar.

  7. I listrutan Hanterad entitet, Användartilldelad hanterad identitet.

  8. Välj den användartilldelade identitet som du vill använda och klicka sedan på Välj.

  9. Välj Granska + tilldela för att slutföra rolltilldelningen.

    En skärmbild som visar menyn Välj medlemmar för en datainsamlingsregel.

Tilldela den hanterade identiteten till en vm-dator eller vm-skalningsuppsättning

Viktigt!

Om du vill slutföra stegen i det här avsnittet måste du ha administratörsbehörighet för ägare eller användare för vm- eller virtuell MAchine-skalningsuppsättning.

  1. I Azure-portalen går du till klustret, den virtuella datorn eller vm-skalningsuppsättningens sida.

  2. Välj Identitet.

  3. Välj Användartilldelade.

  4. Markera Lägga till.

  5. Välj den användartilldelade hanterade identiteten som du skapade och välj sedan Lägg till.

    En skärmbild som visar sidan Lägg till användartilldelad hanterad identitet.

Tilldela den hanterade identiteten för en Azure Kubernetes Service

För Azure Kubernetes-tjänster (AKS) måste den hanterade identiteten tilldelas till vm-skalningsuppsättningarna.

AKS skapar en resursgrupp som innehåller vm-skalningsuppsättningarna. Resursgruppens namn är i formatet MC_<resource group name>_<AKS cluster name>_<region>. För varje VM-skalningsuppsättning i resursgruppen tilldelar du den hanterade identiteten enligt stegen i föregående avsnitt, Tilldela den hanterade identiteten till en vm- eller vm-skalningsuppsättning.

Konfigurera fjärrskrivning

Fjärrskrivning konfigureras i Prometheus-konfigurationsfilen prometheus.ymleller i Prometheus-operatorn.

Mer information om hur du konfigurerar fjärrskrivning finns i artikeln Prometheus.io: Konfiguration. Mer information om hur du justerar fjärrskrivningskonfigurationen finns i Fjärrskrivningsjustering.

Om du kör Prometheus-operatorn i ett Kubernetes-kluster följer du stegen nedan för att skicka data till din Azure Monitor-arbetsyta.

  1. Om du använder Microsoft Entra-ID-autentisering konverterar du hemligheten med hjälp av base64-kodning och tillämpar sedan hemligheten i ditt Kubernetes-kluster. Spara följande i en yaml-fil. Hoppa över det här steget om du använder hanterad identitetsautentisering.
apiVersion: v1
kind: Secret
metadata:
  name: remote-write-secret
  namespace: monitoring # Replace with namespace where Prometheus Operator is deployed. 
type: Opaque
data:
  password: <base64-encoded-secret>

Använd hemligheten.

# set context to your cluster 
az aks get-credentials -g <aks-rg-name> -n <aks-cluster-name> 

kubectl apply -f <remote-write-secret.yaml>
  1. Du måste uppdatera värdena för fjärrskrivningsavsnittet i Prometheus-operatorn. Kopiera följande och spara det som en yaml-fil. Värdena för yaml-filen finns i avsnittet nedan. Mer information om fjärrskrivningsspecifikationen för Azure Monitor-arbetsytan i Prometheus-operatorn finns i Dokumentation om Prometheus-operatör.
prometheus:
  prometheusSpec:
    remoteWrite:
    - url: "<metrics ingestion endpoint for your Azure Monitor workspace>"
      azureAd:
# AzureAD configuration.
# The Azure Cloud. Options are 'AzurePublic', 'AzureChina', or 'AzureGovernment'.
        cloud: 'AzurePublic'
        managedIdentity:
          clientId: "<clientId of the managed identity>"
        oauth:
          clientId: "<clientId of the Entra app>"
          clientSecret:
            name: remote-write-secret
            key: password
          tenantId: "<Azure subscription tenant Id>"
  1. Använd helm för att uppdatera fjärrskrivningskonfigurationen med hjälp av yaml-filen ovan.
helm upgrade -f <YAML-FILENAME>.yml prometheus prometheus-community/kube-prometheus-stack --namespace <namespace where Prometheus Operator is deployed>

Parametern url anger slutpunkten för måttinmatning för Azure Monitor-arbetsytan. Den finns på sidan Översikt för din Azure Monitor-arbetsyta i Azure-portalen.

En skärmbild som visar slutpunkten för måttinmatning för en Azure Monitor-arbetsyta.

Använd antingen programautentiseringen managed_identity, eller oauth för Microsoft Entra ID, beroende på din implementering. Ta bort det objekt som du inte använder.

Hitta ditt klient-ID för den hanterade identiteten med hjälp av följande Azure CLI-kommando:

az identity list --resource-group <resource group name>

Mer information finns i az identity list (az identity list).

Om du vill hitta klienten för hanterad identitetsautentisering i portalen går du till sidan Hanterade identiteter i Azure-portalen och väljer relevant identitetsnamn. Kopiera värdet för klient-ID :t från sidan Identitetsöversikt .

En skärmbild som visar klient-ID:t på sidan Identitetsöversikt.

Om du vill hitta klient-ID:t för Microsoft Entra-ID-programmet använder du följande CLI eller ser det första steget i avsnittet Skapa ett Microsoft Entra-ID med hjälp av Azure-portalen .

$ az ad app list --display-name < application name>

Mer information finns i az ad app list.

Kommentar

När du har redigerat konfigurationsfilen startar du om Prometheus för att ändringarna ska gälla.

Kontrollera att fjärrskrivningsdata flödar

Använd följande metoder för att kontrollera att Prometheus-data skickas till din Azure Monitor-arbetsyta.

Azure Monitor-måttutforskaren med PromQL

Om du vill kontrollera om måtten flödar till Azure Monitor-arbetsytan väljer du Mått från Azure Monitor-arbetsytan i Azure-portalen. Använd måttutforskaren för att fråga de mått som du förväntar dig från den självhanterade Prometheus-miljön. Mer information finns i Metrics Explorer.

Prometheus-utforskaren i Azure Monitor-arbetsytan

Prometheus Explorer är ett bekvämt sätt att interagera med Prometheus-mått i din Azure-miljö, vilket gör övervakning och felsökning effektivare. Om du vill använda Prometheus-utforskaren går du till din Azure Monitor-arbetsyta i Azure-portalen och väljer Prometheus Explorer för att fråga efter de mått som du förväntar dig från den självhanterade Prometheus-miljön. Mer information finns i Prometheus Explorer.

Grafana

Använd PromQL-frågor i Grafana för att verifiera att resultaten returnerar förväntade data. Information om hur du konfigurerar Grafana finns i hämta Grafana-konfiguration med Managed Prometheus

Felsöka fjärrskrivning

Om fjärrdata inte visas på din Azure Monitor-arbetsyta kan du läsa Felsöka fjärrskrivning för vanliga problem och lösningar.

Nästa steg