Bästa metoder för autoskalning

Autoskalning i Azure Monitor gäller endast för tjänster för Virtual Machine Scale Sets, Cloud Services, App Service – Web Apps och 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åttet 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å. Till exempel "skala ut med en instans när genomsnittlig CPU > 80 % när antalet instanser är 2", innebär utskalning när den genomsnittliga CPU:en 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 minst 2, max = 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 vid autoskalning med min och max

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älligt om du inte återställer reglerna för autoskalning också.

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 det högsta eller lägsta antalet instanser som definierats i profilen. Det här är inte optimalt, helst vill du att resursen ska skalas upp 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 ned 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 skalnings- och utskalningsvillkoren kan uppfyllas samtidigt som det resulterar i en viss nivå av flaxning. Följande regelkombination rekommenderas till exempel inte* eftersom det inte finns någon inskalningsregel för minnesanvändning:

  • Om CPU > 90 %, skala ut med 1
  • Om minnet > är 90 % skalar du ut med 1
  • Om CPU < 45 %, skala 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 %. Detta 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 som mått för lagring eller Service Bus-kölängd är tröskelvärdet det genomsnittliga antalet meddelanden som är tillgängliga 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 utskalningen 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 följande fyra regler för autoskalning för att illustrera:

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

Sedan inträffar följande:

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

Å andra sidan, om CPU är 25 % och minnet är 51 % autoskalning skalas inte in. Processorn måste vara 29 % och minne 49 % för att kunna skalas in.

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. Välj därför ett standardantal instanser som är säkra för dina arbetsbelastningar.

Konfigurera aviseringar för autoskalning

Autoskalning skickas till 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 flapping och avbryter skalningsförsöket. Du ser en loggtyp för Flapping i den här situationen. Om du ser detta 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 detta har autoskalningsmotorn försökt skala (till exempel från 4 instanser till 2), men har fastställt att detta skulle orsaka flaxning. I stället har autoskalningsmotorn skalats till ett annat antal instanser (till exempel med 3 instanser i stället för 2), 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. Här är exempel på hur du skapar en aktivitetsloggavisering för att övervaka alla autoskalningsmotoråtgärder i din prenumeration eller för att skapa 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 och även om de fortfarande arbetar för att tillåta bakåtkompatibilitet rekommenderas de inte, och branschen övergår snabbt till 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. Om dina agenter inte kan kommunicera över minst TLS 1.2 när Azure har upphört med det äldre stödet skulle du inte kunna skicka data till Azure Monitor-loggar.

Vi rekommenderar att du inte uttryckligen anger att din agent endast ska använda TLS 1.2 om det inte är absolut nödvändigt. 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 blir inaktuell till förmån för dessa nyare standarder.

Nästa steg