Bästa metoder för autoskalning

Autoskalning i Azure Monitor gäller endast för Azure Virtual Machine Scale Sets, Azure Cloud Services, Web Apps-funktionen i Azure App Service och Azure API Management.

Autoskalningsbegrepp

  • En resurs kan bara ha en autoskalningsinställning.
  • En autoskalningsinställning kan ha en eller flera profiler, och varje profil kan ha en eller flera regler för autoskalning.
  • En autoskalningsinställning skalar instanser vågrätt, vilket är ute genom att öka instanserna och in genom att minska antalet instanser.
  • En autoskalningsinställning har ett högsta, lägsta och standardvärde för instanser.
  • Ett autoskalningsjobb läser alltid det associerade mått som ska skalas efter och kontrollerar om det har passerat det konfigurerade tröskelvärdet för utskalning eller inskalning. Du kan visa en lista över mått som autoskalning kan skala med i Vanliga mått för automatisk skalning i Azure Monitor.
  • Alla tröskelvärden beräknas på instansnivå. Ett exempel är "skala ut med en instans när genomsnittlig CPU > 80 % när antalet instanser är 2.". Det innebär utskalning när den genomsnittliga processorn för alla instanser är större än 80 %.
  • Alla autoskalningsfel loggas i aktivitetsloggen. Du kan sedan konfigurera en aktivitetsloggavisering så att du kan meddelas via e-post, SMS eller webhooks när det uppstår ett autoskalningsfel.
  • På samma sätt publiceras alla lyckade skalningsåtgärder i aktivitetsloggen. Du kan sedan konfigurera en aktivitetsloggavisering så att du kan meddelas via e-post, SMS eller webhooks när det finns en lyckad autoskalningsåtgärd. Du kan också konfigurera e-post- eller webhook-meddelanden så att de meddelas om lyckade skalningsåtgärder via fliken Meddelanden i autoskalningsinställningen.

Metodtips för automatisk skalning

Använd följande metodtips när du använder autoskalning.

Se till att de högsta och lägsta värdena är olika och har lämplig marginal mellan sig

Om du har en inställning som har minimum=2, maximum=2 och det aktuella instansantalet är 2, kan ingen skalningsåtgärd utföras. Ha en lämplig marginal mellan högsta och lägsta antal instanser, som ingår. Autoskalning skalar alltid mellan dessa gränser.

Manuell skalning återställs efter minsta och högsta autoskalning

Om du manuellt uppdaterar antalet instanser till ett värde över eller under det högsta värdet skalas autoskalningsmotorn automatiskt tillbaka till minimivärdet (om det är nedan) eller det högsta (om ovanstående). Du kan till exempel ange intervallet mellan 3 och 6. Om du har en instans som körs skalas autoskalningsmotorn till tre instanser vid nästa körning. Om du manuellt ställer in skalan till åtta instanser skalar autoskalningen vid nästa körning tillbaka till sex instanser vid nästa körning. Manuell skalning är tillfällig om du inte även återställer reglerna för autoskalning.

Använd alltid en kombination av utskalning och inskalningsregel som utför en ökning och minskning

Om du bara använder en del av kombinationen vidtar autoskalning endast åtgärder i en enda riktning (skala ut eller in) tills den når maximalt eller minsta antal instanser enligt definitionen i profilen. Den här situationen är inte optimal. Helst vill du att resursen ska skalas ut vid tider med hög användning för att säkerställa tillgänglighet. På samma sätt vill du att resursen ska skalas in i tider med låg användning så att du kan spara pengar.

När du använder en regel för in- och utskalning bör du helst använda samma mått för att kontrollera båda. Annars är det möjligt att in- och utskalningsvillkoren kan uppfyllas samtidigt och resultera i en viss nivå av flaxning. Vi rekommenderar till exempel inte följande regelkombination eftersom det inte finns någon inskalningsregel för minnesanvändning:

  • Om processorn > är 90 % skalar du ut med 1
  • Om minnet > är 90 % skalar du ut med 1
  • Om CPU < 45 % skalas in med 1

I det här exemplet kan du ha en situation där minnesanvändningen är över 90 % men CPU-användningen är under 45 %. Det här scenariot kan leda till flaxning så länge båda villkoren är uppfyllda.

Välj lämplig statistik för ditt diagnostikmått

För diagnostikmått kan du välja mellan Medelvärde, Minimum, Maximum och Total som ett mått att skala efter. Den vanligaste statistiken är Genomsnitt.

Att tänka på vid skalning av tröskelvärden för särskilda mått

För särskilda mått, till exempel ett Azure Storage- eller Azure Service Bus kölängdsmått, är tröskelvärdet det genomsnittliga antalet tillgängliga meddelanden per aktuellt antal instanser. Välj noggrant tröskelvärdet för det här måttet.

Låt oss illustrera det med ett exempel för att se till att du förstår beteendet bättre:

  • Öka antalet instanser med 1 när antalet >meddelanden i lagringskö = 50
  • Minska antalet instanser med 1 när antalet <meddelanden i lagringskö = 10

