CloudMonix allows for deep monitoring and powerful automation of stand-alone Azure Virtual Machines. 



Azure Virtual Machine Settings

CloudMonix supports monitoring and automating Linux Azure Virtual Machines with the knowledge of Azure context.


Management Certificate In order for CloudMonix to manage a VM with context from Azure, it needs to have access to Azure subscription via management certificate.  Management certificate can be uploaded or generated, but it's public key (.cer) must be uploaded to Azure Management Portal: Settings screen, Management Certificates tab
Service and VM Name Azure Service and VM names are required



Metrics



Every diagnostic data point that CloudMonix retrieves from the monitored resource is considered a metric in CloudMonix. Refer to the Metrics article to learn more about metrics in general. 


CloudMonix provides default templates with popular and useful metrics, alerts and actions recommended for the common configurations. Templates can be applied in the Configuration Template dropdown in the Resource definition dialog.



The metrics can be added, removed and customized in the Metrics tab of the Azure Linux VM resource configuration dialog.


Built-in Azure Linux VMs 


ResourceStatus

Identifies the last state of the monitored VM. This is a critical metric that is captured for most types of resources that CloudMonix tracks. It is used for Uptime reports and should not be removed.

  • Data Type: string

  • Possible values: Ready, Down, in Azure-aware mode also: Stopped, Unknown

  • Included in default profile: yes, in all profiles tracked as a metric called Status

  • Included in default alerts: yes, tracked in alerts:

    • Resource Outage (Warning): Raises an alert when monitored server is reported as not-Ready by Azure or if no metrics come through from diagnostic agents, for a sustained period of time


AzureVirtualMachineDetails

Tracks metrics related to instance statuses and disks based on information exposed by Azure in the VirtualMachineExtensionInstanceView object.

  • Data Type: array of objects with the following properties:

    • Provider (string): possible values Instance_instanceName, Disk_diskName, Extension_extName

    • Code (string): status code

    • DisplayStatus (string): short localizable label for status

    • Level (string): possible values Info, Warning, Error

    • Message (string): Optional message used by Azure for storing alerts and error messages.

    • Time (DateTime?): Time when the information was obtained.

  • Included in default profile: no

  • Included in default alerts: no


AzureVirtualMachineState

Azure tracks a variety of states that a particular instance can cycle through.  Possible values for this metric are outlined here under the RoleInstanceList section.


AzureDiagnosticsLinuxMetric

Metrics that track performance values related to CPU, disk, memory and network utilization.  Source of the data are XPlatProviders.  More information here.

  • Data Type: double

  • Included in default profile: yes, tracked as metrics called CpuTime, DiskIdleTime, DiskReadSpeed, DiskWriteSpeed, MemoryFree, TotalFreeSpace

  • Included in default alerts: yes, tracked in alerts:

    • High CPU (Warning): Raises an alert when CPU utilization is over 70% for the last 5 minutes sustained

    • Low Disk Space (Warning): Raises an alert when any of the disk partitions fall below 1gig of free space

    • Low Memory (Warning): Raises an alert if the amount of available physical memory falls below 100MBs for the last 2 monitoring cycles su


AzureDiagnosticsProcessList

Tracks process related information as a list by process.

  • Data Type: object with the following properties:

    • Name (string)
    • CPUTime (double)
    • PercentUserTime (double)
    • PercentPrivilegedTime (double)
    • UsedMemory (double)
    • PagesReadPerSec (double)
  • Included in default profile: yes, tracked as a metric called Processes 

  • Included in default alerts: no


AzureDiagnosticsDiskDriveList

Tracks information related to disk drives as a list by drive.

  • Data Type: object with the following properties:

    • Name (string)
    • FreeMegabytes (double)
    • UsedMegabytes (double)
    • PercentFreeSpace (double) 
    • PercentUsedSpace (double)
    • BytesPerSecond (double)
  • Included in default profile: yes, tracked as a metric called Disks 

  • Included in default alerts: no


AzureDiagnosticsLinuxInstanceMetric 

Tracks various performance metrics related to CPU, disk, memory and network utilization.

  • Data Type: double

  • Included in default profile: no

  • Included in default alerts: no


LinuxSyslogEntry

Metric that tracks entris from the Linux syslog.  This is an object-based metric.  This metric has a number of properties

  • Data Type: object with the following properties:

    • Severity - (string) severity of the event logged
    • Facility - (string) source of the event logged
    • Message - (string) actual message of the event
    • TimeLogged - (datetime) local time when the log entry was generated
  • Included in default profile: yes, tracked as a metric called Syslogs 

  • Included in default alerts: no


Azure Virtual Machine Actions

When particular conditions arise, it maybe necessary to kick off a self-healing PowerShell script or perhaps request an action from Azure to stabilize the system.  This provides ability for CloudMonix users to instrument a very particular custom action when specific monitoring conditions occur.  

Actions are only available for CloudMonix customers subscribing to Ultimate plan or during the trial.

 

AzureVmInstanceReboot When action is kicked off, CloudMonix will request that a particular VM, be rebooted by Azure. This action only applies when CloudMonix has access to Azure management certificate and is aware particular Azure context for monitored VM.
AzureVmInstanceResize
When action is kicked off, CloudMonix will request that a particular VM is resized by Azure.  Resizing of a VM on a scheduled basis can help offset costs for QA/Dev and other non-production instances. This action only applies when CloudMonix has access to Azure management certificate and is aware particular Azure context for monitored VM.
AzureVmInstanceShutdown When action is kicked off, CloudMonix will request that a particular VM is shutdown. Shutting down VMs (and not deallocating them) will NOT help with costs as Azure charges for shutdown but not deallocated VMs. This action only applies when CloudMonix has access to Azure management certificate and is aware particular Azure context for monitored VM.
AzureVmIInstanceShutdownDeallocate When action is kicked off, CloudMonix will request that a particular VM is shutdown and deallocated. Shutting down VMs on a scheduled basis can help offset costs for QA/Dev and other non-production instances. This action only applies when CloudMonix has access to Azure management certificate and is aware particular Azure context for monitored VM.  CloudMonix usage is still stracked against Shutdown and Deallocated VMs
AzureVmInstanceStart When action is kicked off, CloudMonix will request that a particular VM is started.  This action only applies when CloudMonix has access to Azure management certificate and is aware particular Azure context for monitored VM.