Övervaka Azure Kubernetes Service
I den här artikeln beskrivs:
- De typer av övervakningsdata som du kan samla in för den här tjänsten.
- Sätt att analysera dessa data.
Kommentar
Om du redan är bekant med den här tjänsten och/eller Azure Monitor och bara vill veta hur du analyserar övervakningsdata kan du läsa avsnittet Analysera i slutet av den här artikeln.
När du har viktiga program och affärsprocesser som är beroende av Azure-resurser måste du övervaka och få aviseringar för systemet. Azure Monitor-tjänsten samlar in och aggregerar mått och loggar från varje komponent i systemet. Azure Monitor ger dig en översikt över tillgänglighet, prestanda och motståndskraft och meddelar dig om problem. Du kan använda Azure Portal, PowerShell, Azure CLI, REST API eller klientbibliotek för att konfigurera och visa övervakningsdata.
- Mer information om Azure Monitor finns i Översikt över Azure Monitor.
- Mer information om hur du övervakar Azure-resurser i allmänhet finns i Övervaka Azure-resurser med Azure Monitor.
Viktigt!
Kubernetes är ett komplext distribuerat system med många rörliga delar. Övervakning på flera nivåer krävs. Även om AKS är en hanterad Kubernetes-tjänst krävs fortfarande samma stränghet kring övervakning på flera nivåer. Den här artikeln innehåller information på hög nivå och metodtips för övervakning av ett AKS-kluster.
- Detaljerad övervakning av den fullständiga Kubernetes-stacken finns i Övervaka Kubernetes-kluster med hjälp av Azure-tjänster och molnbaserade verktyg.
- Information om hur du samlar in måttdata från Kubernetes-kluster finns i Hanterad Azure Monitor-tjänst för Prometheus.
- Information om hur du samlar in loggar i Kubernetes-kluster finns i Azure Monitor-funktioner för Kubernetes-övervakning.
- Information om datavisualisering finns i Azure-arbetsböcker och Övervaka dina Azure-tjänster i Grafana.
Insikter
Vissa tjänster i Azure har en inbyggd instrumentpanel för övervakning i Azure Portal som ger en startpunkt för övervakning av din tjänst. Dessa instrumentpaneler kallas insikter och du hittar dem i Insights Hub i Azure Monitor i Azure Portal.
Azure Monitor Container Insights samlar in anpassade mått för noder, poddar, containrar och beständiga volymer. Mer information finns i Mått som samlas in av Container Insights.
Azure Monitor Application Insights används för övervakning av programprestanda (APM). Information om hur du aktiverar Application Insights med kodändringar finns i Aktivera Azure Monitor OpenTelemetry. Information om hur du aktiverar Application Insights utan kodändringar finns i Automatisk instrumentering av AKS. Mer information om instrumentation finns i grunderna för datainsamling.
Övervaka data
AKS genererar samma typer av övervakningsdata som andra Azure-resurser som beskrivs i Övervaka data från Azure-resurser. Se Övervaka AKS-datareferens för detaljerad information om mått och loggar som skapats av AKS. Andra Azure-tjänster och funktioner samlar in andra data och aktiverar andra analysalternativ enligt följande diagram och tabell.
Source | beskrivning |
---|---|
Plattformsmått | Plattformsmått samlas automatiskt in för AKS-kluster utan kostnad. Du kan analysera dessa mått med Metrics Explorer eller använda dem för måttaviseringar. |
Prometheus-mått | När du aktiverar måttskrapa för klustret samlar Azure Monitor-hanterad tjänst för Prometheus in Prometheus-mått och lagrar dem på en Azure Monitor-arbetsyta. Analysera dem med fördefinierade instrumentpaneler i Azure Managed Grafana och med Prometheus-aviseringar. |
Aktivitetsloggar | Aktivitetsloggen samlas in automatiskt för AKS-kluster utan kostnad. Dessa loggar spårar information, till exempel när ett kluster skapas eller har en konfigurationsändring. Om du vill analysera den med dina andra loggdata skickar du aktivitetsloggen till en Log Analytics-arbetsyta. |
Resursloggar | Kontrollplansloggar för AKS implementeras som resursloggar. Skapa en diagnostikinställning för att skicka dem till Log Analytics-arbetsytan där du kan analysera och avisera dem med loggfrågor i Log Analytics. |
Containerinsikter | Containerinsikter samlar in olika loggar och prestandadata från ett kluster, inklusive stdout-/stderr-strömmar och lagrar dem på en Log Analytics-arbetsyta och Azure Monitor Metrics. Analysera dessa data med vyer och arbetsböcker som ingår i Container Insights eller med Log Analytics och Metrics Explorer. |
Application Insights | Azure Monitor Application Insights samlar in loggar, mått och distribuerade spårningar. Den här telemetrin lagras på en Log Analytics-arbetsyta för analys i Azure Portal. |
Resurstyper
Azure använder begreppet resurstyper och ID:t för att identifiera allt i en prenumeration. Resurstyper ingår också i resurs-ID:t för varje resurs som körs i Azure. En resurstyp för en virtuell dator är Microsoft.Compute/virtualMachines
till exempel . En lista över tjänster och deras associerade resurstyper finns i Resursprovidrar.
Azure Monitor organiserar på liknande sätt kärnövervakningsdata i mått och loggar baserat på resurstyper, även kallade namnområden. Olika mått och loggar är tillgängliga för olika resurstyper. Tjänsten kan vara associerad med mer än en resurstyp.
Mer information om resurstyperna för AKS finns i Referens för övervakningsdata för Azure Kubernetes Service.
Datalagring
För Azure Monitor:
- Måttdata lagras i Azure Monitor-måttdatabasen.
- Loggdata lagras i Azure Monitor-loggarkivet. Log Analytics är ett verktyg i Azure Portal som kan köra frågor mot det här arkivet.
- Azure-aktivitetsloggen är ett separat arkiv med ett eget gränssnitt i Azure Portal.
Du kan också dirigera mått- och aktivitetsloggdata till Azure Monitor-loggarkivet. Du kan sedan använda Log Analytics för att fråga efter data och korrelera dem med andra loggdata.
Många tjänster kan använda diagnostikinställningar för att skicka mått- och loggdata till andra lagringsplatser utanför Azure Monitor. Exempel är Azure Storage, värdbaserade partnersystem och icke-Azure-partnersystem med hjälp av Event Hubs.
Detaljerad information om hur Azure Monitor lagrar data finns i Azure Monitor-dataplattformen.
Azure Monitor-plattformsmått
Azure Monitor tillhandahåller plattformsmått för de flesta tjänster. Dessa mått är:
- Individuellt definierad för varje namnområde.
- Lagras i azure monitor-databasen för tidsseriemått.
- Lätt och kan stödja nästan realtidsaviseringar.
- Används för att spåra prestanda för en resurs över tid.
Samling: Azure Monitor samlar in plattformsmått automatiskt. Ingen konfiguration krävs.
Routning: Du kan också dirigera vissa plattformsmått till Azure Monitor-loggar/Log Analytics så att du kan köra frågor mot dem med andra loggdata. Kontrollera DS-exportinställningen för varje mått för att se om du kan använda en diagnostikinställning för att dirigera måttet till Azure Monitor-loggar/Log Analytics.
- Mer information finns i diagnostikinställningen Mått.
- Information om hur du konfigurerar diagnostikinställningar för en tjänst finns i Skapa diagnostikinställningar i Azure Monitor.
En lista över alla mått som du kan samla in för alla resurser i Azure Monitor finns i Mått som stöds i Azure Monitor.
En lista över tillgängliga mått för AKS finns i Azure Kubernetes Service monitoring data reference (Övervakningsdata för Azure Kubernetes Service).
Mått spelar en viktig roll i klusterövervakning, identifiering av problem och optimering av prestanda i AKS-kluster. Plattformsmått samlas in med hjälp av den färdiga måttservern som är installerad i kube-systemnamnområdet, som regelbundet skrapar mått från alla Kubernetes-noder som hanteras av Kubelet. Du bör också aktivera Azure Managed Prometheus-mått för att samla in containermått och Kubernetes-objektmått, till exempel objekttillstånd för distributioner. Mer information finns i Samla in Prometheus-mått från ett AKS-kluster.
AKS exponerar även mått från kritiska kontrollplanskomponenter som API-server, ETCD, Scheduler via Azure Managed Prometheus. Den här funktionen finns i förhandsgranskning. Mer information finns i Övervaka aks-kontrollplansmått (förhandsversion) i Övervaka Azure Kubernetes Service(AKS).
Icke-Azure Monitor-baserade mått
Den här tjänsten tillhandahåller andra mått som inte ingår i Azure Monitor-måttdatabasen.
Följande Azure-tjänster och funktioner i Azure Monitor kan användas för extra övervakning av dina Kubernetes-kluster. Du kan aktivera dessa funktioner när AKS-kluster skapas från fliken Integreringar i Azure Portal, Azure CLI, Terraform, Azure Policy eller publicera klustret till dem senare. Var och en av dessa funktioner kan medföra kostnader, så se prisinformationen för var och en innan du aktiverade dem.
Tjänst/funktion | beskrivning |
---|---|
Containerinsikter | Använder en containerbaserad version av Azure Monitor-agenten för att samla in stdout-/stderr-loggar och Kubernetes-händelser från varje nod i klustret. Funktionen stöder en mängd olika övervakningsscenarier för AKS-kluster. Du kan aktivera övervakning för ett AKS-kluster när det skapas med hjälp av Azure CLI, Azure Policy, Azure Portal eller Terraform. Om du inte aktiverar containerinsikter när du skapar klustret kan du läsa Aktivera containerinsikter för AKS-kluster (Azure Kubernetes Service) för andra alternativ för att aktivera det. Container Insights lagrar de flesta av sina data på en Log Analytics-arbetsyta och du använder vanligtvis samma log analytics-arbetsyta som resursloggarna för klustret. Se Designa en Log Analytics-arbetsytearkitektur för vägledning om hur många arbetsytor du ska använda och var du hittar dem. |
Azure Monitor-hanterad tjänst för Prometheus | Prometheus är en molnbaserad måttlösning från Cloud Native Compute Foundation. Det är det vanligaste verktyget som används för att samla in och analysera måttdata från Kubernetes-kluster. Azure Monitor-hanterad tjänst för Prometheus är en fullständigt hanterad Prometheus-kompatibel övervakningslösning i Azure. Om du inte aktiverar hanterad Prometheus när du skapar klustret kan du läsa Samla in Prometheus-mått från ett AKS-kluster för andra alternativ för att aktivera det. Azure Monitor-hanterad tjänst för Prometheus lagrar sina data på en Azure Monitor-arbetsyta, som är länkad till en Grafana-arbetsyta så att du kan analysera data med Azure Managed Grafana. |
Azure Managed Grafana | Fullständigt hanterad implementering av Grafana, som är en datavisualiseringsplattform med öppen källkod som ofta används för att presentera Prometheus-data. Flera fördefinierade Grafana-instrumentpaneler är tillgängliga för övervakning av Kubernetes och fullständig stack-felsökning. Om du inte aktiverar hanterad Grafana när du skapar klustret kan du läsa Länka en Grafana-arbetsyta. Du kan länka den till din Azure Monitor-arbetsyta så att den kan komma åt Prometheus-mått för klustret. |
Övervaka MÅTT för AKS-kontrollplan (förhandsversion)
Det här avsnittet visar hur du använder funktionen kontrollplansmått (förhandsversion). Samla in mått från kontrollplanet och visa telemetrin i Azure Monitor. Kontrollplanets måttfunktion är helt kompatibel med Prometheus och Grafana. Funktionen ger mer insyn i tillgängligheten och prestandan för kontrollplanskomponenterna, till exempel API-servern, ETCD, Scheduler, Autoscaler och kontrollanthanteraren. Du kan använda dessa mått för att maximera den övergripande observerbarheten och upprätthålla driftskvalitet för ditt AKS-kluster.
Förutsättningar och begränsningar
- Kontrollplansmått (förhandsversion) stöder endast Azure Monitor-hanterad tjänst för Prometheus.
- Privat länk stöds inte.
- Du kan bara anpassa standardkartan ama-metrics-settings-config-map. Alla andra anpassningar stöds inte.
- AKS-klustret måste använda hanterad identitetsautentisering.
Installera aks-preview-tillägget
Viktigt!
AKS-förhandsversionsfunktioner är tillgängliga via självbetjäning och anmäl dig. Förhandsversioner tillhandahålls "som är" och "som tillgängliga", och de undantas från serviceavtalen och den begränsade garantin. AKS-förhandsversioner omfattas delvis av kundsupport på bästa sätt. Därför är dessa funktioner inte avsedda för produktionsanvändning. Mer information finns i följande supportartiklar:
Installera eller uppdatera
aks-preview
Azure CLI-tillägget med hjälp avaz extension add
kommandot elleraz extension update
.# Install the aks-preview extension az extension add --name aks-preview # Update the aks-preview extension az extension update --name aks-preview
Registrera flaggan AzureMonitorMetricsControlPlanePreview
Registrera funktionsflaggan
AzureMonitorMetricsControlPlanePreview
az feature register
med kommandot .az feature register --namespace "Microsoft.ContainerService" --name "AzureMonitorMetricsControlPlanePreview"
Det tar några minuter för statusen att visa Registrerad.
Kontrollera registreringsstatusen
az feature show
med kommandot .az feature show --namespace "Microsoft.ContainerService" --name "AzureMonitorMetricsControlPlanePreview"
När statusen visar Registrerad uppdaterar du registreringen av resursprovidern Microsoft.ContainerService med hjälp av
az provider register
kommandot .az provider register --namespace "Microsoft.ContainerService"
Aktivera kontrollplansmått i ditt AKS-kluster
Du kan aktivera kontrollplansmått med azure monitor-tjänsten för Prometheus-tillägget när du skapar ett nytt kluster eller uppdaterar ett befintligt kluster.
Aktivera kontrollplansmått i ett nytt AKS-kluster:
Information om hur du samlar in Prometheus-mått från kubernetes-klustret finns i Aktivera Prometheus och Grafana för AKS-kluster och följ stegen på fliken CLI för ett AKS-kluster.
Aktivera kontrollplansmått i ett befintligt AKS-kluster
Om klustret redan har Prometheus-tillägget uppdaterar du klustret så att det börjar samla in kontrollplansmått med kommandot
az aks update
.az aks update --name $CLUSTER_NAME --resource-group $RESOURCE_GROUP
Kommentar
Till skillnad från de mått som samlas in från klusternoder samlas kontrollplansmått in av en komponent som inte ingår i ama-måtttillägget. Genom att aktivera funktionsflaggan AzureMonitorMetricsControlPlanePreview
och det hanterade Prometheus-tillägget kan du se till att kontrollplansmått samlas in. När du har aktiverat måttinsamling kan det ta flera minuter innan data visas på arbetsytan.
Frågekontrollplansmått
Kontrollplansmått lagras på en Azure Monitor-arbetsyta i klustrets region. Du kan fråga måtten direkt från arbetsytan eller via den Azure-hanterade Grafana-instansen som är ansluten till arbetsytan.
Visa kontrollplansmåtten på Azure Monitor-arbetsytan med hjälp av följande steg:
Kommentar
AKS innehåller instrumentpanelsmallar som hjälper dig att visa och analysera telemetridata för kontrollplanet i realtid. Om du använder Azure-hanterad Grafana för att visualisera data kan du importera följande instrumentpaneler:
Anpassa kontrollplansmått
AKS innehåller en förkonfigurerad uppsättning mått för att samla in och lagra för varje komponent. API server
och etcd
är aktiverade som standard. Du kan anpassa den här listan via ama-settings-configmap
.
Standardmålen innehåller följande värden:
controlplane-apiserver = true
controlplane-cluster-autoscaler = false
controlplane-kube-scheduler = false
controlplane-kube-controller-manager = false
controlplane-etcd = true
Alla ConfigMaps ska tillämpas på kube-system
namnområdet för alla kluster.
Mer information om minimal-ingestion
profilmått finns i Minimal inmatningsprofil för kontrollplansmått i hanterad Prometheus.
Mata endast in minimala mått från standardmål
När du anger
default-targets-metrics-keep-list.minimalIngestionProfile="true"
matas endast den minimala uppsättningen mått in för vart och ett av standardmålen:controlplane-apiserver
ochcontrolplane-etcd
.Mata in alla mått från alla mål
Samla in alla mått från alla mål i klustret med hjälp av följande steg:
Ladda ned ConfigMap-filen ama-metrics-settings-configmap.yaml och byt namn på den till
configmap-controlplane.yaml
.Ange
minimalingestionprofile = false
.Under
default-scrape-settings-enabled
kontrollerar du att de mål som du vill skrapa är inställda påtrue
. De enda mål som du kan ange är:controlplane-apiserver
,controlplane-cluster-autoscaler
,controlplane-kube-scheduler
,controlplane-kube-controller-manager
ochcontrolplane-etcd
.Använd ConfigMap med kommandot
kubectl apply
.kubectl apply -f configmap-controlplane.yaml
När konfigurationen har tillämpats tar det flera minuter innan måtten från de angivna målen som skrapats från kontrollplanet visas på Azure Monitor-arbetsytan.
Mata in några andra mått utöver minimala mått
Inställningen
minimal ingestion profile
hjälper till att minska inmatningsvolymen för mått, eftersom den endast samlar in mått som används av standardinstrumentpaneler, standardregistreringsregler och standardaviseringar samlas in. Använd följande steg för att anpassa den här inställningen:Ladda ned ConfigMap-filen ama-metrics-settings-configmap och byt namn på den till
configmap-controlplane.yaml
.Ange
minimalingestionprofile = true
.Under
default-scrape-settings-enabled
kontrollerar du att de mål som du vill skrapa är inställda påtrue
. De enda mål som du kan ange är:controlplane-apiserver
,controlplane-cluster-autoscaler
,controlplane-kube-scheduler
,controlplane-kube-controller-manager
ochcontrolplane-etcd
.Under
default-targets-metrics-keep-list
anger du listan med mått förtrue
målen. Till exempel:controlplane-apiserver= "apiserver_admission_webhook_admission_duration_seconds| apiserver_longrunning_requests"
Använd ConfigMap med kommandot
kubectl apply
.kubectl apply -f configmap-controlplane.yaml
När konfigurationen har tillämpats tar det flera minuter innan måtten från de angivna målen som skrapats från kontrollplanet visas på Azure Monitor-arbetsytan.
Mata endast in specifika mått från vissa mål
Ladda ned ConfigMap-filen ama-metrics-settings-configmap och byt namn på den till
configmap-controlplane.yaml
.Ange
minimalingestionprofile = false
.Under
default-scrape-settings-enabled
kontrollerar du att de mål som du vill skrapa är inställda påtrue
. De enda mål som du kan ange här ärcontrolplane-apiserver
,controlplane-cluster-autoscaler
,controlplane-kube-scheduler
,controlplane-kube-controller-manager
ochcontrolplane-etcd
.Under
default-targets-metrics-keep-list
anger du listan med mått förtrue
målen. Till exempel:controlplane-apiserver= "apiserver_admission_webhook_admission_duration_seconds| apiserver_longrunning_requests"
Använd ConfigMap med kommandot
kubectl apply
.kubectl apply -f configmap-controlplane.yaml
När konfigurationen har tillämpats tar det flera minuter innan måtten från de angivna målen som skrapats från kontrollplanet visas på Azure Monitor-arbetsytan.
Felsöka problem med kontrollplansmått
Kontrollera att funktionsflaggan AzureMonitorMetricsControlPlanePreview
är aktiverad och ama-metrics
att poddarna körs.
Kommentar
Felsökningsmetoderna för Den hanterade Azure-tjänsten Prometheus översätts inte direkt här eftersom komponenterna som skrapar kontrollplanet inte finns i det hanterade Prometheus-tillägget.
ConfigMap-formatering
Kontrollera att du använder korrekt formatering i ConfigMap och att fälten, särskilt
default-targets-metrics-keep-list
,minimal-ingestion-profile
ochdefault-scrape-settings-enabled
, är korrekt ifyllda med sina avsedda värden.Isolera kontrollplanet från dataplanet
Börja med att ange några av de nodrelaterade måtten till och kontrollera att
true
måtten vidarebefordras till arbetsytan. Detta hjälper dig att avgöra om problemet är specifikt för att skrapa kontrollplansmått.Inmatade händelser
När du har tillämpat ändringarna kan du öppna Metrics Explorer från översiktssidan för Azure Monitor eller från avsnittet Övervakning det valda klustret och söka efter en ökning eller minskning av antalet händelser som matas in per minut. Det bör hjälpa dig att avgöra om ett visst mått saknas eller om alla mått saknas.
Specifika mått exponeras inte
Det finns fall där mått dokumenteras, men inte exponeras från målet och inte vidarebefordras till Azure Monitor-arbetsytan. I det här fallet är det nödvändigt att kontrollera att andra mått vidarebefordras till arbetsytan.
Ingen åtkomst till Azure Monitor-arbetsytan
När du aktiverar tillägget kan du ange en befintlig arbetsyta som du inte har åtkomst till. I så fall kan det se ut som om måtten inte samlas in och vidarebefordras. Se till att du skapar en ny arbetsyta när du aktiverar tillägget eller när du skapar klustret.
Inaktivera kontrollplansmått i ditt AKS-kluster
Du kan inaktivera kontrollplansmått när som helst genom att inaktivera det hanterade Prometheus-tillägget och avregistrera funktionsflaggan AzureMonitorMetricsControlPlanePreview
.
Ta bort måtttillägget som skrapar Prometheus-mått med hjälp av
az aks update
kommandot .az aks update --disable-azure-monitor-metrics --name $CLUSTER_NAME --resource-group $RESOURCE_GROUP
Inaktivera skrapning av kontrollplansmått i AKS-klustret genom att avregistrera funktionsflaggan
AzureMonitorMetricsControlPlanePreview
az feature unregister
med kommandot .az feature unregister "Microsoft.ContainerService" --name "AzureMonitorMetricsControlPlanePreview"
Vanliga frågor
Kan jag skrapa kontrollplansmått med egen värdbaserad Prometheus?
Nej, du kan för närvarande inte skrapa kontrollplansmått med egen värdbaserad Prometheus. Lokalt installerad Prometheus kan bara skrapa den enskilda instansen beroende på lastbalanseraren. Måtten är inte tillförlitliga, eftersom det ofta finns flera repliker av kontrollplansmåtten endast visas via hanterad Prometheus
Varför är användaragenten inte tillgänglig via kontrollplanets mått?
Kontrollplansmått i Kubernetes har inte användaragenten. Användaragenten är endast tillgänglig via de kontrollplansloggar som är tillgängliga i diagnostikinställningarna.
Azure Monitor-resursloggar
Resursloggar ger insikter om åtgärder som har utförts av en Azure-resurs. Loggar genereras automatiskt, men du måste dirigera dem till Azure Monitor-loggar för att spara eller köra frågor mot dem. Loggar ordnas i kategorier. Ett givet namnområde kan ha flera resursloggkategorier.
Samling: Resursloggar samlas inte in och lagras förrän du skapar en diagnostikinställning och dirigerar loggarna till en eller flera platser. När du skapar en diagnostikinställning anger du vilka kategorier av loggar som ska samlas in. Det finns flera sätt att skapa och underhålla diagnostikinställningar, inklusive Azure Portal, programmatiskt och via Azure Policy.
Routning: Det föreslagna standardvärdet är att dirigera resursloggar till Azure Monitor-loggar så att du kan köra frågor mot dem med andra loggdata. Andra platser som Azure Storage, Azure Event Hubs och vissa Microsoft-övervakningspartner är också tillgängliga. Mer information finns i Azure-resursloggar och Resursloggmål.
Detaljerad information om hur du samlar in, lagrar och dirigerar resursloggar finns i Diagnostikinställningar i Azure Monitor.
En lista över alla tillgängliga resursloggkategorier i Azure Monitor finns i Resursloggar som stöds i Azure Monitor.
Alla resursloggar i Azure Monitor har samma rubrikfält följt av tjänstspecifika fält. Det vanliga schemat beskrivs i Azure Monitor-resursloggschemat.
Information om tillgängliga resursloggkategorier, deras associerade Log Analytics-tabeller och loggscheman för AKS finns i Azure Kubernetes Service monitoring data reference (Övervakningsdata för Azure Kubernetes Service).
AKS-kontrollplan/resursloggar
Kontrollplansloggar för AKS-kluster implementeras som resursloggar i Azure Monitor. Resursloggar samlas inte in och lagras förrän du skapar en diagnostikinställning för att dirigera dem till en eller flera platser. Du skickar dem vanligtvis till en Log Analytics-arbetsyta, där de flesta data för Container Insights lagras.
Se Skapa diagnostikinställningar för den detaljerade processen för att skapa en diagnostikinställning med hjälp av Azure Portal, CLI eller PowerShell. När du skapar en diagnostikinställning anger du vilka kategorier av loggar som ska samlas in. Kategorierna för AKS visas i AKS-övervakningsdatareferensen.
Viktigt!
Det kan finnas betydande kostnader vid insamling av resursloggar för AKS, särskilt för kube-granskningsloggar . Överväg följande rekommendationer för att minska mängden data som samlas in:
- Inaktivera kube-audit-loggning när det inte behövs.
- Aktivera insamling från kube-audit-admin, vilket exkluderar granskningshändelserna get och list.
- Aktivera resursspecifika loggar enligt beskrivningen här och konfigurera
AKSAudit
tabellen som grundläggande loggar.
Se Övervaka Kubernetes-kluster med hjälp av Azure-tjänster och molnbaserade verktyg för ytterligare rekommendationer och kostnadsoptimering och Azure Monitor för ytterligare strategier för att minska dina övervakningskostnader.
AKS stöder antingen Azure-diagnostikläge eller resursspecifikt läge för resursloggar. Det här läget anger tabellerna på Log Analytics-arbetsytan där data skickas. Azure-diagnostikläget skickar alla data till tabellen AzureDiagnostics, medan resursspecifikt läge skickar data till AKS-granskning, AKS-granskningsadministratör och AKS-kontrollplan enligt tabellen i Resursloggar.
Resursspecifikt läge rekommenderas för AKS av följande skäl:
- Data är lättare att fråga eftersom de finns i enskilda tabeller som är dedikerade till AKS.
- Stöder konfiguration som grundläggande loggar för betydande kostnadsbesparingar.
Mer information om skillnaden mellan samlingslägen, inklusive hur du ändrar en befintlig inställning, finns i Välj samlingsläge.
Kommentar
Det går också att konfigurera diagnostikinställningar via CLI. I dessa fall är det inte säkert att det fungerar eftersom det inte söker efter klustrets etableringstillstånd. Kontrollera vilka diagnostikinställningar för klustret som ska återspeglas när du har konfigurerat det.
az monitor diagnostic-settings create --name AKS-Diagnostics --resource /subscriptions/xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx/resourceGroups/myresourcegroup/providers/Microsoft.ContainerService/managedClusters/my-cluster --logs '[{"category": "kube-audit","enabled": true}, {"category": "kube-audit-admin", "enabled": true}, {"category": "kube-apiserver", "enabled": true}, {"category": "kube-controller-manager", "enabled": true}, {"category": "kube-scheduler", "enabled": true}, {"category": "cluster-autoscaler", "enabled": true}, {"category": "cloud-controller-manager", "enabled": true}, {"category": "guard", "enabled": true}, {"category": "csi-azuredisk-controller", "enabled": true}, {"category": "csi-azurefile-controller", "enabled": true}, {"category": "csi-snapshot-controller", "enabled": true}]' --workspace /subscriptions/xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx/resourcegroups/myresourcegroup/providers/microsoft.operationalinsights/workspaces/myworkspace --export-to-resource-specific true
Exempelloggfrågor
Viktigt!
När du väljer Loggar på menyn för ett AKS-kluster öppnas Log Analytics med frågeomfånget inställt på det aktuella klustret. Det innebär att loggfrågor endast innehåller data från den resursen. Om du vill köra en fråga som innehåller data från andra kluster eller data från andra Azure-tjänster väljer du Loggar på Azure Monitor-menyn . Mer information finns i Log query scope and time range in Azure Monitor Log Analytics (Loggfrågeomfång och tidsintervall i Azure Monitor Log Analytics ).
Om diagnostikinställningen för klustret använder Azure-diagnostikläge lagras resursloggarna för AKS i tabellen AzureDiagnostics . Du kan särskilja olika loggar med kolumnen Kategori . En beskrivning av varje kategori finns i AKS-referensresursloggar.
beskrivning | Loggfråga |
---|---|
Antal loggar för varje kategori (Azure-diagnostikläge) |
AzureDiagnostics | where ResourceType == "MANAGEDCLUSTERS" | summarize count() by Category |
Alla API-serverloggar (Azure-diagnostikläge) |
AzureDiagnostics | where Category == "kube-apiserver" |
Alla kube-audit-loggar inom ett tidsintervall (Azure-diagnostikläge) |
let starttime = datetime("2023-02-23"); let endtime = datetime("2023-02-24"); AzureDiagnostics | där TimeGenerated between(starttime.. sluttid) | where Category == "kube-audit" | extend event = parse_json(log_s) | utöka HttpMethod = tostring(event.verb) | utöka Användare = tostring(event.user.username) | extend Apiserver = pod_s | extend SourceIP = tostring(event.sourceIPs[0]) | project TimeGenerated, Category, HttpMethod, User, Apiserver, SourceIP, OperationName, event |
Alla granskningsloggar (resursspecifikt läge) |
AKSAudit |
Alla granskningsloggar exklusive get- och listgranskningshändelser (resursspecifikt läge) |
AKSAuditAdmin |
Alla API-serverloggar (resursspecifikt läge) |
AKSControlPlane | where Category == "kube-apiserver" |
Om du vill komma åt en uppsättning fördefinierade frågor på Log Analytics-arbetsytan läser du log analytics-frågegränssnittet och väljer resurstypen Kubernetes Services. En lista över vanliga frågor för Container Insights finns i Container Insights-frågor.
AKS-dataplan/Container Insights-loggar
Container Insights samlar in olika typer av telemetridata från containrar och Kubernetes-kluster för att hjälpa dig att övervaka, felsöka och få insikter om dina containerbaserade program som körs i dina AKS-kluster. En lista över tabeller och deras detaljerade beskrivningar som används av Container Insights finns i tabellreferensen för Azure Monitor. Alla dessa tabeller är tillgängliga för loggfrågor.
Med inställningarna för kostnadsoptimering kan du anpassa och kontrollera de måttdata som samlas in via container insights-agenten. Den här funktionen stöder datainsamlingsinställningarna för enskilda tabellval, datainsamlingsintervall och namnområden för att exkludera datainsamlingen via Azure Monitor Data Collection Rules (DCR). De här inställningarna styr inmatningsvolymen och minskar övervakningskostnaderna för containerinsikter. Containerinsikter Insamlade data kan anpassas via Azure Portal med hjälp av följande alternativ. Om du väljer andra alternativ än Alla (standard) blir containerinsikterna otillgängliga.
Gruppering | Tabeller | Kommentar |
---|---|---|
Alla (standard) | Alla standardtabeller för containerinsikter | Krävs för att aktivera standardvisualiseringar för containerinsikter |
Prestanda | Perf, InsightsMetrics | |
Loggar och händelser | ContainerLog eller ContainerLogV2, KubeEvents, KubePodInventory | Rekommenderas om du har aktiverat hanterade Prometheus-mått |
Arbetsbelastningar, distributioner och HPA:er | InsightsMetrics, KubePodInventory, KubeEvents, ContainerInventory, ContainerNodeInventory, KubeNodeInventory, KubeServices | |
Beständiga volymer | InsightsMetrics, KubePVInventory |
Gruppering av loggar och händelser samlar in loggarna från tabellerna ContainerLog eller ContainerLogV2, KubeEvents, KubePodInventory , men inte måtten. Den rekommenderade sökvägen för att samla in mått är att aktivera Azure Monitor-hanterade tjänsten Prometheus för Prometheus från ditt AKS-kluster och att använda Azure Managed Grafana för datavisualisering. Mer information finns i Övervaka en Azure Monitor-arbetsyta.
ContainerLogV2-schema
Azure Monitor Container Insights innehåller ett schema för containerloggar som kallas ContainerLogV2, vilket är det rekommenderade alternativet. Det här formatet innehåller följande fält för att underlätta vanliga frågor för att visa data relaterade till AKS- och Azure Arc-aktiverade Kubernetes-kluster:
- ContainerName
- PodName
- PodNamespace
Dessutom är det här schemat kompatibelt med dataplanen Basic Logs , som erbjuder ett billigt alternativ till standardanalysloggar. Med basic-loggdataplanen kan du spara på kostnaden för att mata in och lagra utförliga loggar med stora volymer på Log Analytics-arbetsytan för felsökning, felsökning och granskning. Det påverkar inte kostnaderna för analys och aviseringar. Mer information finns i Hantera tabeller på en Log Analytics-arbetsyta.
ContainerLogV2 är den rekommenderade metoden och är standardschemat för kunder som registrerar containerinsikter med hanterad identitetsautentisering med ARM, Bicep, Terraform, Policy och Azure Portal. Mer information om hur du aktiverar ContainerLogV2 via antingen klustrets datainsamlingsregel (DCR) eller ConfigMap finns i Aktivera ContainerLogV2-schemat.
Azure-aktivitetslogg
Aktivitetsloggen innehåller händelser på prenumerationsnivå som spårar åtgärder för varje Azure-resurs som visas utanför resursen. till exempel att skapa en ny resurs eller starta en virtuell dator.
Samling: Aktivitetslogghändelser genereras automatiskt och samlas in i ett separat arkiv för visning i Azure Portal.
Routning: Du kan skicka aktivitetsloggdata till Azure Monitor-loggar så att du kan analysera dem tillsammans med andra loggdata. Andra platser som Azure Storage, Azure Event Hubs och vissa Microsoft-övervakningspartner är också tillgängliga. Mer information om hur du dirigerar aktivitetsloggen finns i Översikt över Azure-aktivitetsloggen.
Visa Containerloggar, händelser och poddmått för Azure Kubernetes Service (AKS) i realtid
I det här avsnittet får du lära dig hur du använder livedatafunktionen i Container Insights för att visa Azure Kubernetes Service-containerloggar, händelser och poddmått i realtid. Den här funktionen ger direkt åtkomst till kubectl logs -c
händelser kubectl get
och kubectl top pods
hjälper dig att felsöka problem i realtid.
Kommentar
AKS använder loggningsarkitekturer på Kubernetes-klusternivå. Containerloggarna finns inuti /var/log/containers
på noden. Information om hur du kommer åt en nod finns i Ansluta till AKS-klusternoder (Azure Kubernetes Service).
Hjälp med att konfigurera livedatafunktionen finns i Konfigurera livedata i Container Insights. Den här funktionen har direkt åtkomst till Kubernetes-API:et. Mer information om autentiseringsmodellen finns i Kubernetes API.
Visa AKTIVA AKS-resursloggar
Kommentar
För att komma åt loggar från ett privat kluster måste du vara på en dator i samma privata nätverk som klustret.
Under Kubernetes-resurser väljer du Arbetsbelastningar.
Välj den distribution, podd, replikuppsättning, tillståndskänslig uppsättning, jobb eller Cron-jobb som du vill visa loggar för och välj sedan Liveloggar.
Välj den resurs som du vill visa loggar för.
I följande exempel visas loggarna för en poddresurs :
Visa live-loggar
Du kan visa loggdata i realtid när containermotorn genererar dem i klustret, noderna, styrenheterna eller containrarna.
Under Övervakning väljer du Insikter.
Välj fliken Kluster, Noder, Kontrollanter eller Containrar och välj sedan det objekt som du vill visa loggar för.
I resursöversikten väljer du Liveloggar.
Kommentar
Om du vill visa data från Log Analytics-arbetsytan väljer du Visa loggar i Log Analytics. Mer information om hur du visar historiska loggar, händelser och mått finns i Köra frågor mot loggar från Container Insights.
Om data kan hämtas efter lyckad autentisering börjar de strömmas till fliken Liveloggar. Du kan visa loggdata här i en kontinuerlig ström. Följande bild visar loggarna för en containerresurs :
Visa livehändelser
Du kan visa händelsedata i realtid när containermotorn genererar dem i klustret, noderna, styrenheterna eller containrarna.
Under Övervakning väljer du Insikter.
Välj fliken Kluster, Noder, Kontrollanter eller Containrar och välj sedan det objekt som du vill visa händelser för.
På sidan Resursöversikt väljer du Livehändelser.
Kommentar
Om du vill visa data från Log Analytics-arbetsytan väljer du Visa händelser i Log Analytics. Mer information om hur du visar historiska loggar, händelser och mått finns i Köra frågor mot loggar från Container Insights.
Om data kan hämtas efter lyckad autentisering börjar de strömmas till fliken Livehändelser. Följande bild visar händelserna för en containerresurs :
Visa mått
Du kan visa data för realtidsmått när containermotorn genererar dem på noderna eller styrenheterna genom att välja en poddresurs .
Under Övervakning väljer du Insikter.
Välj fliken Noder eller Kontrollanter och välj sedan poddobjektet som du vill visa mått för.
På sidan Resursöversikt väljer du Live-mått.
Kommentar
Om du vill visa data från Log Analytics-arbetsytan väljer du Visa händelser i Log Analytics. Mer information om hur du visar historiska loggar, händelser och mått finns i Köra frågor mot loggar från Container Insights.
Om data kan hämtas efter lyckad autentisering börjar de strömmas till fliken Live Metrics. Följande bild visar måtten för en poddresurs :
Analysera övervakningsdata
Det finns många verktyg för att analysera övervakningsdata.
Azure Monitor-verktyg
Azure Monitor har stöd för följande grundläggande verktyg:
Metrics Explorer, ett verktyg i Azure Portal som gör att du kan visa och analysera mått för Azure-resurser. Mer information finns i Analysera mått med Azure Monitor Metrics Explorer.
Log Analytics, ett verktyg i Azure Portal som gör att du kan köra frågor mot och analysera loggdata med hjälp av Kusto-frågespråket (KQL). Mer information finns i Kom igång med loggfrågor i Azure Monitor.
Aktivitetsloggen, som har ett användargränssnitt i Azure Portal för visning och grundläggande sökningar. Om du vill göra mer djupgående analys måste du dirigera data till Azure Monitor-loggar och köra mer komplexa frågor i Log Analytics.
Verktyg som möjliggör mer komplex visualisering är:
- Instrumentpaneler som gör att du kan kombinera olika typer av data i ett enda fönster i Azure Portal.
- Arbetsböcker, anpassningsbara rapporter som du kan skapa i Azure Portal. Arbetsböcker kan innehålla text-, mått- och loggfrågor.
- Grafana, ett öppet plattformsverktyg som utmärker sig i operativa instrumentpaneler. Du kan använda Grafana för att skapa instrumentpaneler som innehåller data från flera andra källor än Azure Monitor.
- Power BI, en tjänst för affärsanalys som tillhandahåller interaktiva visualiseringar mellan olika datakällor. Du kan konfigurera Power BI för att automatiskt importera loggdata från Azure Monitor för att dra nytta av dessa visualiseringar.
Exportverktyg för Azure Monitor
Du kan hämta data från Azure Monitor till andra verktyg med hjälp av följande metoder:
Mått: Använd REST-API:et för mått för att extrahera måttdata från Azure Monitor-måttdatabasen. API:et stöder filteruttryck för att förfina de data som hämtas. Mer information finns i Azure Monitor REST API-referens.
Loggar: Använd REST-API:et eller de associerade klientbiblioteken.
Ett annat alternativ är dataexporten för arbetsytan.
Information om hur du kommer igång med REST-API:et för Azure Monitor finns i Genomgång av REST API för Azure-övervakning.
Övervakningsöversiktssida i Azure Portal
Fliken Övervakning på sidan Översikt för aks-klusterresursen är ett snabbt sätt att börja visa övervakningsdata i Azure Portal. Den här fliken innehåller diagram med vanliga mått för klustret avgränsat med nodpool. Du kan välja någon av dessa diagram för att ytterligare analysera data i måttutforskaren.
Fliken Övervakning innehåller även länkar till Managed Prometheus och Container Insights för klustret. Om du behöver aktivera dessa verktyg kan du aktivera dem här. Du kan också se en banderoll överst på skärmen som rekommenderar att du aktiverar andra funktioner för att förbättra övervakningen av klustret.
Dricks
Du kan komma åt övervakningsfunktioner för alla AKS-kluster i din prenumeration genom att välja Azure Monitor på startsidan för Azure Portal.
Kusto-frågor
Du kan analysera övervakningsdata i Azure Monitor-loggar/Log Analytics-arkivet med hjälp av Kusto-frågespråket (KQL).
Viktigt!
När du väljer Loggar på tjänstens meny i portalen öppnas Log Analytics med frågeomfånget inställt på den aktuella tjänsten. Det här omfånget innebär att loggfrågor endast innehåller data från den typen av resurs. Om du vill köra en fråga som innehåller data från andra Azure-tjänster väljer du Loggar på Azure Monitor-menyn . Mer information finns i Log query scope and time range in Azure Monitor Log Analytics (Loggfrågeomfång och tidsintervall i Azure Monitor Log Analytics ).
En lista över vanliga frågor för alla tjänster finns i Log Analytics-frågegränssnittet.
Aviseringar
Azure Monitor-aviseringar meddelar dig proaktivt när specifika villkor finns i dina övervakningsdata. Med aviseringar kan du identifiera och åtgärda problem i systemet innan kunderna märker dem. Mer information finns i Azure Monitor-aviseringar.
Det finns många källor till vanliga aviseringar för Azure-resurser. Exempel på vanliga aviseringar för Azure-resurser finns i Exempelloggaviseringsfrågor. Webbplatsen Azure Monitor Baseline Alerts (AMBA) innehåller en halvautomatiserad metod för att implementera viktiga plattformsmåttaviseringar, instrumentpaneler och riktlinjer. Webbplatsen gäller för en kontinuerligt expanderande delmängd av Azure-tjänster, inklusive alla tjänster som ingår i Azure Landing Zone (ALZ).
Det gemensamma aviseringsschemat standardiserar förbrukningen av Azure Monitor-aviseringsmeddelanden. Mer information finns i Vanliga aviseringsscheman.
Typer av aviseringar
Du kan avisera om valfritt mått eller loggdatakälla på Azure Monitor-dataplattformen. Det finns många olika typer av aviseringar beroende på vilka tjänster du övervakar och de övervakningsdata som du samlar in. Olika typer av aviseringar har olika fördelar och nackdelar. Mer information finns i Välj rätt övervakningsaviseringstyp.
I följande lista beskrivs de typer av Azure Monitor-aviseringar som du kan skapa:
- Måttaviseringar utvärderar resursmått med jämna mellanrum. Mått kan vara plattformsmått, anpassade mått, loggar från Azure Monitor som konverterats till mått eller Application Insights-mått. Måttaviseringar kan också tillämpa flera villkor och dynamiska tröskelvärden.
- Med loggaviseringar kan användare använda en Log Analytics-fråga för att utvärdera resursloggar med en fördefinierad frekvens.
- Aktivitetsloggaviseringar utlöses när en ny aktivitetslogghändelse inträffar som matchar definierade villkor. Resource Health-aviseringar och Service Health-aviseringar är aktivitetsloggaviseringar som rapporterar om tjänstens och resurshälsan.
Vissa Azure-tjänster stöder även aviseringar om smart identifiering, Prometheus-aviseringar eller rekommenderade aviseringsregler.
För vissa tjänster kan du övervaka i stor skala genom att tillämpa samma måttaviseringsregel på flera resurser av samma typ som finns i samma Azure-region. Enskilda meddelanden skickas för varje övervakad resurs. Information om Azure-tjänster och moln som stöds finns i Övervaka flera resurser med en aviseringsregel.
Rekommenderade aviseringsregler
För vissa Azure-tjänster kan du aktivera rekommenderade färdiga aviseringsregler.
Systemet kompilerar en lista över rekommenderade aviseringsregler baserat på:
- Resursproviderns kunskaper om viktiga signaler och tröskelvärden för övervakning av resursen.
- Data som talar om vad kunder ofta aviserar om för den här resursen.
Kommentar
Rekommenderade aviseringsregler är tillgängliga för:
- Virtuella datorer
- Azure Kubernetes Service-resurser (AKS)
- Log Analytics-arbetsytor
Prometheus-måttbaserade aviseringar
När du aktiverar insamling av Prometheus-mått för klustret kan du ladda ned en samling rekommenderade Prometheus-aviseringsregler. Den här nedladdningen innehåller följande regler:
Nivå | Aviseringar |
---|---|
Klusternivå | KubeCPUQuotaOvercommit KubeMemoryQuotaOvercommit KubeContainerOOMKilledCount KubeClientErrors KubePersistentVolumeFillingUp KubePersistentVolumeInodesFillingUp KubePersistentVolumeErrors KubeContainerWaiting KubeDaemonSetNotScheduled KubeDaemonSetMisScheduled KubeQuotaAlmostFull |
Nodnivå | KubeNodeUnreachable KubeNodeReadinessFlapping |
Poddnivå | KubePVUsageHigh KubeDeploymentReplicasMismatch KubeStatefulSetReplicasMismatch KubeHpaReplicasMismatch KubeHpaMaxedOut KubePodCrashLooping KubeJobStale KubePodContainerRestart KubePodReadyStateLow KubePodFailedState KubePodNotReadyByController KubeStatefulSetGenerationMismatch KubeJobFailed KubeContainerAverageCPUHigh KubeContainerAverageMemoryHigh KubeletPodStartUpLatencyHigh |
Se Skapa loggaviseringar från Container Insights och Så här kör du frågor mot loggar från Container Insights. Loggaviseringar kan mäta två olika saker, som kan användas för att övervaka i olika scenarier:
- Resultatantal: Räknar antalet rader som returneras av frågan och kan användas för att arbeta med händelser som Windows-händelseloggar, Syslog och programfel.
- Beräkning av ett värde: Gör en beräkning baserat på en numerisk kolumn och kan användas för att inkludera valfritt antal resurser. Ett exempel är CPU-procent.
Beroende på vilket aviseringsscenario som krävs måste loggfrågor skapas för att jämföra en DateTime med den aktuella tiden med hjälp av operatorn now
och gå tillbaka en timme. Information om hur du skapar loggbaserade aviseringar finns i Skapa loggaviseringar från Container Insights.
AKS-aviseringsregler
I följande tabell visas några föreslagna aviseringsregler för AKS. Dessa aviseringar är bara exempel. Du kan ange aviseringar för alla mått, loggposter eller aktivitetsloggposter som anges i datareferensen för Azure Kubernetes Service-övervakning.
Villkor | beskrivning |
---|---|
Cpu-användning i procent > 95 | Utlöses när den genomsnittliga CPU-användningen över alla noder överskrider tröskelvärdet. |
Minnesarbetsuppsättning i procent > 100 | Utlöses när den genomsnittliga arbetsuppsättningen för alla noder överskrider tröskelvärdet. |
Advisor-rekommendationer
För vissa tjänster, om kritiska villkor eller överhängande ändringar inträffar under resursåtgärder, visas en avisering på sidan Tjänstöversikt i portalen. Du hittar mer information och rekommenderade korrigeringar för aviseringen i Advisor-rekommendationer under Övervakning i den vänstra menyn. Under normal drift visas inga advisor-rekommendationer.
Mer information om Azure Advisor finns i Översikt över Azure Advisor.
Kommentar
Om du skapar eller kör ett program som körs på din tjänst kan Azure Monitor-programinsikter erbjuda fler typer av aviseringar.
Nätverksobservabilitet
Nätverksobservabilitet är en viktig del av att upprätthålla ett hälsosamt och högpresterande Kubernetes-kluster. Genom att samla in och analysera data om nätverkstrafik kan du få insikter om hur klustret fungerar och identifiera potentiella problem innan de orsakar avbrott eller prestandaförsämring.
När tillägget Nätverksobservabilitet är aktiverat samlar det in och konverterar användbara mått till Prometheus-format, som kan visualiseras i Grafana. När det här är aktiverat matas de insamlade måtten automatiskt in i Azure Monitor-hanterad tjänst för Prometheus. En Grafana-instrumentpanel är tillgänglig på lagringsplatsen för den offentliga Instrumentpanelen i Grafana för att visualisera de mått för nätverksobservabilitet som samlas in av Prometheus. Mer information finns i Konfiguration av nätverksobservabilitet för detaljerade instruktioner.
Relaterat innehåll
Azure Kubernetes Service