1
votes

I have a VM Scale set (which is used for Service Fabric) and I am applying some rules on CPU average and I cannot achieve to do the auto scale up. I even tried to put a CPU of 1% average and still not working. This is the criteria:

Time aggregation: Average Metric name: Percentage CPU Operator: Greater than Threshold: 1 Duration (in minutes):5

Operation:Increase count by Instance count: 1 Cool down (minutes): 5

The scale set has 5 VM and a limit of 7.

And of course the average percentage is above 1% always.

Cheers

2

2 Answers

1
votes

In this case, you can consider the following things when you troubleshoot autoscale with VMSS:

  • If you’re using a VM bigger than a single-vCPU VM size like Standard_A1 or D1, you’d need to run this load multiple times.
  • A scale-out event only takes place when the average CPU across all the VMs in a scale set exceeds the threshold value, over the time interval defined in the autoscale rules.
  • Are your scale-in and scale-out thresholds sufficiently different? ...

You can get more details from this DOC.

1
votes

Try using the REST API to see what values autoscale is calculating for your scale set. If these values are still above your threshold, then double-check that you haven't fallen into configuration pitfalls ("flapping" scenarios where a scale-out would cause an immediate scale-in, targetResourceUri is actually the resource you want (which may be different from the metricResourceUri), cooldown isn't excessively long, etc.).

I wrote up a quick blog post showing how to go about this: https://negatblog.wordpress.com/2018/08/22/debugging-azure-autoscale/. Hopefully this helps! :)