Problemen met automatische schaalaanpassing van Azure Monitor oplossen

Met automatische schaalaanpassing van Azure Monitor kunt u de juiste hoeveelheid resources uitvoeren om de belasting van uw toepassing af te handelen. Hiermee kunt u resources toevoegen om de toename van de belasting af te handelen en geld te besparen door resources te verwijderen die niet actief zijn. U kunt schalen op basis van een planning, een vaste datum/tijd of een metrische resourcegegevens die u kiest. Zie het overzicht van automatisch schalen voor meer informatie.

De service voor automatisch schalen biedt metrische gegevens en logboeken om inzicht te verkrijgen in de schaalacties en de evaluatie van de voorwaarden die tot deze acties hebben geleid. U vindt antwoorden op vragen zoals:

  • Waarom is mijn service uitgeschaald of ingeschaald?
  • Waarom is mijn service niet geschaald?
  • Waarom is een actie voor automatisch schalen mislukt?
  • Waarom duurt het tijd om een actie voor automatische schaalaanpassing te schalen?

Flex Virtual Machine Scale Sets

Acties voor automatisch schalen worden tot enkele uren vertraagd nadat een handmatige schaalbewerking is toegepast op een Flex Microsoft.Compute/virtualMachineScaleSets-resource (VMSS) voor een specifieke set virtuele-machinebewerkingen.
Bijvoorbeeld Azure VM CLI Verwijderen of Azure VM REST API Delete , waar de bewerking wordt uitgevoerd op een afzonderlijke VM.

In deze gevallen is de service voor automatisch schalen niet op de hoogte van de afzonderlijke VM-bewerkingen.

Gebruik dezelfde bewerking, maar op schaalsetniveau voor virtuele machines om dit scenario te voorkomen. Bijvoorbeeld azure VMSS CLI Delete instance of Azure VMSS REST API Delete Instance. Automatisch schalen detecteert de wijziging van het aantal exemplaren in de virtuele-machineschaalset en voert de juiste schaalacties uit.

Metrische gegevens automatisch schalen

Automatische schaalaanpassing biedt u vier metrische gegevens om inzicht te hebben in de werking ervan:

  • Waargenomen metrische waarde: de waarde van de metrische waarde waarop u hebt gekozen om de schaalactie uit te voeren, zoals weergegeven of berekend door de engine voor automatische schaalaanpassing. Omdat één instelling voor automatische schaalaanpassing meerdere regels en daarom meerdere metrische bronnen kan bevatten, kunt u filteren door 'metrische bron' als dimensie te gebruiken.
  • Drempelwaarde voor metrische gegevens: de drempelwaarde die u instelt om de schaalactie uit te voeren. Omdat één instelling voor automatische schaalaanpassing meerdere regels en daarom meerdere metrische bronnen kan bevatten, kunt u filteren door 'metrische regel' als dimensie te gebruiken.
  • Waargenomen capaciteit: het actieve aantal exemplaren van de doelresource, zoals wordt gezien door de engine voor automatische schaalaanpassing.
  • Geïnitieerde schaalacties: het aantal uit- en inschaalacties dat is geïnitieerd door de engine voor automatisch schalen. U kunt filteren op uitschalen versus inschalen.

U kunt de Metrics Explorer gebruiken om de voorgaande metrische gegevens allemaal op één plaats in kaart te brengen. In de grafiek moet het volgende worden weergegeven:

  • Werkelijke metrische gegevens.
  • Metrische waarde zoals gezien/berekend door engine voor automatische schaalaanpassing.
  • Drempelwaarde voor een schaalactie.
  • Capaciteitswijziging.

Voorbeeld 1: Een regel voor automatisch schalen analyseren

Een instelling voor automatisch schalen voor een virtuele-machineschaalset:

  • Schaalt uit wanneer het gemiddelde CPU-percentage van een set gedurende 10 minuten groter is dan 70%.
  • Wordt ingeschaald wanneer het CPU-percentage van de set langer dan 10 minuten kleiner is dan 5%.

Laten we de metrische gegevens van de service voor automatisch schalen bekijken.

In de volgende grafiek ziet u een cpu-metriek percentage voor een virtuele-machineschaalset.

Screenshot that shows a virtual machine scale set percentage CPU example.

In de volgende grafiek ziet u de metrische waarde waargenomen waarde voor een instelling voor automatische schaalaanpassing.

Screenshot that shows another virtual machine scale set percentage CPU example.

