Host Template: Cloud - Azure - Windows VMs

Overview Copied

Azure Windows VMs allow you to monitor various performance metrics for Windows virtual machines, these include metrics for Logical Disk, Memory, Processor, System and Heartbeat.

The service checks in This Host Template are designed to complement the service checks in the Azure - Virtual Machines Host Template (which works for both Linux and Windows VMs). If installed, This Host Template will provide a set of metrics for Windows VMs comparable to the OS - Windows Base Opspack. Configuring it requires administrator-level permissions for Azure, or the help of an administrator.

How does This Host Template differ from OS - Windows Base?

Using OS - Windows Base requires the installation of an Opsview Agent for Windows on the target VM - this may be computationally heavy and intrusive for use with small VMs or highly dynamic environments, or where Microsoft solutions are preferred.

However, OS - Windows Base does not require Azure administrator permissions, only the ability to launch and configure a VM with internet connectivity and adjust security groups to let the agent communicate with the Opsview Master.

What does This Host Template offer above Azure - Virtual Machines?

The Azure - Virtual Machines Host Template offers the ability to track VM read/write operations, network traffic in and out, and CPU load. These metrics are gathered via Azure API calls using an administrator defined “Application” or “Service Principal”.

This Host Template complements Azure - Virtual Machines by offering extended metrics including memory utilization, processor queue length, processor time, logical disk space, heartbeats, and restart/shutdown history. This requires the additional use a Microsoft-approved, open source Azure Monitor Agent, which Azure can auto-install on your target VM when enabled (see Instructions: Setup Azure Monitor Logs).

This Host Template allows you to monitor the performance metrics for Windows virtual machines - in particular memory utilization, processor queue length, processor time, logical disk space, heartbeats, and restart/shutdown history.

This Host Template includes the following Service Checks:

Service Check Name Description Default Thresholds (Metric: Warning, Critical) UOM
Azure - Windows VM - Heartbeat

The time between the last two heartbeats

[Default Timespan = 5mins, Default Check Interval = 5mins]

N/A NA
Azure - Windows VM - Logical Disk Space

The percentage of free space and the amount of free space in bytes

[Default Timespan = 5mins, Default Check Interval = 5mins]

N/A NA
Azure - Windows VM - Memory

The percentage of used memory and the available memory in bytes

[Default Timespan = 5mins, Default Check Interval = 5mins]

N/A NA
Azure - Windows VM - Processor Queue Length

The processor queue length

[Default Timespan = 5mins, Default Check Interval = 5mins]

N/A NA
Azure - Windows VM - Processor Time

The percentage of processor time

[Default Timespan = 5mins, Default Check Interval = 5mins]

N/A NA
Azure - Windows VM - Restarts

The number of restarts, and information on the user and comment history

[Default Timespan = 1440mins, Default Check Interval = 1440mins]

N/A NA
Azure - Windows VM - Shutdowns

The number of shutdowns, and information on the user and comment history

[Default Timespan = 1440mins, Default Check Interval = 1440mins]

N/A NA
Azure - Windows VM - System Uptime

The system uptime

[Default Timespan = 5mins, Default Check Interval = 5mins]

N/A NA

Note

The “Default Timespan” given for these Service Checks refers to the time period we use when retrieving metrics from Azure.

Note

See details about Nagios thresholds here.

Prerequisites for monitoring Copied

Setup Azure Monitor Logs Copied

This Opspack utilises Azure Monitor Logs to collect data directly from your Azure Virtual Machines. To enable Azure Monitor Logs follow the steps outlined below. If you already have an Azure Workspace, you can skip creating a workspace.

Create a Workspace Copied

In the Azure portal, click All Services and filter for Log Analytics workspaces. Select Log Analytics workspaces.

Show All Services

Filter Log Analytics workspaces

Click Create, and then fill in the fields as described:

Create a Workspace

After providing the required fields click Review + Create and then Create.

From the list of Log Analytics workspaces, select the workspace you just created.

From the left-hand menu, select Overview.

Make a note of the Workspace Id as this will be required when configuring the Opspack.

Find Workspace Id

Enable the Azure Monitor Agent and collect performance data Copied

Log Analytics can be enabled on existing Azure Linux and Windows VMs using the Azure Monitor Agent.

In the Azure portal, click All Services and filter for Data collection rules. Select Data collection rules.

Show All Services

Find Data Collection rules

Create a new Data Collection rule

Create Data Collection Rule

In Basics, select ‘Windows’ as the Platform Type. Don’t forget to specify the name of your data collection rule.

Basic Configuration of Windows VM Data Collection Rule

In Resources, click on ‘Add resources’ and select the necessary virtual machine(s). Click ‘Apply’ to add the resources.

Add Resources to Data Collection rule

Apply Windows Resources to Data Collection rule

In Collect and Deliver tab, click on ‘Add data source’ and select Performance Counters as the Data Source type.

Add Data Source

Switch to Custom. We don’t need to include all performance counters, so just make sure the following performance counters are ticked. You can use the search bar to filter the list:

Windows Logical Disk Performance Counters

Windows Memory Performance Counters First Page

Windows Processor Performance Counters

Windows System Performance Counters

In Destination, click ‘Add destination’ and specify destination type as “Azure Monitor Logs”. Specify your Log Analytics workspace in Destination Details.

After that, click on ‘Add data source’.

Add Performance Counters Destination

