Azure Monitor-hanterad tjänst för Prometheus fjärrskrivning
Azure Monitor-hanterad tjänst för Prometheus är avsedd att ersätta självhanterade Prometheus så att du inte behöver hantera en Prometheus-server i dina Kubernetes-kluster. Du kan också välja att använda den hanterade tjänsten för att centralisera data från självhanterade Prometheus-kluster för långsiktig datakvarhållning och för att skapa en centraliserad vy över dina kluster. I det här fallet kan du använda remote_write för att skicka data från din självhanterade Prometheus till den Azure-hanterade tjänsten.
Arkitektur
Du kan konfigurera Prometheus som körs i kubernetes-klustret för fjärrskrivning till Azure Monitor-arbetsytan. För närvarande är användartilldelad hanterad identitet eller Microsoft Entra-ID-program de autentiseringstyper som stöds med prometheus fjärrskrivningskonfiguration för att mata in mått till Azure Monitor-arbetsytan.
Azure Monitor tillhandahåller också en container för omvänd proxy (Azure Monitor-sidobilcontainer) som ger en abstraktion för inmatning av Prometheus fjärrskrivningsmått och hjälper till att autentisera paket.
Vi rekommenderar att du konfigurerar fjärrskrivning direkt i din självhanterade Prometheus-konfiguration som körs i din miljö. Azure Monitor-sidovagnscontainern kan användas om din önskade autentisering inte stöds via direkt konfiguration.
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.
Konfigurera fjärrskrivning
Att konfigurera fjärrskrivning beror på klusterkonfigurationen och vilken typ av autentisering du använder.
- Hanterad identitet rekommenderas för Azure Kubernetes Service (AKS) och Azure Arc-aktiverat Kubernetes-kluster.
- Microsoft Entra-ID kan användas för Azure Kubernetes-tjänsten (AKS) och Azure Arc-aktiverat Kubernetes-kluster och krävs för Kubernetes-kluster som körs i ett annat moln eller lokalt.
Mer information om hur du konfigurerar fjärrskrivning för antingen användartilldelad hanterad identitet och Microsoft Entra-ID-program finns i Konfigurera fjärrskrivning på Kubernetes för Prometheus-operatorn. Det här alternativet kan användas för självhanterad Prometheus som körs i valfri miljö.
Fjärrskrivning för Prometheus i Kubernetes-kluster kan också konfigureras med hjälp av en sidobilscontainer. Mer information om hur du konfigurerar fjärrskrivning för Kubernetes-kluster med hjälp av en sidobilscontainer finns i följande artiklar.
- Skicka Prometheus-data från AKS till Azure Monitor med hjälp av sidobilscontainer med hanterad identitetsautentisering
- Skicka Prometheus-data från AKS till Azure Monitor med hjälp av sidobilscontainer med Microsoft Entra-ID-autentisering
- Skicka Prometheus-data till Azure Monitor med hjälp av sidobilscontainer med autentisering med arbetsbelastnings-ID för Microsoft Entra-ID
- [Inaktuell] Skicka Prometheus-data till Azure Monitor med hjälp av sidobilscontainer med Microsoft Entra ID poddhanterad identitetsautentisering (förhandsversion). 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.
Fjärrskrivning från vm-datorer och VM-skalningsuppsättningar
Du kan skicka Prometheus-data från vm- och vm-skalningsuppsättningar till Azure Monitor-arbetsytor med hjälp av fjärrskrivning. Servrarna kan vara Azure-hanterade eller i någon annan miljö. Mer information finns i Skicka Prometheus-mått från virtuella datorer till en Azure Monitor-arbetsyta.
Kontrollera att fjärrskrivning fungerar korrekt
Använd följande metoder för att kontrollera att Prometheus-data skickas till din Azure Monitor-arbetsyta.
Kubectl-kommandon
Använd följande kommando för att visa loggar från sidovagnscontainern. Fjärrskrivningsdata flödar om utdata har ett icke-nollvärde för avgBytesPerRequest
och avgRequestDuration
.
kubectl logs <Prometheus-Pod-Name> <Azure-Monitor-Side-Car-Container-Name> --namespace <namespace-where-Prometheus-is-running>
# example: kubectl logs prometheus-prometheus-kube-prometheus-prometheus-0 prom-remotewrite --namespace monitoring
Utdata från det här kommandot har följande format:
time="2022-11-02T21:32:59Z" level=info msg="Metric packets published in last 1 minute" avgBytesPerRequest=19713 avgRequestDurationInSec=0.023 failedPublishing=0 successfullyPublished=122
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 din Azure Monitor-arbetsyta i Azure Portal. 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 från till Din Azure Monitor-arbetsyta i Azure Portal och väljer Prometheus Explorer 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 Prometheus Explorer.
Grafana
Använd PromQL-frågor i Grafana och kontrollera att resultatet returnerar förväntade data. Mer information om hur du konfigurerar Grafana för Azure-hanterad tjänst för Prometheus finns i Använda Azure Monitor-hanterad tjänst för Prometheus som datakälla för Grafana med hjälp av hanterad systemidentitet
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.