1

My goal is simple: do not forward the traffic from ILB to the service deployed on the VM if it is busy (e.g. CPU>80%), if the CPU getting idle, re-add it back to the ILB rotation routine.

I did some reading. Some people suggest using a custom probe, so the ILB will check the probe status every 15 seconds and return a certain code to indicate service is healthy.

Could someone help point a direction on how to implement this type of CPU performance based probe?

Also, what if all VM r turn none 200 so load balancer has no node to forward to, will client request get denied or wait in a queue?

I am using iaas.

APC
  • 144,005
  • 19
  • 170
  • 281
TOMMY WANG
  • 1,382
  • 3
  • 16
  • 39

2 Answers2

0

this will require you to have an service running on the VM that monitors the CPU. Then you need to use custom probes, point to a web page that return anything than 200 OK in case of cpu threshold exceeded. Are you just using Virtual machines (IaaS) or a cloud service (PaaS)?

Yves Pitsch
  • 131
  • 5
0

If you use Azure Resource Manager, start with https://azure.microsoft.com/en-us/documentation/articles/load-balancer-get-started-ilb-arm-ps/. If you are using Azure classic, start with https://azure.microsoft.com/en-us/documentation/articles/load-balancer-get-started-ilb-classic-ps/

For the resource manager example, search for $healthprobe

$healthProbe = New-AzureLoadBalancerProbeConfig -Name "HealthProbe" -RequestPath "HealthProbe.aspx" -Protocol http -Port 80 -IntervalInSeconds 15 -ProbeCount 2

In this example, the requestpath is a relative path to a page you define. You need to put your logic in this web page

See http://blogs.msdn.com/b/piyushranjan/archive/2014/01/09/custom-probe-for-iaas-load-balanced-sets-in-windows-azure-and-acl-part-2.aspx if you are looking for an example of web page

Yves Pitsch
  • 131
  • 5