After adding the performance counter data source, add a ‘Windows Event Logs’ data source.

Under Basic, make sure all checkboxes under Error, Warning, and Information for the following data sources are ticked as shown:

Add Windows Events Data Source

In Destination, click ‘Add destination’ and specify destination type as “Azure Monitor Logs”. Specify your Log Analytics workspace in Destination Details.

After that, click on ‘Add data source’.

Add Data Collection Destination

Once you have added the necessary data sources, click on ‘Review + create’ to review the configurations.

Click Review and Create for Windows

The status should show Validation passed. Finally, click ‘Create’ to deploy the resource for agent installation. Click Create for Windows

The deployment should complete with no issues. Windows Data Collection rule Deployment Complete

You can confirm that the provisioning has succeeded by clicking on ‘Go to resource’. Then, the following page shows up. Windows Confirmed Data Collection rule Provision

Another way to verify the successful Azure Monitor Agent installation is by navigating to the respective virtual machine and then selecting ‘Extensions + applications’ under ‘Settings’ in the Left Panel. Confirm the status is ‘Provisioning succeeded’ for AzureMonitorWindowsAgent. Confirmed Azure Monitor Windows Agent Provision

Finally, select the Legacy storage account logs option under your workspace, and add the storage account related to your virtual machine.

Storage Account Logs

Provide Subscription Access Copied

To use this Host Template you will need to provide access to the subscription you wish to monitor. Navigate to the Subscriptions section and select your Subscription.

In the Subscription to be monitored, click Access Control (IAM).

Then click the Add button, select the required role and select the application, once for each of the following roles:

Add Subscription to Application

Add Subscription to Application

Repeat these steps for each subscription you wish to monitor.

Usage Instructions Copied

Please review the overall Cloud - Azure Opspack documentation for details on prerequisites, known issues, and other necessary configurations that apply to all Host Templates in the Opspack.

Add this Host Template Copied

Add the Cloud - Azure - Windows VMs Host Template to your Opsview Monitor host. If the resource you’re monitoring has no hostname or public IP, then open the Advanced settings pane and change Host Check Command to Always assumed to be UP.

Note

For more information, refer to the documentation on Adding Host Templates to Hosts.

Add and configure Variables Copied

The Service Checks in this Host Template use the following variables, and they will be added to your Opsview Monitor instance alongside the Host Template:

Note

For more information, refer to the documentation on Adding Variables to Hosts.

Apply Changes Copied

Apply Changes and the system will now be monitored:

View Output

Available Variables Copied

AZURE_CREDENTIALS Copied

The Value is not used and therefore can be set to anything. Override the arguments with your Azure Credentials.

Plugin Parameter Position in Variable Name Description
N/A (Opsview UI Only) Value Credentials The credentials for your Azure Subscription
--subscription-id Arg1 Subscription ID The Subscription ID of your Azure Subscription
--client-id Arg2 Client ID The Client ID of your Azure Subscription
--secret-key Arg3 Secret Key The Secret Key of your Azure Subscription
--tenant-id Arg4 Tenant ID The Tenant ID of your Azure Subscription

AZURE_RESOURCE_DETAILS Copied

The Value is not used and therefore can be set to anything. Override the arguments with your Azure Resource Details.

Plugin Parameter Position in Variable Name Description
N/A (Opsview UI Only) Value Resource Details The details of your Azure Resource
--resource-group Arg1 Resource Group Name of the Azure resource group of your resource
--resource-name Arg2 Resource Name Name of the Azure resource to be monitored

AZURE_LOG_ANALYTICS_DETAILS Copied

The Value is not used and therefore can be set to anything. Override the arguments with your Log Analytics Details.

Plugin Parameter Position in Variable Name Description
N/A (Opsview UI Only) Value Log Analytics Details The details for Azure Monitor Logs
--workspace-id Arg1 Workspace ID The Workspace ID for Log Analytics
--log-timespan Arg2 Log Query Timespan (Minutes) The Timespan for counting VM Restart and Shutdown events, in minutes

AZURE_COMPUTER_NAME Copied

Set this value to the hostname of the Azure VM you want to monitor if it is different from the resource name. If your VM has been joined to a domain you will need to specify the FQDN.

Plugin Parameter Position in Variable Name Description
--host-name Value Computer Name Hostname of your Azure Computer (This will take precedence over the resource name variable)

Plugin help Copied

Plugin: check_azure

Secure Args

This plugin uses the Secure Args feature for argument passing.

For mode-specific help, run the plugin with the -h -m <mode> flags. This will list the required and optional Variable Arguments for that mode. The appropriate mode for each Service Check is listed here:

Service Check Name Mode
Azure - Windows VM - Heartbeat Az.Windows.VM.Heartbeat
Azure - Windows VM - Logical Disk Space Az.Windows.VM.Logical.Disk.Space
Azure - Windows VM - Memory Az.Windows.VM.Memory
Azure - Windows VM - Processor Queue Length Az.Windows.VM.Processor.Queue.Length
Azure - Windows VM - Processor Time Az.Windows.VM.Processor.Time
Azure - Windows VM - Restarts Az.Windows.VM.Restarts
Azure - Windows VM - Shutdowns Az.Windows.VM.Shutdowns
Azure - Windows VM - System Uptime Az.Windows.VM.System.Uptime
["Opsview Cloud"] ["Opsview > Opspacks"] ["User Guide", "Technical Reference"]

Was this topic helpful?