Collecting additional metrics using Guest OS diagnostics


Microsoft Azure provides a set of standard host-level metrics. Guest OS metrics are not available by default. You can use guest-level monitoring to collect metrics of your guest virtual machines. The metrics are useful for investigating the capacity-related issues that might occur in your Azure environment. When you run the Microsoft Azure API ETL, these metrics are imported into the BMC Helix Capacity Optimization database. 

  1. Enable the guest-level monitoring for Azure virtual machines
    • For new virtual machines

      1. Log in to the Azure portal.
      2. In the left pane, select Virtual machines.
      3. Click Add to create a virtual machine.
      4. On the Management tab, enable the OS guest diagnostics option.
      5. Add the required information to create the virtual machine and click Review + create.
        The virtual machine is created with the virtual machine agent installed in the guest OS.
        azure_etl_enabling_guest_os_diagnostics_new_vm.jpg
    • For existing virtual machines

      1. Log in to the Azure portal.
        In the left pane, select Virtual machines.
      2. A list of your virtual machines is displayed. 
      3. Select the virtual machine for which you want to enable guest-level monitoring.
      4. In the left pane of virtual machine, in the Monitoring category, click Diagnostic settings.
      5. On the Diagnostics settings page, click Enable guest-level monitoring.
        The Azure diagnostics agent is installed on the virtual machine and the metrics are displayed in the Overview tab.
        azure_etl_enabling_guest_os_diagnostics.jpg
  2. Configure and run the ETL. For more information, see Microsoft Azure - Azure API Extractor.
  3. Verify that the metrics are displayed in the Workspace.

The following tables lists the metrics that are available when the guest-level monitoring option is enabled in Azure:

Performance metrics for Linux virtual machines

BMC Helix Capacity Optimization metric

Azure metric

Formula

CPU_UTIL_GUEST

\\Processor\PercentProcessorTime

PERCENT_PROCESSOR_TIME/100

CPU_UTIL_IDLE

\\Processor\PercentIdleTime

PERCENT_IDLE_TIME/100

CPU_UTIL_USER

\\Processor\PercentUserTime

PERCENT_USER_TIME/100

CPU_UTIL_SYSTEM

\\Processor\PercentPrivilegedTime

PERCENT_PRIVILEGED_TIME/100

CPU_UTIL_WAIT

\\Processor\PercentIOWaitTime

PERCENT_IO_WAIT_TIME/100

MEM_FREE

\\Memory\AvailableMemory

Not applicable

MEM_CONSUMED

\Memory\UsedMemory

Not applicable

MEM_UTIL

\\Memory\PercentUsedMemory

PERCENT_USED_MEMORY/100

MEM_UTIL_CACHED

\\Memory\PercentUsedByCache

PERCENT_USED_BY_CACHE/100

MEM_PAGE_RATE

\\Memory\PagesPerSec

Not applicable

MEM_PAGE_IN_RATE

\\Memory\PagesReadPerSec

Not applicable

MEM_PAGE_OUT_RATE

\\Memory\PagesWrittenPerSec

Not applicable

SWAP_SPACE_FREE

\\Memory\AvailableSwap

Not applicable

SWAP_SPACE_USED

\\Memory\UsedSwap

Not applicable

SWAP_SPACE_UTIL

\\Memory\PercentUsedSwap

PERCENT_USED_SWAP/100

DISK_IO_RATE_GUEST

\\PhysicalDisk(_Total)\\Disk Transfers/sec

Not applicable

DISK_IO_READ_RATE_GUEST

\\PhysicalDisk\ReadsPerSecond

Not applicable

DISK_IO_WRITE_RATE_GUEST

\\PhysicalDisk\WritesPerSecond

Not applicable

DISK_TRANSFER_RATE_GUEST

\\PhysicalDisk(_Total)\\Disk Bytes/sec

Not applicable

DISK_WRITE_RATE_GUEST

\\PhysicalDisk(_Total)\\Disk Write Bytes/sec

Not applicable

NET_OUT_BYTE_RATE_GUEST

\\NetworkInterface\\BytesTransmitted

BYTES_TRANSMITTED/3600

NET_IN_BYTE_RATE_GUEST

\\NetworkInterface\\BytesReceived

BYTES_RECEIVED/3600

NET_BYTE_RATE_GUEST

\\NetworkInterface\\BytesTotal

BYTES_TOTAL/3600

