We are excited to introduce the long-awaited AzureWatch support for monitoring, manage, auto-scaling and healing of Azure Virtual Machines.  We are soft launching this functionality in preview mode and are looking for your feedback!


Functionality Overview:

Every minute of every hour, AzureWatch will connect through Powershell Remoting to any Azure VM's that is either stand-alone or a part of an availability set.  Once connected, it will capture any number of standard or custom Windows performance counters that have been configured by you and execute its usual suite of monitoring or scaling Rules.  After the Rules execute, AzureWatch can execute scaling, re-imaging, stop/start and alerting actions. Please refer to the following table to see what actions are supported under what conditions:


 Performance CountersQueues & Other MetricsAuto-ScalingAuto-RebootingAuto-Stop/StartAlerts
Stand-alone Windows VMs Supported Supported   Supported Supported Supported
Stand-alone Linux VMs   Supported   Supported Supported Supported
Windows-based Availability Sets Supported Supported Supported Supported Supported Supported
Linux-based Availability Sets   Supported Supported Supported Supported Supported


It is important to know that stand-alone Virtual Machines cannot be auto-scaled because they are not load-balanced by Windows Azure.  However, when a VM is part of an Azure Availability Set, it can be scaled up or down, provided that there are enough shutdown VM's that exist within the Availability Set.  During the scale-up event of an availability set, AzureWatch finds the next available VM that has been turned off and simply starts it up.  Conversely, when an Availability Set is scaled-down, AzureWatch simply finds the last active VM and shuts it down so that charges are not incurred.


The following must be done in order to have AzureWatch properly monitor Azure VM's:

AzureWatch currently supports capture of performance counters only from Windows-based VMs that have Powershell Remoting enabled.  Powershell Remoting port 5986 must be open within the Windows Firewall on the server itself.  In addition, a public endpoint mapping to local port 5986 must be defined in the Azure configuration of each monitored Virtual Machine.  Azure's public port can be any number.

Users who wish to auto-scale or auto-shutdown/start-up their VM's based on a schedule or queue counts, do not need Powershell Remoting enabled and are not limited to running Windows Server.