Dela via


Felsöka autoskalning i Azure Monitor

Med autoskalning i Azure Monitor kan du ha rätt mängd resurser som körs för att hantera belastningen på ditt program. Det gör att du kan lägga till resurser för att hantera ökad belastning och även spara pengar genom att ta bort resurser som är inaktiva. Du kan skala baserat på ett schema, ett fast datum eller ett resursmått som du väljer. Mer information finns i Översikt för autoskala.

Autoskalningstjänsten tillhandahåller mått och loggar som hjälper dig att förstå vilka skalningsåtgärder som har inträffat och utvärderingen av de villkor som ledde till dessa åtgärder. Du hittar svar på frågor som:

  • Varför har min tjänst skalats ut eller skalats in?
  • Varför skalas inte min tjänst?
  • Varför misslyckades en autoskaleringsåtgärd?
  • Varför tar en autoskalningsåtgärd tid att skala?

Skalningsuppsättningar för virtuella Flex-datorer

Skalningsåtgärder för automatisk skalning fördröjs upp till flera timmar efter att en manuell skalningsåtgärd har tillämpats på en Flex Microsoft.Compute/virtualMachineScaleSets-resurs (VMSS) för en specifik uppsättning virtual machine-åtgärder.
Till exempel Azure VM CLI Ta bort eller Azure VM Rest API Ta bort där åtgärden utförs på en enskild VM.

I dessa fall är autoskalningstjänsten inte medveten om de enskilda VM-åtgärderna.

Undvik det här scenariot genom att använda samma åtgärd, men på nivå med skaleringsuppsättning för virtuella maskiner. Till exempel Azure VMSS CLI Delete-instans eller Azure VMSS Rest API Delete Instance. Autoskalning identifierar ändringen av antalet instanser i VM-skalningsuppsättningen och utför lämpliga skalningsåtgärder.

Autoskalningsmetrik

Autoskalning ger dig fyra mått för att förstå dess drift:

  • Observerat måttvärde: Värdet för det mått som du valde att utföra skalningsåtgärden på, vilket visas eller beräknas av autoskalningsmotorn. Eftersom en enskild autoskalningsinställning kan ha flera regler och därför flera måttkällor kan du filtrera med hjälp av "måttkälla" som en dimension.
  • Tröskelvärde för mått: Tröskelvärdet som du anger för att utföra skalningsåtgärden. Eftersom en enskild autoskalningsinställning kan ha flera regler och därför flera mätkällor kan du filtrera med hjälp av "måttregel" som en dimension.
  • Observerad kapacitet: Det faktiska antalet aktiva instanser av målresursen som rapporteras av autoskalningsmotorn.
  • Initierade skalningsåtgärder: Antalet åtgärder för utskalning och inskalning som har initierats av autoskalningsmotorn. Du kan filtrera efter utskalnings- eller inskalningsåtgärder.

Du kan använda måttutforskaren för att kartlägga de föregående måtten på ett och samma ställe. Diagrammet bör visa:

  • Verkligt mått.
  • Mått som visas/beräknas av autoskalningsmotorn.
  • Tröskelvärde för en skalningsåtgärd.
  • Kapacitetsändring.

Exempel 1: Analysera en autoskalningsregel

En autoskalningsinställning för en skala grupp av virtuella maskiner:

  • Skalar ut när den genomsnittliga CPU-procentandelen för en uppsättning är större än 70 % i 10 minuter.
  • Skalning sker när CPU-användningen i uppsättningen är under 5 % i mer än 10 minuter.

Nu ska vi granska mätvärdena från autoskalerings-tjänsten.

Följande diagram visar ett cpu-mått i procent för en VM-skalningsuppsättning.

Skärmbild som visar ett exempel på en skaluppsättning för virtuella maskiner med CPU i procentenhet.

I nästa diagram visas Observerat måttvärde-måttet för en autoskalningsinställning.

Skärmbild som visar ett annat exempel på procentuell CPU-användning för en skaluppsättning av virtuella maskiner.

Det sista diagrammet visar måtttröskel - och observerade kapacitetsmått . Måtttröskelmåttet högst upp för utskalningsregeln är 70. Måttet Firad kapacitet längst ned visar antalet aktiva instanser, som för närvarande är 3.

