Övervaka och logga data
Gäller för: AKS på Azure Local 22H2, AKS på Windows Server
Den här artikeln beskriver hur du övervakar distributionen av Azure Kubernetes Service (AKS) och samlar in loggningsdata i AKS som aktiveras av Azure Arc. Du lär dig hur du konfigurerar och får åtkomst till lokal övervakning med hjälp av Prometheus
och Graphana
och hur du samlar in och visar loggar med hjälp av Elasticsearch
, Fluent Bit
och Kibana
(EFK).
Det finns två typer av övervaknings- och loggningslösningar, enligt beskrivningen i följande tabell:
Lösning | Azure-anslutning | Support och service | Kostnad | Utplacering |
---|---|---|---|---|
Azure Monitor | Kräver att Kubernetes-klustret ansluts till Azure med hjälp av Azure Arc för Kubernetes. | Fullständig support och service från Microsoft. | Kräver registrering för Azure Monitor-tjänsten. | Använd Azure Arc för övervakningskluster. |
Lokal övervakning och loggning | Kräver inte Azure-anslutning. | Stöds som programvara med öppen källkod av Microsoft (utan supportavtal eller serviceavtal), communityn och/eller externa leverantörer. | Leverantörsberoende. | Kunddriven. Se Övervaka kluster med lokal övervakning. |
Information om hur du använder Azure Monitor med Kubernetes-kluster finns i översikten över Azure Monitor.
Använda lokal övervakning
Det är viktigt att du övervakar hälsotillståndet, prestandan och resursanvändningen för kontrollplansnoderna och arbetsbelastningarna i klustret när du kör appar i produktion. Den rekommenderade övervakningslösningen innehåller följande två verktyg:
- Prometheus är ett verktyg för övervakning och avisering som du kan använda för att övervaka containerbaserade arbetsbelastningar. Prometheus arbetar med olika typer av insamlare och agenter för att samla in mått och lagra dem i en databas där du kan köra frågor mot data och visa rapporter. AKS Arc gör det enkelt att distribuera Prometheus, som beskrivs senare i den här artikeln.
- Grafana är ett verktyg som används för att visa, fråga och visualisera mått på Grafana-instrumentpanelerna. Du kan också konfigurera Grafana att använda Prometheus som datakälla. Du måste ha en egen licensierad kopia av Grafana med AKS Arc.
Översikt över övervakningslösning
Som en del av Prometheus-lösningen i AKS som aktiveras av Arc distribueras och konfigureras följande komponenter automatiskt:
Utrullningen baseras på det offentligt tillgängliga Kube-Prometheus-stack Helm chart, som utökas för att stödja Windows-exportören och säkrar insamling av mått mellan Prometheus och agenter. När Prometheus-lösningen har distribuerats körs Node-exportören på varje Linux-nod och Windows-exportören körs på varje Windows-nod.
Not
Eftersom Prometheus-operatorn, Prometheus- och Kube-tillståndsmåttkomponenterna endast stöds i Linux måste du etablera minst en Linux-nod i AKS-klustret för att distribuera den här lösningen.
De objekt och slutpunkter som Prometheus-lösningen skrapar innehåller följande objekt:
- Kube state metrics för att samla in diverse mått som tillhandahålls av Kubernetes
- Kubernetes API-server
- Kubelet
- Nodexportör för att samla in mått för Linux-noder
- Windows-exportör för att samla in mått för Windows-noder
För att visa Grafana-instrumentpanelerna som är tillgängliga i AKS Arc kan du se Grafana-instrumentpaneler som är tillgängliga i AKS Arc.
Distribuera övervakningslösning med PowerShell
I det här avsnittet beskrivs de två alternativ som du kan använda för att distribuera övervakning i ett arbetsbelastningskluster.
Alternativ 1: Distribuera övervakningslösningen när du skapar arbetsbelastningsklustret
Om du vill aktivera övervakning anger du parametern -enableMonitoring
när du använder New-AksHciCluster för att skapa arbetsbelastningsklustret, som du ser i följande exempel:
New-AksHciCluster -name mynewcluster -enableMonitoring
Övervakning installeras med följande standardkonfiguration:
- Storleken på den beständiga volym som har etablerats för att lagra mått (
storageSizeGB
) är 100 GB. - Kvarhållningstiden för insamlade mått (
retentionTimeHours
) är 240 timmar (eller 10 dagar).
Alternativ 2: Distribuera övervakningslösningen i ett befintligt arbetsbelastningskluster
Kör kommandot Install-AksHciMonitoring för att distribuera övervakningslösningen i ett befintligt arbetsbelastningskluster enligt följande:
Install-AksHciMonitoring -Name mycluster -storageSizeGB 100 -retentionTimeHours 240
Parametern -storageSizeGB
anger storleken på den beständiga volym som har etablerats för att lagra mått, och parametern -retentionTimeHours
anger hur lång tid de insamlade måtten ska behållas.
Övervakningslösningen installeras i ett separat namnområde med namnet monitoring
och använder en StorageClass med namnet monitoring-sc
. Prometheus exponeras på en intern slutpunkt som endast är tillgänglig inom klustret på http://akshci-monitoring-prometheus-svc.monitoring:9090
.
Avinstallera övervakningslösningen med PowerShell
Kör Uninstall-AksHciMonitoring
PowerShell-kommandot för att avinstallera AKS Arc-övervakningslösningen på följande sätt:
Uninstall-AksHciMonitoring -Name <target cluster name>
Avinstallationsprocessen tar bort allt, inklusive namnområdet, StorageClass och faktiska data och mått för den beständiga volymen.
Distribuera Grafana och konfigurera det så att det använder Prometheus
Du kan följa alla riktlinjer för att distribuera Grafana som är offentligt tillgänglig. Du kan också visa Microsofts distributionsvägledning för att använda Grafana, som beskriver hur du distribuerar och konfigurerar Grafana för att ansluta den till en AKS Prometheus-instans. Den här GitHub-sidan beskriver också hur du lägger till Grafana-instrumentpaneler som Microsoft gör tillgängliga för AKS som aktiveras av Arc.
Loggning på plats
Loggning är avgörande för felsökning och diagnostik. Loggningslösningen i AKS Arc baseras på Elasticsearch, Fluent Bit och Kibana (EFK). Alla dessa komponenter distribueras som containrar:
- Fluent Bit är loggprocessorn och vidarebefordraren som samlar in data och loggar från olika källor. Sedan formateras, förenas och lagras de i Elasticsearch.
- Elasticsearch är en distribuerad sök- och analysmotor som kan lagra loggarna centralt för snabba sökningar och dataanalys.
- Kibana tillhandahåller interaktiva visualiseringar på en webbk ontrollpanel. Med det här verktyget kan du visa och fråga loggar som lagras i Elasticsearch och sedan visualisera dem via diagram och instrumentpaneler.
Information om hur du konfigurerar en lokal loggningslösning finns i stegen för att konfigurera loggning för åtkomst till Kibana. Den här artikeln innehåller alla komponenter som krävs för att samla in, aggregera och fråga containerloggar i klustret.
För avancerade konfigurationssteg, se Windows-loggning.