In de laatste grafiek ziet u de metrische gegevens voor metrische drempel en waargenomen capaciteit . De metrische drempelwaarde bovenaan voor de uitschaalregel is 70. In de metrische gegevens waargenomen capaciteit onderaan ziet u het aantal actieve exemplaren, dat momenteel 3 is.

Screenshot that shows Metric Threshold and Observed Capacity.

Notitie

U kunt de drempelwaarde voor metrische gegevens filteren op de uitschaalregelregel voor metrische triggerregels (verhogen) om de drempelwaarde voor uitschalen en door de regel voor inschalen (verlagen) te zien.

Voorbeeld 2: Geavanceerde automatische schaalaanpassing voor een virtuele-machineschaalset

Met een instelling voor automatische schaalaanpassing kan een virtuele-machineschaalsetresource worden uitgeschaald op basis van de eigen metrische gegevens voor uitgaande stromen . De optie Delen op aantal instanties voor de metrische drempelwaarde is geselecteerd.

De regel voor schaalacties is als de waarde van uitgaande stroom per exemplaar groter is dan 10, moet de service voor automatisch schalen met één exemplaar worden uitgeschaald.

In dit geval wordt de waargenomen metrische waarde van de engine voor automatische schaalaanpassing berekend als de werkelijke metrische waarde gedeeld door het aantal exemplaren. Als de waargenomen metrische waarde kleiner is dan de drempelwaarde, wordt er geen uitschaalactie gestart.

In de volgende schermafbeeldingen ziet u twee grafieken met metrische gegevens.

In het diagram Gem. Uitgaande stromen wordt de waarde weergegeven van de metrische waarde voor uitgaande stromen . De werkelijke waarde is 6.

Screenshot that shows the Average Outbound Flows page with an example of a virtual machine scale set autoscale metrics chart.

In de volgende grafiek ziet u enkele waarden:

  • De metrische waarde waargenomen waarde in het midden is 3 omdat er twee actieve exemplaren zijn en 6 gedeeld door 2 is 3.
  • In de metrische gegevens waargenomen capaciteit onderaan ziet u het aantal exemplaren dat wordt weergegeven door een engine voor automatische schaalaanpassing.
  • De metrische drempelwaarde bovenaan is ingesteld op 10.Screenshot that shows a virtual machine scale set autoscale metrics charts example.

Als er meerdere actieregels voor schaalaanpassing zijn, kunt u splitsen of de optie filter toevoegen in de metrics Explorer-grafiek gebruiken om een metrische waarde te bekijken op basis van een specifieke bron of regel. Zie Geavanceerde functies van grafieken met metrische gegevens splitsen voor meer informatie over het splitsen van een metrische grafiek.

Voorbeeld 3: Gebeurtenissen voor automatische schaalaanpassing begrijpen

Ga in het scherm met instellingen voor automatische schaalaanpassing naar het tabblad Uitvoeringsgeschiedenis om de meest recente schaalacties weer te geven. Op het tabblad wordt ook de wijziging in waargenomen capaciteit in de loop van de tijd weergegeven. Bekijk het activiteitenlogboek en filter op bewerkingen voor automatisch schalen voor meer informatie over alle acties voor automatisch schalen, inclusief bewerkingen zoals instellingen voor bijwerken/verwijderen van automatische schaalaanpassing.

Screenshot that shows autoscale settings run history.

Resourcelogboeken automatisch schalen

De service voor automatisch schalen biedt resourcelogboeken. Er zijn twee categorieën logboeken:

  • Evaluaties van automatische schaalaanpassing: de engine voor automatisch schalen registreert logboekvermeldingen voor elke evaluatie van de voorwaarde telkens wanneer er een controle wordt uitgevoerd. De vermelding bevat details over de waargenomen waarden van de metrische gegevens, de geëvalueerde regels en of de evaluatie heeft geresulteerd in een schaalactie of niet.
  • Acties voor automatisch schalen: de engine registreert actiegebeurtenissen die zijn geïnitieerd door de service voor automatisch schalen en de resultaten van deze schaalacties (geslaagd, mislukt en hoeveel schaalaanpassing heeft plaatsgevonden zoals gezien door de service voor automatisch schalen).

Net als bij elke ondersteunde Azure Monitor-service kunt u diagnostische instellingen gebruiken om deze logboeken te routeren naar:

  • Uw Log Analytics-werkruimte voor gedetailleerde analyses.
  • Azure Event Hubs en vervolgens naar niet-Azure-hulpprogramma's.
  • Uw Azure Storage-account voor archief.