Skärmbild som visar tröskelvärde för mått och observerad kapacitet.

Anteckning

Du kan filtrera Måttgränsvärdet efter utskalningsregeln (öka) för att se utskalningströskeln och efter inskalningsregeln (minska) för att se inskalningströskeln.

Exempel 2: Avancerad autoskalning för en VM-skalningsuppsättning

Med en autoskalningsinställning kan en virtuella maskin-skalningsuppsättningsresurs skala ut baserat på sitt eget mått för utgående flöden. Alternativet Dividera mått efter instansantal för måtttröskeln är valt.

Skalningsåtgärdsregeln är om värdet för Utgående flöde per instans är större än 10, ska autoskalningstjänsten skalas ut med 1 instans.

I det här fallet beräknas autoskalningsmotorns observerade måttvärde som det faktiska måttvärdet dividerat med antalet instanser. Om det observerade måttvärdet är mindre än tröskelvärdet initieras ingen utskalningsåtgärd.

Följande skärmbilder visar två måttdiagram.

Diagrammet Avg Outbound Flows visar värdet för måttet Utgående flöden . Det faktiska värdet är 6.

Skärmbild som visar sidan Genomsnittliga utgående flöden med ett exempel på ett diagram över autoskalningsmetrik för virtuella maskin skalningsuppsättningar.

Följande diagram visar några värden:

  • Måttet Observerat måttvärde i mitten är 3 eftersom det finns två aktiva instanser och 6 dividerat med 2 är 3.
  • Måttet Observerad kapacitet längst ned visar antalet instanser som registreras av en autoskalningsmotor.
  • Tröskelmåttet längst upp är inställt på 10.Skärmbild som visar ett exempel på autoskalningsdiagram för en virtuell maskinskalningssats.

Om det finns flera skalningsregler kan du använda delning eller alternativet Lägg till filter i diagrammet metrics explorer för att titta på ett mått efter en specifik källa eller regel. Mer information om hur du delar upp ett måttdiagram finns i Avancerade funktioner i måttdiagram – delning.

Exempel 3: Förstå autoskalningshändelser

På skärmen för autoskalningsinställning går du till fliken Körningshistorik för att se de senaste skalningsåtgärderna. På fliken visas även ändringen i Observerad kapacitet över tid. För att hitta mer information om alla autoskalningsåtgärder, inklusive åtgärder som uppdatering och borttagning av autoskalningsinställningar, ska du visa aktivitetsloggen och filtrera efter autoskalningsåtgärder.

Skärmbild som visar körningshistorik för autoskalningsinställningar.

Autoskalning av resursloggar

Autoskalningstjänsten tillhandahåller resursloggar. Det finns två kategorier av loggar:

  • Autoskalningsutvärderingar: Autoskalningsmotorn registrerar loggposter för varje enskild villkorsutvärdering varje gång den gör en kontroll. Posten innehåller information om de observerade värdena för måtten, de regler som utvärderas och om utvärderingen resulterade i en skalningsåtgärd eller inte.
  • Automatisk skalningsåtgärder: Motorn registrerar skalningshändelser som initierats av autoskalningstjänsten och resultaten av dessa skalningsåtgärder (lyckade, misslyckade och omfattningen av skalning som observerats av autoskalningstjänsten).

Precis som med alla Azure Monitor-tjänster som stöds kan du använda diagnostikinställningar för att dirigera loggarna till:

  • Log Analytics-arbetsytan för detaljerad analys.
  • Azure Event Hubs och sedan till icke-Azure-verktyg.
  • Ditt Azure Storage-konto för arkiv.

Skärmbild som visar diagnostikinställningar för automatisk skalning.

Föregående skärmbild visar Azure portalens panelen för diagnostikinställningar för automatisk skalning. Där kan du välja fliken Diagnostik-/resursloggar och aktivera loggsamling och routning. Du kan också utföra samma åtgärd med hjälp av REST-API:et, Azure CLI, PowerShell och Azure Resource Manager-mallarna för diagnostikinställningar genom att välja resurstyp som Microsoft.Insights/AutoscaleSettings.