NET_OUT_PKT_RATE

\\NetworkInterface\\PacketsTransmitted

PACKETS_TRANSMITTED/3600

NET_IN_PKT_RATE

\\NetworkInterface\\PacketsReceived

PACKETS_RECEIVED/3600

NET_PKT_RATE

Derived

(PACKETS_RECEIVED + PACKETS_TRANSMITTED)/3600

NET_IN_ERROR_RATE

\\NetworkInterface\\TotalRxErrors

TOTAL_RX_ERRORS/3600

NET_OUT_ERROR_RATE

\\NetworkInterface\\TotalTxErrors

TOTAL_TX_ERRORS/3600

NET_ERROR_RATE

\\NetworkInterface\\TotalRxErrors

(TOTAL_RX_ERRORS + TOTAL_TX_ERRORS)/3600

Performance metrics for Windows virtual machines

BMC Helix Capacity Optimization metric

Azure metric

Formula

CPU_UTIL_GUEST

\\Processor(_Total)\\% Processor Time

PERCENT_PROCESSOR_TIME/100

CPU_UTIL_SYSTEM

\\Processor(_Total)\\% Privileged Time

PERCENT_PRIVILEGED_TIME/100

CPU_UTIL_USER

\\Processor(_Total)\\% User Time

PERCENT_USER_TIME/100

CPU_MHZ

\\Processor Information(_Total)\\Processor Frequency

Not applicable

MEM_VIRTUAL_USED_PCT

\\Memory\\% Committed Bytes In Use

PERCENT_COMMITTED_BYTES_IN_USE/100

MEM_FREE

\\Memory\\Available Bytes

Not applicable

MEM_UTIL

\\Memory\\Available Bytes

(TOTAL_REAL_MEM - AVAILABLE_BYTES)
/TOTAL_REAL_MEM

MEM_VIRTUAL_ACTIVE

\\Memory\\Committed Bytes

Not applicable

MEM_VIRTUAL_TOTAL

\\Memory\Commit Limit

Not applicable

MEM_VIRTUAL_FREE

\\Memory\Commit Limit - \Memory\Committed Bytes

COMMIT_LIMIT - COMMITTED_BYTES

MEM_CACHE_FAULTS

\\Memory\\Cache Faults/sec

Not applicable

MEM_PAGE_FAULT_RATE

\Memory\Page Faults/sec

Not applicable

MEM_PAGE_IN_RATE

\\Memory\\Page Reads/sec

Not applicable

MEM_PAGE_RATE

\\Memory\Pages/sec

Not applicable

MEM_PAGE_OUT_RATE

Derived

PAGES_PER_SEC - PAGE_READS_PER_SEC

MEM_POOL_PAGED

\\Memory\Pool Paged Bytes

Not applicable

MEM_NONPOOL_PAGED

\\Memory\Pool Nonpaged Bytes

Not applicable

MEM_TRANSITION_FAULTS

\\Memory\Transition Faults/sec

Not applicable

DISK_IO_RATE_GUEST

\\PhysicalDisk\\TransfersPerSecond

Not applicable

DISK_IO_READ_RATE_GUEST

\\PhysicalDisk(_Total)\Disk Reads/sec

Not applicable

DISK_IO_WRITE_RATE_GUEST

\\PhysicalDisk(_Total)\Disk Writes/sec

Not applicable

DISK_TRANSFER_RATE_GUEST

\\PhysicalDisk(_Total)\Disk Bytes/sec

Not applicable

DISK_READ_RATE_GUEST

\\PhysicalDisk(_Total)\Disk Read Bytes/sec

Not applicable

DISK_WRITE_RATE_GUEST``

\\PhysicalDisk(_Total)\Disk Write Bytes/sec

Not applicable

LDISK_FREE

\\LogicalDisk(_Total)\\Free Megabytes

FREE_MEGABYTES*1024*1024

TOTAL_LDISK_USED

\\LogicalDisk(_Total)\\Free Megabytes

((FREE_MEGABYTES*1024*1024)*100/
LDISK_PERCENT_FREE_SPACE)-
(FREE_MEGABYTES*1024*1024)

TOTAL_LDISK_UTIL

\\LogicalDisk(_Total)\\% Free Space

(100-LDISK_PERCENT_FREE_SPACE)/100

 

Tip: For faster searching, add an asterisk to the end of your partial query. Example: cert*