Screenshot that shows autoscale diagnostic settings.

In de voorgaande schermopname ziet u het deelvenster Diagnostische instellingen voor automatische schaalaanpassing in Azure Portal. Daar kunt u het tabblad Diagnostische/resourcelogboeken selecteren en logboekverzameling en -routering inschakelen. U kunt dezelfde actie ook uitvoeren met behulp van de REST API, de Azure CLI-, PowerShell- en Azure Resource Manager-sjablonen voor diagnostische instellingen door het resourcetype Microsoft.Insights/Autoscale te kiezen Instellingen.

Problemen oplossen met logboeken voor automatisch schalen

Voor de beste ervaring met probleemoplossing raden we u aan om uw logboeken naar Azure Monitor-logboeken (Log Analytics) te routeren via een werkruimte wanneer u de instelling voor automatische schaalaanpassing maakt. Dit proces wordt weergegeven in de schermafbeelding in de vorige sectie. U kunt de evaluaties en schaalacties beter valideren met behulp van Log Analytics.

Nadat u de logboeken voor automatische schaalaanpassing hebt geconfigureerd om naar de Log Analytics-werkruimte te worden verzonden, kunt u de volgende query's uitvoeren om de logboeken te controleren.

Probeer deze query om aan de slag te gaan om de meest recente evaluatielogboeken voor automatische schaalaanpassing weer te geven:

AutoscaleEvaluationsLog
| limit 50

Of probeer de volgende query om de meest recente actielogboeken voor schaalaanpassing weer te geven:

AutoscaleScaleActionsLog
| limit 50

Gebruik de volgende secties om deze vragen te beantwoorden.

Er is een schaalactie opgetreden die u niet had verwacht

Voer eerst de query uit voor een schaalactie om de schaalactie te vinden waarin u geïnteresseerd bent. Als dit de meest recente schaalactie is, gebruikt u de volgende query:

AutoscaleScaleActionsLog
| take 1

Selecteer het CorrelationId veld in het logboek met schaalacties. Gebruik CorrelationId dit om het juiste evaluatielogboek te vinden. Als u de volgende query uitvoert, worden alle regels en voorwaarden weergegeven die zijn geëvalueerd en die tot die schaalactie hebben geleid.

AutoscaleEvaluationsLog
| where CorrelationId = "<correliationId>"

Welk profiel heeft een schaalactie veroorzaakt?

Er is een geschaalde actie opgetreden, maar u hebt overlappende regels en profielen en u moet achterhalen welke actie de actie heeft veroorzaakt.

Zoek de CorrelationId schaalactie, zoals uitgelegd in voorbeeld 1. Voer vervolgens de query uit op evaluatielogboeken voor meer informatie over het profiel.

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

De volledige profielevaluatie kan ook beter worden begrepen met behulp van de volgende query:

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

Er is geen schaalactie uitgevoerd

U had een schaalactie verwacht en deze is niet uitgevoerd. Er zijn mogelijk geen actie-gebeurtenissen of logboeken voor schaalaanpassing.

Controleer de metrische gegevens voor automatisch schalen als u een op metrische gegevens gebaseerde schaalregel gebruikt. Het is mogelijk dat de waarde van de waargenomen metrische waarde of de waargenomen capaciteitswaarde niet is wat u verwachtte, dus de schaalregel is niet geactiveerd. U ziet nog steeds evaluaties, maar geen uitschaalregel. Het is ook mogelijk dat de afkoeltijd een schaalactie heeft behouden.

Bekijk de evaluatielogboeken voor automatische schaalaanpassing tijdens de periode waarin u verwachtte dat de schaalactie plaatsvindt. Bekijk alle evaluaties die het heeft gedaan en waarom het heeft besloten geen schaalactie te activeren.

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

Schaalactie is mislukt

Het kan gebeuren dat de service voor automatisch schalen de schaalactie heeft uitgevoerd, maar het systeem heeft besloten de schaalactie niet te schalen of de schaalactie niet te voltooien. Gebruik deze query om de mislukte schaalacties te vinden:

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

Maak waarschuwingsregels om op de hoogte te worden gesteld van acties of fouten bij automatisch schalen. U kunt ook waarschuwingsregels maken om een melding te ontvangen over gebeurtenissen met automatische schaalaanpassing.

Schema van resourcelogboeken voor automatisch schalen

Zie resourcelogboeken voor automatisch schalen voor meer informatie.

Volgende stappen

Lees informatie over aanbevolen procedures voor automatische schaalaanpassing.