Felsöka med hjälp av autoskalningsloggar

För bästa felsökningsupplevelse rekommenderar vi att du dirigerar loggarna till Azure Monitor-loggar (Log Analytics) via en arbetsyta när du skapar autoskalningsinställningen. Den här processen visas i skärmbilden i föregående avsnitt. Du kan verifiera utvärderingarna och skala åtgärderna bättre med hjälp av Log Analytics.

När du har konfigurerat att autoskalningsloggarna ska skickas till Log Analytics-arbetsytan kan du köra följande frågor för att kontrollera loggarna.

Kom igång genom att prova denna sökfråga för att visa de senaste utvärderingsloggarna för autoskalning.

AutoscaleEvaluationsLog
| limit 50

Eller prova följande fråga för att visa de senaste skalningsåtgärdsloggarna:

AutoscaleScaleActionsLog
| limit 50

Använd följande avsnitt för att besvara dessa frågor.

En skalningsåtgärd inträffade som du inte förväntade dig

Utför först frågan för att hitta den skalningsåtgärd du är intresserad av. Om det är den senaste skalningsåtgärden använder du följande fråga:

AutoscaleScaleActionsLog
| take 1

Välj fältet från CorrelationId skalningsåtgärdsloggen. Använd CorrelationId för att hitta rätt utvärderingslogg. När du kör följande fråga visas alla regler och villkor som utvärderades och ledde till skalningsåtgärden.

AutoscaleEvaluationsLog
| where CorrelationId = "<correliationId>"

Vilken profil orsakade en skalningsåtgärd?

En skalad åtgärd har inträffat, men du har överlappande regler och profiler och måste spåra vilken som orsakade åtgärden.

Hitta skalningsåtgärden CorrelationId , enligt beskrivningen i exempel 1. Kör sedan frågan i utvärderingsloggarna för att lära dig mer om profilen.

AutoscaleEvaluationsLog
| where CorrelationId = "<correliationId_Guid>"
| where ProfileSelected == true
| project ProfileEvaluationTime, Profile, ProfileSelected, EvaluationResult

Hela profilutvärderingen kan också förstås bättre med hjälp av följande fråga:

AutoscaleEvaluationsLog
| where TimeGenerated > ago(2h)
| where OperationName contains == "profileEvaluation"
| project OperationName, Profile, ProfileEvaluationTime, ProfileSelected, EvaluationResult

En skalningsåtgärd inträffade inte

Du förväntade dig en skalningsåtgärd och det inträffade inte. Det kanske inte finns några skalningsåtgärdshändelser eller loggar.

Granska måtten för autoskalning om du använder en måttbaserad skalningsregel. Det är möjligt att värdet för observerat mått eller observerad kapacitet inte är vad du förväntade dig att de skulle vara, så skalningsregeln utlöses inte. Du skulle fortfarande se utvärderingar, men inte någon skaleringsregel. Det är också möjligt att nedkylningstiden hindrade en skalningsåtgärd från att inträffa.

Granska utvärderingsloggarna för autoskalning under den tidsperiod då du förväntade dig att skalningsåtgärden skulle inträffa. Granska alla utvärderingar som den gjorde och varför den beslutade att inte utlösa en skalningsåtgärd.

AutoscaleEvaluationsLog
| where TimeGenerated > ago(2h)
| where OperationName == "MetricEvaluation" or OperationName == "ScaleRuleEvaluation"
| project OperationName, MetricData, ObservedValue, Threshold, EstimateScaleResult

Skalningsåtgärden misslyckades

Det kan finnas ett fall där autoskalningstjänsten utförde skalningsåtgärden, men systemet beslutade att inte skala eller misslyckades med att slutföra skalningsåtgärden. Använd den här frågan för att hitta de misslyckade skalningsåtgärderna:

AutoscaleScaleActionsLog
| where ResultType == "Failed"
| project ResultDescription

Skapa aviseringsregler för att få meddelanden om autoskalningsåtgärder eller fel. Du kan också skapa regler för att få aviseringar om autoskalningshändelser.

Schema för autoskalning av resursloggar

Mer information finns i Autoskala resursloggar.

Nästa steg

Läs information om bästa metoder för autoskalning.