Överväg följande sekvens:

  1. Det finns två lagringsköinstanser.
  2. Meddelanden fortsätter att komma och när du granskar lagringskö läser det totala antalet 50. Du kan anta att autoskalning ska starta en utskalningsåtgärd. Observera dock att det fortfarande är 50/2 = 25 meddelanden per instans. Därför sker inte utskalning. För att den första utskalningsåtgärden ska ske ska det totala antalet meddelanden i lagringskö vara 100.
  3. Anta sedan att det totala antalet meddelanden når 100.
  4. En tredje lagringsköinstans läggs till på grund av en utskalningsåtgärd. Nästa utskalningsåtgärd sker inte förrän det totala antalet meddelanden i kön når 150 eftersom 150/3 = 50.
  5. Nu blir antalet meddelanden i kön mindre. Med tre instanser inträffar den första inskalningsåtgärden när det totala antalet meddelanden i alla köer uppgår till 30 eftersom 30/3 = 10 meddelanden per instans, vilket är tröskelvärdet för inskalning.

Att tänka på vid skalning när flera regler har konfigurerats i en profil

Det finns fall där du kan behöva ange flera regler i en profil. Följande autoskalningsregler används av autoskalningsmotorn när flera regler anges:

  • Vid utskalning körs autoskalning om någon regel uppfylls.
  • Vid inskalning kräver autoskalning att alla regler uppfylls.

Anta att du har fyra regler för autoskalning för att illustrera:

  • Om processorn < är 30 % skalar du in med 1
  • Om minnet < är 50 % skalar du in med 1
  • Om PROCESSOR > 75 %, skala ut med 1
  • Om minnet > är 75 % skalar du ut med 1

Sedan inträffar följande åtgärd:

  • Om processorn är 76 % och minnet är 50 % skalar vi ut.
  • Om processorn är 50 % och minnet är 76 % skalar vi ut.

Om processorn å andra sidan är 25 % och minnet är 51 % skalas inte autoskalningen in. Om du vill skala in måste processorn vara 29 % och minne 49 %.

Välj alltid ett säkert standardantal instanser

Standardantalet för instanser är viktigt eftersom autoskalning skalar din tjänst till det antalet när mått inte är tillgängliga. Därför väljer du ett standardantal instanser som är säkra för dina arbetsbelastningar.

Konfigurera aviseringar för autoskalning

Autoskalning av inlägg i aktivitetsloggen om något av följande villkor inträffar:

  • Autoskalning utfärdar en skalningsåtgärd.
  • Autoskalningstjänsten slutför en skalningsåtgärd.
  • Autoskalningstjänsten kan inte utföra en skalningsåtgärd.
  • Mått är inte tillgängliga för autoskalningstjänsten för att fatta ett skalningsbeslut.
  • Mått är tillgängliga (återställning) igen för att fatta ett skalningsbeslut.
  • Autoskalning identifierar flaxning och avbryter skalningsförsöket. Du ser en loggtyp för Flapping i den här situationen. Om du ser den här loggtypen bör du överväga om tröskelvärdena är för smala.
  • Autoskalning identifierar flaxning men kan fortfarande skalas. Du ser en loggtyp för FlappingOccurred i den här situationen. Om du ser den här loggtypen har autoskalningsmotorn försökt skala (till exempel från fyra instanser till två) men har fastställt att den här ändringen skulle orsaka flaxning. I stället har autoskalningsmotorn skalats till ett annat antal instanser (till exempel med tre instanser i stället för två), vilket inte längre orsakar flaxning, så den har skalats till det här antalet instanser.

Du kan också använda en aktivitetsloggavisering för att övervaka hälsotillståndet för autoskalningsmotorn. Ett exempel visar hur du skapar en aktivitetsloggavisering för att övervaka alla autoskalningsmotoråtgärder i din prenumeration. Ett annat exempel visar hur du skapar en aktivitetsloggavisering för att övervaka alla misslyckade åtgärder för automatisk skalning av in-/utskalning i din prenumeration.

Förutom att använda aktivitetsloggaviseringar kan du även konfigurera e-post- eller webhook-meddelanden så att de meddelas om skalningsåtgärder via fliken meddelanden i autoskalningsinställningen.

Skicka data på ett säkert sätt med TLS 1.2

För att säkerställa säkerheten för data som överförs till Azure Monitor rekommenderar vi starkt att du konfigurerar agenten så att den använder minst TLS (Transport Layer Security) 1.2. Äldre versioner av TLS/Secure Sockets Layer (SSL) har visat sig vara sårbara. Även om de fortfarande fungerar för att tillåta bakåtkompatibilitet rekommenderar vi dem inte . Branschen går snabbt över för att överge stödet för dessa äldre protokoll.

PCI Security Standards Council har satt en tidsfrist till den 30 juni 2018 för att inaktivera äldre versioner av TLS/SSL och uppgradera till säkrare protokoll. När Azure har tagit bort äldre stöd kan du inte skicka data till Azure Monitor-loggar om dina agenter inte kan kommunicera över minst TLS 1.2.

Vi rekommenderar att du inte uttryckligen anger att din agent endast ska använda TLS 1.2 om det inte behövs. Att tillåta agenten att automatiskt identifiera, förhandla och dra nytta av framtida säkerhetsstandarder är att föredra. Annars kan du missa den extra säkerheten för de nyare standarderna och eventuellt uppleva problem om TLS 1.2 någonsin är inaktuell till förmån för dessa nyare standarder.

Nästa steg