Available solutions
Azure Virtual Machine by HTTP
Overview
This template is designed to monitor Microsoft Azure virtual machines (VMs) by HTTP. It works without any external scripts and uses the script item.
Requirements
Zabbix version: 7.4 and higher.
Tested versions
This template has been tested on:
- Microsoft Azure virtual machines
Configuration
Zabbix should be configured according to the instructions in the Templates out of the box section.
Setup
-
Create an Azure service principal via the Azure command-line interface (Azure CLI) for your subscription.
az ad sp create-for-rbac --name zabbix --role reader --scope /subscriptions/<subscription_id>
See Azure documentation for more details.
- Link the template to a host.
- Configure the macros:
{$AZURE.APP.ID},{$AZURE.PASSWORD},{$AZURE.TENANT.ID},{$AZURE.SUBSCRIPTION.ID}, and{$AZURE.RESOURCE.ID}.
Macros used
| Name | Description | Default |
|---|---|---|
| {$AZURE.SUBSCRIPTION.ID} | Microsoft Azure subscription ID. |
|
| {$AZURE.TENANT.ID} | Microsoft Azure tenant ID. |
|
| {$AZURE.APP.ID} | The App ID of Microsoft Azure. |
|
| {$AZURE.PASSWORD} | Microsoft Azure password. |
|
| {$AZURE.RESOURCE.ID} | Microsoft Azure virtual machine ID. |
|
| {$AZURE.VM.CPU.UTIL.CRIT} | The critical threshold of CPU utilization, expressed in %. |
90 |
| {$AZURE.DATA.TIMEOUT} | API response timeout. |
15s |
| {$AZURE.PROXY} | Sets the HTTP proxy value. If this macro is empty, then no proxy is used. |
|
| {$HTTP.TLS.VERIFY} | TLS certificate verification for script items: "none" - disabled, "peer" - verify the certificate chain and expiration, "full" - full verification. Any other value enables full verification. To override the setting for this template only, define the macro with the context "Azure Virtual Machine", e.g. {$HTTP.TLS.VERIFY:"Azure Virtual Machine"}. |
full |
Items
| Name | Description | Type | Key and additional info |
|---|---|---|---|
| Get data | The result of API requests is expressed in the JSON. |
Script | azure.vm.data.get |
| Get errors | A list of errors from API requests. |
Dependent item | azure.vm.data.errors Preprocessing
|
| Availability state | The availability status of the resource. 0 - Available - no events detected that affect the health of the resource. 1 - Degraded - your resource detected a loss in performance, although it's still available for use. 2 - Unavailable - the service detected an ongoing platform or non-platform event that affects the health of the resource. 3 - Unknown - Resource Health hasn't received information about the resource for more than 10 minutes. |
Dependent item | azure.vm.availability.state Preprocessing
|
| Availability status detailed | The summary description of availability status. |
Dependent item | azure.vm.availability.details Preprocessing
|
| CPU utilization | Percentage of allocated compute units that are currently in use by virtual machine. |
Dependent item | azure.vm.cpu.utilization Preprocessing
|
| Disk read | Bytes read from the disk during the monitoring period. |
Dependent item | azure.vm.disk.read.bytes Preprocessing
|
| Disk write | Bytes written to the disk during the monitoring period. |
Dependent item | azure.vm.disk.write.bytes Preprocessing
|
| Disk IOPS read | The count of read operations from the disk per second. |
Dependent item | azure.vm.disk.read.ops Preprocessing
|
| Disk IOPS write | The count of write operations to the disk per second. |
Dependent item | azure.vm.disk.write.ops Preprocessing
|
| CPU credits remaining | Total number of credits available to burst. Available only on B-series burstable VMs. |
Dependent item | azure.vm.cpu.credits.remaining Preprocessing
|
| CPU credits consumed | Total number of credits consumed by the virtual machine. Only available on B-series burstable VMs. |
Dependent item | azure.vm.cpu.credits.consumed Preprocessing
|
| Data disk read rate | Bytes per second read from a single disk during the monitoring period. |
Dependent item | azure.vm.data.disk.read.bps Preprocessing
|
| Data disk write rate | Bytes per second written to a single disk during the monitoring period. |
Dependent item | azure.vm.data.disk.write.bps Preprocessing
|
| Data disk IOPS read | Read IOPS from a single disk during the monitoring period. |
Dependent item | azure.vm.data.disk.read.ops Preprocessing
|
| Data disk IOPS write | Write IOPS from a single disk during the monitoring period. |
Dependent item | azure.vm.data.disk.write.ops Preprocessing
|
| Data disk queue depth | The number of outstanding IO requests that are waiting to be performed on a disk. |
Dependent item | azure.vm.data.disk.queue.depth Preprocessing
|
| Data disk bandwidth consumed | Percentage of the data disk bandwidth consumed per minute. |
Dependent item | azure.vm.data.disk.bandwidth.consumed Preprocessing
|
| Data disk IOPS consumed | Percentage of the data disk input/output (I/O) consumed per minute. |
Dependent item | azure.vm.data.disk.iops.consumed Preprocessing
|
| Data disk target bandwidth | Baseline byte-per-second throughput that the data disk can achieve without bursting. |
Dependent item | azure.vm.data.disk.bandwidth.target Preprocessing
|
| Data disk target IOPS | Baseline IOPS that the data disk can achieve without bursting. |
Dependent item | azure.vm.data.disk.iops.target Preprocessing
|
| Data disk max burst bandwidth | Maximum byte-per-second throughput that the data disk can achieve with bursting. |
Dependent item | azure.vm.data.disk.bandwidth.max Preprocessing
|
| Data disk max burst IOPS | Maximum IOPS that the data disk can achieve with bursting. |
Dependent item | azure.vm.data.disk.iops.max Preprocessing
|
| Data disk used burst BPS credits | Percentage of the data disk burst bandwidth credits used so far. |
Dependent item | azure.vm.data.disk.bandwidth.burst.used Preprocessing
|
| Data disk used burst IO credits | Percentage of the data disk burst I/O credits used so far. |
Dependent item | azure.vm.data.disk.iops.burst.used Preprocessing
|
| OS disk read rate | Bytes/sec read from a single disk during the monitoring period - for an OS disk. |
Dependent item | azure.vm.os.disk.read.bps Preprocessing
|
| OS disk write rate | Bytes/sec written to a single disk during the monitoring period - for an OS disk. |
Dependent item | azure.vm.os.disk.write.bps Preprocessing
|
| OS disk IOPS read | Read IOPS from a single disk during the monitoring period - for an OS disk. |
Dependent item | azure.vm.os.disk.read.ops Preprocessing
|
| OS disk IOPS write | Write IOPS from a single disk during the monitoring period - for an OS disk. |
Dependent item | azure.vm.os.disk.write.ops Preprocessing
|
| OS disk queue depth | The OS disk queue depth (or queue length). |
Dependent item | azure.vm.os.disk.queue.depth Preprocessing
|
| OS disk bandwidth consumed | Percentage of the operating system disk bandwidth consumed per minute. |
Dependent item | azure.vm.os.disk.bandwidth.consumed Preprocessing
|
| OS disk IOPS consumed | Percentage of the operating system disk I/Os consumed per minute. |
Dependent item | azure.vm.os.disk.iops.consumed Preprocessing
|
| OS disk target bandwidth | Baseline byte-per-second throughput that the OS disk can achieve without bursting. |
Dependent item | azure.vm.os.disk.bandwidth.target Preprocessing
|
| OS disk target IOPS | Baseline IOPS that the OS disk can achieve without bursting. |
Dependent item | azure.vm.os.disk.iops.target Preprocessing
|
| OS disk max burst bandwidth | Maximum byte-per-second throughput that the OS disk can achieve with bursting. |
Dependent item | azure.vm.os.disk.bandwidth.max Preprocessing
|
| OS disk max burst IOPS | Maximum IOPS that the OS disk can achieve with bursting. |
Dependent item | azure.vm.os.disk.iops.max Preprocessing
|
| OS disk used burst BPS credits | Percentage of the OS disk burst bandwidth credits used so far. |
Dependent item | azure.vm.os.disk.bandwidth.burst.used Preprocessing
|
| OS disk used burst IO credits | Percentage of the OS disk burst I/O credits used so far. |
Dependent item | azure.vm.os.disk.iops.burst.used Preprocessing
|
| Inbound flows | The number of current flows in the inbound direction (the traffic going into the VM). |
Dependent item | azure.vm.flows.inbound Preprocessing
|
| Outbound flows | The number of current flows in the outbound direction (the traffic going out of the VM). |
Dependent item | azure.vm.flows.outbound Preprocessing
|
| Inbound flows max creation rate | Maximum creation rate of the inbound flows (the traffic going into the VM). |
Dependent item | azure.vm.flows.inbound.max Preprocessing
|
| Outbound flows max creation rate | Maximum creation rate of the outbound flows (the traffic going out of the VM). |
Dependent item | azure.vm.flows.outbound.max Preprocessing
|
| Premium data disk cache read hit in % | Percentage of premium data disk cache read hit. |
Dependent item | azure.vm.premium.data.disk.cache.read.hit Preprocessing
|
| Premium data disk cache read miss in % | Percentage of premium data disk cache read miss. |
Dependent item | azure.vm.premium.data.disk.cache.read.miss Preprocessing
|
| Premium OS disk cache read hit in % | Percentage of premium OS disk cache read hit. |
Dependent item | azure.vm.premium.os.disk.cache.read.hit Preprocessing
|
| Premium OS disk cache read miss in % | Percentage of premium OS disk cache read miss. |
Dependent item | azure.vm.premium.os.disk.cache.read.miss Preprocessing
|
| VM cached bandwidth consumed | Percentage of the cached disk bandwidth consumed by the VM. |
Dependent item | azure.vm.cached.bandwidth.consumed Preprocessing
|
| VM cached IOPS consumed | Percentage of the cached disk IOPS consumed by the VM. |
Dependent item | azure.vm.cached.iops.consumed Preprocessing
|
| VM uncached bandwidth consumed | Percentage of the uncached disk bandwidth consumed by the VM. |
Dependent item | azure.vm.uncached.bandwidth.consumed Preprocessing
|
| VM uncached IOPS consumed | Percentage of the uncached disk IOPS consumed by the VM. |
Dependent item | azure.vm.uncached.iops.consumed Preprocessing
|
| Network in total | The number of bytes received by the VM via all network interfaces (incoming traffic). |
Dependent item | azure.vm.network.in.total Preprocessing
|
| Network out total | The number of bytes sent by the VM via all network interfaces (outgoing traffic). |
Dependent item | azure.vm.network.out.total Preprocessing
|
| Available memory | Amount of physical memory, in bytes, immediately available for the allocation to a process or for a system use in the virtual machine. |
Dependent item | azure.vm.memory.available Preprocessing
|
| Data disk latency | Average time to complete each IO during the monitoring period for Data Disk. |
Dependent item | azure.vm.disk.latency Preprocessing
|
| OS disk latency | Average time to complete each IO during the monitoring period for OS Disk. |
Dependent item | azure.vm.os.disk.latency Preprocessing
|
| Temp disk latency | Average time to complete each IO during the monitoring period for temp disk. |
Dependent item | azure.vm.temp.disk.latency Preprocessing
|
| Temp disk read rate | Bytes/Sec read from a single disk during the monitoring period for temp disk. |
Dependent item | azure.vm.temp.disk.read.bps Preprocessing
|
| Temp disk write rate | Bytes/Sec written to a single disk during the monitoring period for temp disk. |
Dependent item | azure.vm.temp.disk.write.bps Preprocessing
|
| Temp disk IOPS read | Read IOPS from a single disk during the monitoring period for temp disk. |
Dependent item | azure.vm.temp.disk.read.ops Preprocessing
|
| Temp disk IOPS write | Bytes/Sec written to a single disk during the monitoring period for temp disk. |
Dependent item | azure.vm.temp.disk.write.ops Preprocessing
|
| Temp disk queue depth | Temp Disk queue depth (or queue length). |
Dependent item | azure.vm.temp.disk.queue.depth Preprocessing
|
| VM availability metric | Measure of availability of virtual machine over time. |
Dependent item | azure.vm.availability Preprocessing
|
Triggers
| Name | Description | Expression | Severity | Dependencies and additional info |
|---|---|---|---|---|
| Azure VM: There are errors in requests to API | Zabbix has received errors in response to API requests. |
length(last(/Azure Virtual Machine by HTTP/azure.vm.data.errors))>0 |
Average | |
| Azure VM: Virtual machine is unavailable | The resource state is unavailable. |
last(/Azure Virtual Machine by HTTP/azure.vm.availability.state)=2 |
High | |
| Azure VM: Virtual machine is degraded | The resource is in a degraded state. |
last(/Azure Virtual Machine by HTTP/azure.vm.availability.state)=1 |
Average | |
| Azure VM: Virtual machine is in unknown state | The resource state is unknown. |
last(/Azure Virtual Machine by HTTP/azure.vm.availability.state)=3 |
Warning | |
| Azure VM: High CPU utilization | The CPU utilization is too high. The system might be slow to respond. |
min(/Azure Virtual Machine by HTTP/azure.vm.cpu.utilization,5m)>{$AZURE.VM.CPU.UTIL.CRIT} |
High |
Azure Virtual Machine by HTTP
Overview
This template is designed to monitor Microsoft Azure virtual machines (VMs) by HTTP. It works without any external scripts and uses the script item.
Requirements
Zabbix version: 7.2 and higher.
Tested versions
This template has been tested on:
- Microsoft Azure virtual machines
Configuration
Zabbix should be configured according to the instructions in the Templates out of the box section.
Setup
-
Create an Azure service principal via the Azure command-line interface (Azure CLI) for your subscription.
az ad sp create-for-rbac --name zabbix --role reader --scope /subscriptions/<subscription_id>
See Azure documentation for more details.
- Link the template to a host.
- Configure the macros:
{$AZURE.APP.ID},{$AZURE.PASSWORD},{$AZURE.TENANT.ID},{$AZURE.SUBSCRIPTION.ID}, and{$AZURE.RESOURCE.ID}.
Macros used
| Name | Description | Default |
|---|---|---|
| {$AZURE.PROXY} | Sets the HTTP proxy value. If this macro is empty, then no proxy is used. |
|
| {$AZURE.APP.ID} | The App ID of Microsoft Azure. |
|
| {$AZURE.PASSWORD} | Microsoft Azure password. |
|
| {$AZURE.DATA.TIMEOUT} | API response timeout. |
15s |
| {$AZURE.TENANT.ID} | Microsoft Azure tenant ID. |
|
| {$AZURE.SUBSCRIPTION.ID} | Microsoft Azure subscription ID. |
|
| {$AZURE.RESOURCE.ID} | Microsoft Azure virtual machine ID. |
|
| {$AZURE.VM.CPU.UTIL.CRIT} | The critical threshold of CPU utilization, expressed in %. |
90 |
Items
| Name | Description | Type | Key and additional info |
|---|---|---|---|
| Get data | The result of API requests is expressed in the JSON. |
Script | azure.vm.data.get |
| Get errors | A list of errors from API requests. |
Dependent item | azure.vm.data.errors Preprocessing
|
| Availability state | The availability status of the resource. 0 - Available - no events detected that affect the health of the resource. 1 - Degraded - your resource detected a loss in performance, although it's still available for use. 2 - Unavailable - the service detected an ongoing platform or non-platform event that affects the health of the resource. 3 - Unknown - Resource Health hasn't received information about the resource for more than 10 minutes. |
Dependent item | azure.vm.availability.state Preprocessing
|
| Availability status detailed | The summary description of availability status. |
Dependent item | azure.vm.availability.details Preprocessing
|
| CPU utilization | Percentage of allocated compute units that are currently in use by virtual machine. |
Dependent item | azure.vm.cpu.utilization Preprocessing
|
| Disk read | Bytes read from the disk during the monitoring period. |
Dependent item | azure.vm.disk.read.bytes Preprocessing
|
| Disk write | Bytes written to the disk during the monitoring period. |
Dependent item | azure.vm.disk.write.bytes Preprocessing
|
| Disk IOPS read | The count of read operations from the disk per second. |
Dependent item | azure.vm.disk.read.ops Preprocessing
|
| Disk IOPS write | The count of write operations to the disk per second. |
Dependent item | azure.vm.disk.write.ops Preprocessing
|
| CPU credits remaining | Total number of credits available to burst. Available only on B-series burstable VMs. |
Dependent item | azure.vm.cpu.credits.remaining Preprocessing
|
| CPU credits consumed | Total number of credits consumed by the virtual machine. Only available on B-series burstable VMs. |
Dependent item | azure.vm.cpu.credits.consumed Preprocessing
|
| Data disk read rate | Bytes per second read from a single disk during the monitoring period. |
Dependent item | azure.vm.data.disk.read.bps Preprocessing
|
| Data disk write rate | Bytes per second written to a single disk during the monitoring period. |
Dependent item | azure.vm.data.disk.write.bps Preprocessing
|
| Data disk IOPS read | Read IOPS from a single disk during the monitoring period. |
Dependent item | azure.vm.data.disk.read.ops Preprocessing
|
| Data disk IOPS write | Write IOPS from a single disk during the monitoring period. |
Dependent item | azure.vm.data.disk.write.ops Preprocessing
|
| Data disk queue depth | The number of outstanding IO requests that are waiting to be performed on a disk. |
Dependent item | azure.vm.data.disk.queue.depth Preprocessing
|
| Data disk bandwidth consumed | Percentage of the data disk bandwidth consumed per minute. |
Dependent item | azure.vm.data.disk.bandwidth.consumed Preprocessing
|
| Data disk IOPS consumed | Percentage of the data disk input/output (I/O) consumed per minute. |
Dependent item | azure.vm.data.disk.iops.consumed Preprocessing
|
| Data disk target bandwidth | Baseline byte-per-second throughput that the data disk can achieve without bursting. |
Dependent item | azure.vm.data.disk.bandwidth.target Preprocessing
|
| Data disk target IOPS | Baseline IOPS that the data disk can achieve without bursting. |
Dependent item | azure.vm.data.disk.iops.target Preprocessing
|
| Data disk max burst bandwidth | Maximum byte-per-second throughput that the data disk can achieve with bursting. |
Dependent item | azure.vm.data.disk.bandwidth.max Preprocessing
|
| Data disk max burst IOPS | Maximum IOPS that the data disk can achieve with bursting. |
Dependent item | azure.vm.data.disk.iops.max Preprocessing
|
| Data disk used burst BPS credits | Percentage of the data disk burst bandwidth credits used so far. |
Dependent item | azure.vm.data.disk.bandwidth.burst.used Preprocessing
|
| Data disk used burst IO credits | Percentage of the data disk burst I/O credits used so far. |
Dependent item | azure.vm.data.disk.iops.burst.used Preprocessing
|
| OS disk read rate | Bytes/sec read from a single disk during the monitoring period - for an OS disk. |
Dependent item | azure.vm.os.disk.read.bps Preprocessing
|
| OS disk write rate | Bytes/sec written to a single disk during the monitoring period - for an OS disk. |
Dependent item | azure.vm.os.disk.write.bps Preprocessing
|
| OS disk IOPS read | Read IOPS from a single disk during the monitoring period - for an OS disk. |
Dependent item | azure.vm.os.disk.read.ops Preprocessing
|
| OS disk IOPS write | Write IOPS from a single disk during the monitoring period - for an OS disk. |
Dependent item | azure.vm.os.disk.write.ops Preprocessing
|
| OS disk queue depth | The OS disk queue depth (or queue length). |
Dependent item | azure.vm.os.disk.queue.depth Preprocessing
|
| OS disk bandwidth consumed | Percentage of the operating system disk bandwidth consumed per minute. |
Dependent item | azure.vm.os.disk.bandwidth.consumed Preprocessing
|
| OS disk IOPS consumed | Percentage of the operating system disk I/Os consumed per minute. |
Dependent item | azure.vm.os.disk.iops.consumed Preprocessing
|
| OS disk target bandwidth | Baseline byte-per-second throughput that the OS disk can achieve without bursting. |
Dependent item | azure.vm.os.disk.bandwidth.target Preprocessing
|
| OS disk target IOPS | Baseline IOPS that the OS disk can achieve without bursting. |
Dependent item | azure.vm.os.disk.iops.target Preprocessing
|
| OS disk max burst bandwidth | Maximum byte-per-second throughput that the OS disk can achieve with bursting. |
Dependent item | azure.vm.os.disk.bandwidth.max Preprocessing
|
| OS disk max burst IOPS | Maximum IOPS that the OS disk can achieve with bursting. |
Dependent item | azure.vm.os.disk.iops.max Preprocessing
|
| OS disk used burst BPS credits | Percentage of the OS disk burst bandwidth credits used so far. |
Dependent item | azure.vm.os.disk.bandwidth.burst.used Preprocessing
|
| OS disk used burst IO credits | Percentage of the OS disk burst I/O credits used so far. |
Dependent item | azure.vm.os.disk.iops.burst.used Preprocessing
|
| Inbound flows | The number of current flows in the inbound direction (the traffic going into the VM). |
Dependent item | azure.vm.flows.inbound Preprocessing
|
| Outbound flows | The number of current flows in the outbound direction (the traffic going out of the VM). |
Dependent item | azure.vm.flows.outbound Preprocessing
|
| Inbound flows max creation rate | Maximum creation rate of the inbound flows (the traffic going into the VM). |
Dependent item | azure.vm.flows.inbound.max Preprocessing
|
| Outbound flows max creation rate | Maximum creation rate of the outbound flows (the traffic going out of the VM). |
Dependent item | azure.vm.flows.outbound.max Preprocessing
|
| Premium data disk cache read hit in % | Percentage of premium data disk cache read hit. |
Dependent item | azure.vm.premium.data.disk.cache.read.hit Preprocessing
|
| Premium data disk cache read miss in % | Percentage of premium data disk cache read miss. |
Dependent item | azure.vm.premium.data.disk.cache.read.miss Preprocessing
|
| Premium OS disk cache read hit in % | Percentage of premium OS disk cache read hit. |
Dependent item | azure.vm.premium.os.disk.cache.read.hit Preprocessing
|
| Premium OS disk cache read miss in % | Percentage of premium OS disk cache read miss. |
Dependent item | azure.vm.premium.os.disk.cache.read.miss Preprocessing
|
| VM cached bandwidth consumed | Percentage of the cached disk bandwidth consumed by the VM. |
Dependent item | azure.vm.cached.bandwidth.consumed Preprocessing
|
| VM cached IOPS consumed | Percentage of the cached disk IOPS consumed by the VM. |
Dependent item | azure.vm.cached.iops.consumed Preprocessing
|
| VM uncached bandwidth consumed | Percentage of the uncached disk bandwidth consumed by the VM. |
Dependent item | azure.vm.uncached.bandwidth.consumed Preprocessing
|
| VM uncached IOPS consumed | Percentage of the uncached disk IOPS consumed by the VM. |
Dependent item | azure.vm.uncached.iops.consumed Preprocessing
|
| Network in total | The number of bytes received by the VM via all network interfaces (incoming traffic). |
Dependent item | azure.vm.network.in.total Preprocessing
|
| Network out total | The number of bytes sent by the VM via all network interfaces (outgoing traffic). |
Dependent item | azure.vm.network.out.total Preprocessing
|
| Available memory | Amount of physical memory, in bytes, immediately available for the allocation to a process or for a system use in the virtual machine. |
Dependent item | azure.vm.memory.available Preprocessing
|
| Data disk latency | Average time to complete each IO during the monitoring period for Data Disk. |
Dependent item | azure.vm.disk.latency Preprocessing
|
| OS disk latency | Average time to complete each IO during the monitoring period for OS Disk. |
Dependent item | azure.vm.os.disk.latency Preprocessing
|
| Temp disk latency | Average time to complete each IO during the monitoring period for temp disk. |
Dependent item | azure.vm.temp.disk.latency Preprocessing
|
| Temp disk read rate | Bytes/Sec read from a single disk during the monitoring period for temp disk. |
Dependent item | azure.vm.temp.disk.read.bps Preprocessing
|
| Temp disk write rate | Bytes/Sec written to a single disk during the monitoring period for temp disk. |
Dependent item | azure.vm.temp.disk.write.bps Preprocessing
|
| Temp disk IOPS read | Read IOPS from a single disk during the monitoring period for temp disk. |
Dependent item | azure.vm.temp.disk.read.ops Preprocessing
|
| Temp disk IOPS write | Bytes/Sec written to a single disk during the monitoring period for temp disk. |
Dependent item | azure.vm.temp.disk.write.ops Preprocessing
|
| Temp disk queue depth | Temp Disk queue depth (or queue length). |
Dependent item | azure.vm.temp.disk.queue.depth Preprocessing
|
| VM availability metric | Measure of availability of virtual machine over time. |
Dependent item | azure.vm.availability Preprocessing
|
Triggers
| Name | Description | Expression | Severity | Dependencies and additional info |
|---|---|---|---|---|
| Azure VM: There are errors in requests to API | Zabbix has received errors in response to API requests. |
length(last(/Azure Virtual Machine by HTTP/azure.vm.data.errors))>0 |
Average | |
| Azure VM: Virtual machine is unavailable | The resource state is unavailable. |
last(/Azure Virtual Machine by HTTP/azure.vm.availability.state)=2 |
High | |
| Azure VM: Virtual machine is degraded | The resource is in a degraded state. |
last(/Azure Virtual Machine by HTTP/azure.vm.availability.state)=1 |
Average | |
| Azure VM: Virtual machine is in unknown state | The resource state is unknown. |
last(/Azure Virtual Machine by HTTP/azure.vm.availability.state)=3 |
Warning | |
| Azure VM: High CPU utilization | The CPU utilization is too high. The system might be slow to respond. |
min(/Azure Virtual Machine by HTTP/azure.vm.cpu.utilization,5m)>{$AZURE.VM.CPU.UTIL.CRIT} |
High |
Azure Virtual Machine by HTTP
Overview
This template is designed to monitor Microsoft Azure virtual machines (VMs) by HTTP. It works without any external scripts and uses the script item.
Requirements
Zabbix version: 7.0 and higher.
Tested versions
This template has been tested on:
- Microsoft Azure virtual machines
Configuration
Zabbix should be configured according to the instructions in the Templates out of the box section.
Setup
-
Create an Azure service principal via the Azure command-line interface (Azure CLI) for your subscription.
az ad sp create-for-rbac --name zabbix --role reader --scope /subscriptions/<subscription_id>
See Azure documentation for more details.
- Link the template to a host.
- Configure the macros:
{$AZURE.APP.ID},{$AZURE.PASSWORD},{$AZURE.TENANT.ID},{$AZURE.SUBSCRIPTION.ID}, and{$AZURE.RESOURCE.ID}.
Macros used
| Name | Description | Default |
|---|---|---|
| {$AZURE.PROXY} | Sets the HTTP proxy value. If this macro is empty, then no proxy is used. |
|
| {$AZURE.APP.ID} | The App ID of Microsoft Azure. |
|
| {$AZURE.PASSWORD} | Microsoft Azure password. |
|
| {$AZURE.DATA.TIMEOUT} | API response timeout. |
15s |
| {$AZURE.TENANT.ID} | Microsoft Azure tenant ID. |
|
| {$AZURE.SUBSCRIPTION.ID} | Microsoft Azure subscription ID. |
|
| {$AZURE.RESOURCE.ID} | Microsoft Azure virtual machine ID. |
|
| {$AZURE.VM.CPU.UTIL.CRIT} | The critical threshold of CPU utilization, expressed in %. |
90 |
| {$HTTP.TLS.VERIFY} | TLS certificate verification for script items: "none" - disabled, "peer" - verify the certificate chain and expiration, "full" - full verification. Any other value enables full verification. To override the setting for this template only, define the macro with the context "Azure Virtual Machine", e.g. {$HTTP.TLS.VERIFY:"Azure Virtual Machine"}. |
full |
Items
| Name | Description | Type | Key and additional info |
|---|---|---|---|
| Get data | The result of API requests is expressed in the JSON. |
Script | azure.vm.data.get |
| Get errors | A list of errors from API requests. |
Dependent item | azure.vm.data.errors Preprocessing
|
| Availability state | The availability status of the resource. 0 - Available - no events detected that affect the health of the resource. 1 - Degraded - your resource detected a loss in performance, although it's still available for use. 2 - Unavailable - the service detected an ongoing platform or non-platform event that affects the health of the resource. 3 - Unknown - Resource Health hasn't received information about the resource for more than 10 minutes. |
Dependent item | azure.vm.availability.state Preprocessing
|
| Availability status detailed | The summary description of availability status. |
Dependent item | azure.vm.availability.details Preprocessing
|
| CPU utilization | Percentage of allocated compute units that are currently in use by virtual machine. |
Dependent item | azure.vm.cpu.utilization Preprocessing
|
| Disk read | Bytes read from the disk during the monitoring period. |
Dependent item | azure.vm.disk.read.bytes Preprocessing
|
| Disk write | Bytes written to the disk during the monitoring period. |
Dependent item | azure.vm.disk.write.bytes Preprocessing
|
| Disk IOPS read | The count of read operations from the disk per second. |
Dependent item | azure.vm.disk.read.ops Preprocessing
|
| Disk IOPS write | The count of write operations to the disk per second. |
Dependent item | azure.vm.disk.write.ops Preprocessing
|
| CPU credits remaining | Total number of credits available to burst. Available only on B-series burstable VMs. |
Dependent item | azure.vm.cpu.credits.remaining Preprocessing
|
| CPU credits consumed | Total number of credits consumed by the virtual machine. Only available on B-series burstable VMs. |
Dependent item | azure.vm.cpu.credits.consumed Preprocessing
|
| Data disk read rate | Bytes per second read from a single disk during the monitoring period. |
Dependent item | azure.vm.data.disk.read.bps Preprocessing
|
| Data disk write rate | Bytes per second written to a single disk during the monitoring period. |
Dependent item | azure.vm.data.disk.write.bps Preprocessing
|
| Data disk IOPS read | Read IOPS from a single disk during the monitoring period. |
Dependent item | azure.vm.data.disk.read.ops Preprocessing
|
| Data disk IOPS write | Write IOPS from a single disk during the monitoring period. |
Dependent item | azure.vm.data.disk.write.ops Preprocessing
|
| Data disk queue depth | The number of outstanding IO requests that are waiting to be performed on a disk. |
Dependent item | azure.vm.data.disk.queue.depth Preprocessing
|
| Data disk bandwidth consumed | Percentage of the data disk bandwidth consumed per minute. |
Dependent item | azure.vm.data.disk.bandwidth.consumed Preprocessing
|
| Data disk IOPS consumed | Percentage of the data disk input/output (I/O) consumed per minute. |
Dependent item | azure.vm.data.disk.iops.consumed Preprocessing
|
| Data disk target bandwidth | Baseline byte-per-second throughput that the data disk can achieve without bursting. |
Dependent item | azure.vm.data.disk.bandwidth.target Preprocessing
|
| Data disk target IOPS | Baseline IOPS that the data disk can achieve without bursting. |
Dependent item | azure.vm.data.disk.iops.target Preprocessing
|
| Data disk max burst bandwidth | Maximum byte-per-second throughput that the data disk can achieve with bursting. |
Dependent item | azure.vm.data.disk.bandwidth.max Preprocessing
|
| Data disk max burst IOPS | Maximum IOPS that the data disk can achieve with bursting. |
Dependent item | azure.vm.data.disk.iops.max Preprocessing
|
| Data disk used burst BPS credits | Percentage of the data disk burst bandwidth credits used so far. |
Dependent item | azure.vm.data.disk.bandwidth.burst.used Preprocessing
|
| Data disk used burst IO credits | Percentage of the data disk burst I/O credits used so far. |
Dependent item | azure.vm.data.disk.iops.burst.used Preprocessing
|
| OS disk read rate | Bytes/sec read from a single disk during the monitoring period - for an OS disk. |
Dependent item | azure.vm.os.disk.read.bps Preprocessing
|
| OS disk write rate | Bytes/sec written to a single disk during the monitoring period - for an OS disk. |
Dependent item | azure.vm.os.disk.write.bps Preprocessing
|
| OS disk IOPS read | Read IOPS from a single disk during the monitoring period - for an OS disk. |
Dependent item | azure.vm.os.disk.read.ops Preprocessing
|
| OS disk IOPS write | Write IOPS from a single disk during the monitoring period - for an OS disk. |
Dependent item | azure.vm.os.disk.write.ops Preprocessing
|
| OS disk queue depth | The OS disk queue depth (or queue length). |
Dependent item | azure.vm.os.disk.queue.depth Preprocessing
|
| OS disk bandwidth consumed | Percentage of the operating system disk bandwidth consumed per minute. |
Dependent item | azure.vm.os.disk.bandwidth.consumed Preprocessing
|
| OS disk IOPS consumed | Percentage of the operating system disk I/Os consumed per minute. |
Dependent item | azure.vm.os.disk.iops.consumed Preprocessing
|
| OS disk target bandwidth | Baseline byte-per-second throughput that the OS disk can achieve without bursting. |
Dependent item | azure.vm.os.disk.bandwidth.target Preprocessing
|
| OS disk target IOPS | Baseline IOPS that the OS disk can achieve without bursting. |
Dependent item | azure.vm.os.disk.iops.target Preprocessing
|
| OS disk max burst bandwidth | Maximum byte-per-second throughput that the OS disk can achieve with bursting. |
Dependent item | azure.vm.os.disk.bandwidth.max Preprocessing
|
| OS disk max burst IOPS | Maximum IOPS that the OS disk can achieve with bursting. |
Dependent item | azure.vm.os.disk.iops.max Preprocessing
|
| OS disk used burst BPS credits | Percentage of the OS disk burst bandwidth credits used so far. |
Dependent item | azure.vm.os.disk.bandwidth.burst.used Preprocessing
|
| OS disk used burst IO credits | Percentage of the OS disk burst I/O credits used so far. |
Dependent item | azure.vm.os.disk.iops.burst.used Preprocessing
|
| Inbound flows | The number of current flows in the inbound direction (the traffic going into the VM). |
Dependent item | azure.vm.flows.inbound Preprocessing
|
| Outbound flows | The number of current flows in the outbound direction (the traffic going out of the VM). |
Dependent item | azure.vm.flows.outbound Preprocessing
|
| Inbound flows max creation rate | Maximum creation rate of the inbound flows (the traffic going into the VM). |
Dependent item | azure.vm.flows.inbound.max Preprocessing
|
| Outbound flows max creation rate | Maximum creation rate of the outbound flows (the traffic going out of the VM). |
Dependent item | azure.vm.flows.outbound.max Preprocessing
|
| Premium data disk cache read hit in % | Percentage of premium data disk cache read hit. |
Dependent item | azure.vm.premium.data.disk.cache.read.hit Preprocessing
|
| Premium data disk cache read miss in % | Percentage of premium data disk cache read miss. |
Dependent item | azure.vm.premium.data.disk.cache.read.miss Preprocessing
|
| Premium OS disk cache read hit in % | Percentage of premium OS disk cache read hit. |
Dependent item | azure.vm.premium.os.disk.cache.read.hit Preprocessing
|
| Premium OS disk cache read miss in % | Percentage of premium OS disk cache read miss. |
Dependent item | azure.vm.premium.os.disk.cache.read.miss Preprocessing
|
| VM cached bandwidth consumed | Percentage of the cached disk bandwidth consumed by the VM. |
Dependent item | azure.vm.cached.bandwidth.consumed Preprocessing
|
| VM cached IOPS consumed | Percentage of the cached disk IOPS consumed by the VM. |
Dependent item | azure.vm.cached.iops.consumed Preprocessing
|
| VM uncached bandwidth consumed | Percentage of the uncached disk bandwidth consumed by the VM. |
Dependent item | azure.vm.uncached.bandwidth.consumed Preprocessing
|
| VM uncached IOPS consumed | Percentage of the uncached disk IOPS consumed by the VM. |
Dependent item | azure.vm.uncached.iops.consumed Preprocessing
|
| Network in total | The number of bytes received by the VM via all network interfaces (incoming traffic). |
Dependent item | azure.vm.network.in.total Preprocessing
|
| Network out total | The number of bytes sent by the VM via all network interfaces (outgoing traffic). |
Dependent item | azure.vm.network.out.total Preprocessing
|
| Available memory | Amount of physical memory, in bytes, immediately available for the allocation to a process or for a system use in the virtual machine. |
Dependent item | azure.vm.memory.available Preprocessing
|
| Data disk latency | Average time to complete each IO during the monitoring period for Data Disk. |
Dependent item | azure.vm.disk.latency Preprocessing
|
| OS disk latency | Average time to complete each IO during the monitoring period for OS Disk. |
Dependent item | azure.vm.os.disk.latency Preprocessing
|
| Temp disk latency | Average time to complete each IO during the monitoring period for temp disk. |
Dependent item | azure.vm.temp.disk.latency Preprocessing
|
| Temp disk read rate | Bytes/Sec read from a single disk during the monitoring period for temp disk. |
Dependent item | azure.vm.temp.disk.read.bps Preprocessing
|
| Temp disk write rate | Bytes/Sec written to a single disk during the monitoring period for temp disk. |
Dependent item | azure.vm.temp.disk.write.bps Preprocessing
|
| Temp disk IOPS read | Read IOPS from a single disk during the monitoring period for temp disk. |
Dependent item | azure.vm.temp.disk.read.ops Preprocessing
|
| Temp disk IOPS write | Bytes/Sec written to a single disk during the monitoring period for temp disk. |
Dependent item | azure.vm.temp.disk.write.ops Preprocessing
|
| Temp disk queue depth | Temp Disk queue depth (or queue length). |
Dependent item | azure.vm.temp.disk.queue.depth Preprocessing
|
| VM availability metric | Measure of availability of virtual machine over time. |
Dependent item | azure.vm.availability Preprocessing
|
Triggers
| Name | Description | Expression | Severity | Dependencies and additional info |
|---|---|---|---|---|
| Azure VM: There are errors in requests to API | Zabbix has received errors in response to API requests. |
length(last(/Azure Virtual Machine by HTTP/azure.vm.data.errors))>0 |
Average | |
| Azure VM: Virtual machine is unavailable | The resource state is unavailable. |
last(/Azure Virtual Machine by HTTP/azure.vm.availability.state)=2 |
High | |
| Azure VM: Virtual machine is degraded | The resource is in a degraded state. |
last(/Azure Virtual Machine by HTTP/azure.vm.availability.state)=1 |
Average | |
| Azure VM: Virtual machine is in unknown state | The resource state is unknown. |
last(/Azure Virtual Machine by HTTP/azure.vm.availability.state)=3 |
Warning | |
| Azure VM: High CPU utilization | The CPU utilization is too high. The system might be slow to respond. |
min(/Azure Virtual Machine by HTTP/azure.vm.cpu.utilization,5m)>{$AZURE.VM.CPU.UTIL.CRIT} |
High |
Azure Virtual Machine by HTTP
Overview
This template is designed to monitor Microsoft Azure virtual machines (VMs) by HTTP. It works without any external scripts and uses the script item.
Requirements
Zabbix version: 6.4 and higher.
Tested versions
This template has been tested on:
- Microsoft Azure virtual machines
Configuration
Zabbix should be configured according to the instructions in the Templates out of the box section.
Setup
-
Create an Azure service principal via the Azure command-line interface (Azure CLI) for your subscription.
az ad sp create-for-rbac --name zabbix --role reader --scope /subscriptions/<subscription_id>
See Azure documentation for more details.
- Link the template to a host.
- Configure the macros:
{$AZURE.APP.ID},{$AZURE.PASSWORD},{$AZURE.TENANT.ID},{$AZURE.SUBSCRIPTION.ID}, and{$AZURE.RESOURCE.ID}.
Macros used
| Name | Description | Default |
|---|---|---|
| {$AZURE.PROXY} | Sets the HTTP proxy value. If this macro is empty, then no proxy is used. |
|
| {$AZURE.APP.ID} | The App ID of Microsoft Azure. |
|
| {$AZURE.PASSWORD} | Microsoft Azure password. |
|
| {$AZURE.DATA.TIMEOUT} | API response timeout. |
15s |
| {$AZURE.TENANT.ID} | Microsoft Azure tenant ID. |
|
| {$AZURE.SUBSCRIPTION.ID} | Microsoft Azure subscription ID. |
|
| {$AZURE.RESOURCE.ID} | Microsoft Azure virtual machine ID. |
|
| {$AZURE.VM.CPU.UTIL.CRIT} | The critical threshold of CPU utilization, expressed in %. |
90 |
Items
| Name | Description | Type | Key and additional info |
|---|---|---|---|
| Azure: Get data | The result of API requests is expressed in the JSON. |
Script | azure.vm.data.get |
| Azure: Get errors | A list of errors from API requests. |
Dependent item | azure.vm.data.errors Preprocessing
|
| Azure: Availability state | The availability status of the resource. |
Dependent item | azure.vm.availability.state Preprocessing
|
| Azure: Availability status detailed | The summary description of availability status. |
Dependent item | azure.vm.availability.details Preprocessing
|
| Azure: Percentage CPU | The percentage of allocated computing units that are currently in use by VMs. |
Dependent item | azure.vm.cpu.percentage Preprocessing
|
| Azure: Disk read rate | Bytes read from the disk during the monitoring period (1 minute). |
Dependent item | azure.vm.disk.read.bytes Preprocessing
|
| Azure: Disk write rate | Bytes written to the disk during the monitoring period (1 minute). |
Dependent item | azure.vm.disk.write.bytes Preprocessing
|
| Azure: Disk read operations/sec | The count of read operations from the disk per second. |
Dependent item | azure.vm.disk.read.ops Preprocessing
|
| Azure: Disk write operations/sec | The count of write operations to the disk per second. |
Dependent item | azure.vm.disk.write.ops Preprocessing
|
| Azure: CPU credits remaining | The total number of credits available to burst. Available only on B-series burstable VMs. |
Dependent item | azure.vm.cpu.credits.remaining Preprocessing
|
| Azure: CPU credits consumed | The total number of credits consumed by the virtual machine. Only available on B-series burstable VMs. |
Dependent item | azure.vm.cpu.credits.consumed Preprocessing
|
| Azure: Data disk read rate | Bytes per second read from a single disk during the monitoring period. |
Dependent item | azure.vm.data.disk.read.bps Preprocessing
|
| Azure: Data disk write rate | Bytes per second written to a single disk during the monitoring period. |
Dependent item | azure.vm.data.disk.write.bps Preprocessing
|
| Azure: Data disk read operations/sec | The read IOPS from a single disk during the monitoring period. |
Dependent item | azure.vm.data.disk.read.ops Preprocessing
|
| Azure: Data disk write operations/sec | The write IOPS from a single disk during the monitoring period. |
Dependent item | azure.vm.data.disk.write.ops Preprocessing
|
| Azure: Data disk queue depth | The number of outstanding IO requests that are waiting to be performed on a disk. |
Dependent item | azure.vm.data.disk.queue.depth Preprocessing
|
| Azure: Data disk bandwidth consumed percentage | The percentage of the data disk bandwidth consumed per minute. |
Dependent item | azure.vm.data.disk.bandwidth.consumed.percentage Preprocessing
|
| Azure: Data disk IOPS consumed percentage | The percentage of the data disk input/output (I/O) consumed per minute. |
Dependent item | azure.vm.data.disk.iops.consumed.percentage Preprocessing
|
| Azure: Data disk target bandwidth | Baseline byte-per-second throughput that the data disk can achieve without bursting. |
Dependent item | azure.vm.data.disk.target.bandwidth Preprocessing
|
| Azure: Data disk target IOPS | The baseline IOPS that the data disk can achieve without bursting. |
Dependent item | azure.vm.data.disk.target.iops Preprocessing
|
| Azure: Data disk max burst bandwidth | The maximum byte-per-second throughput that the data disk can achieve with bursting. |
Dependent item | azure.vm.data.disk.max.bandwidth Preprocessing
|
| Azure: Data disk max burst IOPS | The maximum IOPS that the data disk can achieve with bursting. |
Dependent item | azure.vm.data.disk.max.iops Preprocessing
|
| Azure: Data disk used burst BPS credits percentage | The percentage of the data disk burst bandwidth credits used so far. |
Dependent item | azure.vm.data.disk.used.burst.bandwidth Preprocessing
|
| Azure: Data disk used burst IO credits percentage | The percentage of the data disk burst I/O credits used so far. |
Dependent item | azure.vm.data.disk.used.burst.iops Preprocessing
|
| Azure: OS disk read rate | Bytes per second read from a single disk during the monitoring period - for an OS disk. |
Dependent item | azure.vm.os.disk.read.bps Preprocessing
|
| Azure: OS disk write rate | Bytes per second written to a single disk during the monitoring period - for an OS disk. |
Dependent item | azure.vm.os.disk.write.bps Preprocessing
|
| Azure: OS disk read operations/sec | The read IOPS from a single disk during the monitoring period - for an OS disk. |
Dependent item | azure.vm.os.disk.read.ops Preprocessing
|
| Azure: OS disk write operations/sec | The write IOPS from a single disk during the monitoring period - for an OS disk. |
Dependent item | azure.vm.os.disk.write.ops Preprocessing
|
| Azure: OS disk queue depth | The OS disk queue depth (or queue length). |
Dependent item | azure.vm.os.disk.queue.depth Preprocessing
|
| Azure: OS disk bandwidth consumed percentage | The percentage of the operating system's disk bandwidth consumed per minute. |
Dependent item | azure.vm.os.disk.bandwidth.consumed.percentage Preprocessing
|
| Azure: OS disk IOPS consumed percentage | The percentage of the operating system's disk I/Os consumed per minute. |
Dependent item | azure.vm.os.disk.iops.consumed.percentage Preprocessing
|
| Azure: OS disk target bandwidth | Baseline byte-per-second throughput that the OS disk can achieve without bursting. |
Dependent item | azure.vm.os.disk.target.bandwidth Preprocessing
|
| Azure: OS disk target IOPS | Baseline IOPS that the OS disk can achieve without bursting. |
Dependent item | azure.vm.os.disk.target.iops Preprocessing
|
| Azure: OS disk max burst bandwidth | Maximum byte-per-second throughput that the OS disk can achieve with bursting. |
Dependent item | azure.vm.os.disk.max.bandwidth Preprocessing
|
| Azure: OS disk max burst IOPS | Maximum IOPS that the OS disk can achieve with bursting. |
Dependent item | azure.vm.os.disk.max.iops Preprocessing
|
| Azure: OS disk used burst BPS credits percentage | The percentage of the OS disk burst bandwidth credits used so far. |
Dependent item | azure.vm.os.disk.used.burst.bandwidth Preprocessing
|
| Azure: OS disk used burst IO credits percentage | The percentage of the OS disk burst I/O credits used so far. |
Dependent item | azure.vm.os.disk.used.burst.iops Preprocessing
|
| Azure: Inbound flows | The number of current flows in the inbound direction (the traffic going into the VM). |
Dependent item | azure.vm.flows.inbound Preprocessing
|
| Azure: Outbound flows | The number of current flows in the outbound direction (the traffic going out of the VM). |
Dependent item | azure.vm.flows.outbound Preprocessing
|
| Azure: Inbound flows max creation rate | The maximum creation rate of the inbound flows (the traffic going into the VM). |
Dependent item | azure.vm.flows.inbound.max Preprocessing
|
| Azure: Outbound flows max creation rate | The maximum creation rate of the outbound flows (the traffic going out of the VM). |
Dependent item | azure.vm.flows.outbound.max Preprocessing
|
| Azure: Premium data disk cache read hit | Premium data disk cache read hit. |
Dependent item | azure.vm.premium.data.disk.cache.read.hit Preprocessing
|
| Azure: Premium data disk cache read miss | Premium data disk cache read miss. |
Dependent item | azure.vm.premium.data.disk.cache.read.miss Preprocessing
|
| Azure: Premium OS disk cache read hit | Premium OS disk cache read hit. |
Dependent item | azure.vm.premium.os.disk.cache.read.hit Preprocessing
|
| Azure: Premium OS disk cache read miss | Premium OS disk cache read miss. |
Dependent item | azure.vm.premium.os.disk.cache.read.miss Preprocessing
|
| Azure: VM cached bandwidth consumed percentage | The percentage of the cached disk bandwidth consumed by the VM. |
Dependent item | azure.vm.cached.bandwidth.consumed.percentage Preprocessing
|
| Azure: VM cached IOPS consumed percentage | The percentage of the cached disk IOPS consumed by the VM. |
Dependent item | azure.vm.cached.iops.consumed.percentage Preprocessing
|
| Azure: VM uncached bandwidth consumed percentage | The percentage of the uncached disk bandwidth consumed by the VM. |
Dependent item | azure.vm.uncached.bandwidth.consumed.percentage Preprocessing
|
| Azure: VM uncached IOPS consumed percentage | The percentage of the uncached disk IOPS consumed by the VM. |
Dependent item | azure.vm.uncached.iops.consumed.percentage Preprocessing
|
| Azure: Network in total | The number of bytes received by the VMs via all network interfaces (incoming traffic). |
Dependent item | azure.vm.network.in.total Preprocessing
|
| Azure: Network out total | The number of bytes sent by the VMs via all network interfaces (outgoing traffic). |
Dependent item | azure.vm.network.out.total Preprocessing
|
| Azure: Available memory | The amount of physical memory (in bytes) immediately available for the allocation to a process or for a system use in the VM. |
Dependent item | azure.vm.memory.available Preprocessing
|
Triggers
| Name | Description | Expression | Severity | Dependencies and additional info |
|---|---|---|---|---|
| Azure: There are errors in requests to API | Zabbix has received errors in response to API requests. |
length(last(/Azure Virtual Machine by HTTP/azure.vm.data.errors))>0 |
Average | |
| Azure: Virtual machine is unavailable | The resource state is unavailable. |
last(/Azure Virtual Machine by HTTP/azure.vm.availability.state)=2 |
High | |
| Azure: Virtual machine is degraded | The resource is in a degraded state. |
last(/Azure Virtual Machine by HTTP/azure.vm.availability.state)=1 |
Average | |
| Azure: Virtual machine is in unknown state | The resource state is unknown. |
last(/Azure Virtual Machine by HTTP/azure.vm.availability.state)=3 |
Warning | |
| Azure: High CPU utilization | The CPU utilization is too high. The system might be slow to respond. |
min(/Azure Virtual Machine by HTTP/azure.vm.cpu.percentage,5m)>{$AZURE.VM.CPU.UTIL.CRIT} |
High |
Azure virtual machine by HTTP
Overview
This template is designed to monitor Microsoft Azure virtual machines by HTTP. It works without any external scripts and uses the script item.
Requirements
For Zabbix version: 6.2 and higher.
Setup
See Zabbix template operation for basic instructions.
-
Create an Azure service principal via the Azure command-line interface (Azure CLI) for your subscription.
az ad sp create-for-rbac --name zabbix --role reader --scope /subscriptions/<subscription_id>
See Azure documentation for more details.
- Link the template to a host.
- Configure macros
{$AZURE.APP_ID},{$AZURE.PASSWORD},{$AZURE.TENANT_ID},{$AZURE.SUBSCRIPTION_ID}, and{$AZURE.RESOURCE_ID}.
Configuration
No specific Zabbix configuration is required.
Macros used
| Name | Description | Default |
|---|---|---|
| {$AZURE.APP_ID} | The AppID of Microsoft Azure. |
`` |
| {$AZURE.DATA.TIMEOUT} | A response timeout for an API. |
60s |
| {$AZURE.PASSWORD} | Microsoft Azure password. |
`` |
| {$AZURE.RESOURCE_ID} | Microsoft Azure virtual machine ID. |
`` |
| {$AZURE.SUBSCRIPTION_ID} | Microsoft Azure subscription ID. |
`` |
| {$AZURE.TENANT_ID} | Microsoft Azure tenant ID. |
`` |
| {$AZURE.VM.CPU.UTIL.CRIT} | The critical threshold of the CPU utilization expressed in %. |
90 |
Template links
There are no template links in this template.
Discovery rules
Items collected
| Group | Name | Description | Type | Key and additional info |
|---|---|---|---|---|
| Azure | Azure: Get data | The result of API requests is expressed in the JSON. |
SCRIPT | azure.vm.data.get Expression: The text is too long. Please see the template. |
| Azure | Azure: Get errors | A list of errors from API requests. |
DEPENDENT | azure.vm.data.errors Preprocessing: - JSONPATH: - DISCARD_UNCHANGED_HEARTBEAT: |
| Azure | Azure: Availability state | The availability status of the resource. |
DEPENDENT | azure.vm.availability.state Preprocessing: - JSONPATH: ⛔️ON_FAIL: - STR_REPLACE: - STR_REPLACE: - STR_REPLACE: - STR_REPLACE: - IN_RANGE: ⛔️ON_FAIL: - DISCARD_UNCHANGED_HEARTBEAT: |
| Azure | Azure: Availability status detailed | The summary description of the availability status. |
DEPENDENT | azure.vm.availability.details Preprocessing: - JSONPATH: - DISCARD_UNCHANGED_HEARTBEAT: |
| Azure | Azure: Percentage CPU | The percentage of allocated compute units that are currently in use by the Virtual Machine(s). |
DEPENDENT | azure.vm.cpu.percentage Preprocessing: - JSONPATH: |
| Azure | Azure: Disk read rate | Bytes read from the disk during the monitoring period (1 minute). |
DEPENDENT | azure.vm.disk.read.bytes Preprocessing: - JSONPATH: - MULTIPLIER: |
| Azure | Azure: Disk write rate | Bytes written to the disk during the monitoring period (1 minute). |
DEPENDENT | azure.vm.disk.write.bytes Preprocessing: - JSONPATH: - MULTIPLIER: |
| Azure | Azure: Disk read Operations/Sec | The count of read operations from the disk per second. |
DEPENDENT | azure.vm.disk.read.ops Preprocessing: - JSONPATH: |
| Azure | Azure: Disk write Operations/Sec | The count of write operations to the disk per second. |
DEPENDENT | azure.vm.disk.write.ops Preprocessing: - JSONPATH: |
| Azure | Azure: CPU credits remaining | The total number of credits available to burst. Only available on B-series burstable VMs. |
DEPENDENT | azure.vm.cpu.credits.remaining Preprocessing: - JSONPATH: ⛔️ON_FAIL: |
| Azure | Azure: CPU credits consumed | The total number of credits consumed by the Virtual Machine. Only available on B-series burstable VMs. |
DEPENDENT | azure.vm.cpu.credits.consumed Preprocessing: - JSONPATH: ⛔️ON_FAIL: |
| Azure | Azure: Data disk read rate | Bytes/Sec read from a single disk during the monitoring period. |
DEPENDENT | azure.vm.data.disk.read.bps Preprocessing: - JSONPATH: ⛔️ON_FAIL: |
| Azure | Azure: Data disk write rate | Bytes/Sec written to a single disk during the monitoring period. |
DEPENDENT | azure.vm.data.disk.write.bps Preprocessing: - JSONPATH: ⛔️ON_FAIL: |
| Azure | Azure: Data disk read operations/sec | The read IOPS from a single disk during the monitoring period. |
DEPENDENT | azure.vm.data.disk.read.ops Preprocessing: - JSONPATH: ⛔️ON_FAIL: |
| Azure | Azure: Data disk write operations/sec | The write IOPS from a single disk during the monitoring period. |
DEPENDENT | azure.vm.data.disk.write.ops Preprocessing: - JSONPATH: ⛔️ON_FAIL: |
| Azure | Azure: Data disk queue depth | The queue depth (or queue length) of the Data Disk. |
DEPENDENT | azure.vm.data.disk.queue.depth Preprocessing: - JSONPATH: ⛔️ON_FAIL: |
| Azure | Azure: Data disk bandwidth consumed percentage | The percentage of the Data Disk bandwidth consumed per minute. |
DEPENDENT | azure.vm.data.disk.bandwidth.consumed.percentage Preprocessing: - JSONPATH: ⛔️ON_FAIL: |
| Azure | Azure: Data disk IOPS consumed percentage | The percentage of the Data Disk I/Os consumed per minute. |
DEPENDENT | azure.vm.data.disk.iops.consumed.percentage Preprocessing: - JSONPATH: ⛔️ON_FAIL: |
| Azure | Azure: Data disk target bandwidth | Baseline bytes per second throughput Data Disk can achieve without bursting. |
DEPENDENT | azure.vm.data.disk.target.bandwidth Preprocessing: - JSONPATH: ⛔️ON_FAIL: |
| Azure | Azure: Data disk target IOPS | Baseline IOPS Data Disk can achieve without bursting. |
DEPENDENT | azure.vm.data.disk.target.iops Preprocessing: - JSONPATH: ⛔️ON_FAIL: |
| Azure | Azure: Data disk max burst bandwidth | Maximum bytes per second throughput Data Disk can achieve with bursting. |
DEPENDENT | azure.vm.data.disk.max.bandwidth Preprocessing: - JSONPATH: ⛔️ON_FAIL: |
| Azure | Azure: Data disk max burst IOPS | Maximum IOPS Data Disk can achieve with bursting. |
DEPENDENT | azure.vm.data.disk.max.iops Preprocessing: - JSONPATH: ⛔️ON_FAIL: |
| Azure | Azure: Data disk used burst BPS credits percentage | The percentage of the Data Disk burst bandwidth credits used so far. |
DEPENDENT | azure.vm.data.disk.used.burst.bandwidth Preprocessing: - JSONPATH: ⛔️ON_FAIL: |
| Azure | Azure: Data disk used burst IO credits percentage | The percentage of the Data Disk burst I/O credits used so far. |
DEPENDENT | azure.vm.data.disk.used.burst.iops Preprocessing: - JSONPATH: ⛔️ON_FAIL: |
| Azure | Azure: OS disk read rate | Bytes/Sec read from a single disk during the monitoring period for OS disk. |
DEPENDENT | azure.vm.os.disk.read.bps Preprocessing: - JSONPATH: ⛔️ON_FAIL: |
| Azure | Azure: OS disk write rate | Bytes/Sec written to a single disk during the monitoring period for OS disk. |
DEPENDENT | azure.vm.os.disk.write.bps Preprocessing: - JSONPATH: ⛔️ON_FAIL: |
| Azure | Azure: OS disk read operations/sec | The read IOPS from a single disk during the monitoring period for OS disk. |
DEPENDENT | azure.vm.os.disk.read.ops Preprocessing: - JSONPATH: ⛔️ON_FAIL: |
| Azure | Azure: OS disk write operations/sec | The write IOPS from a single disk during the monitoring period for OS disk. |
DEPENDENT | azure.vm.os.disk.write.ops Preprocessing: - JSONPATH: ⛔️ON_FAIL: |
| Azure | Azure: OS disk queue depth | The OS disk queue depth (or queue length). |
DEPENDENT | azure.vm.os.disk.queue.depth Preprocessing: - JSONPATH: ⛔️ON_FAIL: |
| Azure | Azure: OS disk bandwidth consumed percentage | The percentage of the operating system disk bandwidth consumed per minute. |
DEPENDENT | azure.vm.os.disk.bandwidth.consumed.percentage Preprocessing: - JSONPATH: ⛔️ON_FAIL: |
| Azure | Azure: OS disk IOPS consumed percentage | The percentage of the operating system disk I/Os consumed per minute. |
DEPENDENT | azure.vm.os.disk.iops.consumed.percentage Preprocessing: - JSONPATH: ⛔️ON_FAIL: |
| Azure | Azure: OS disk target bandwidth | Baseline bytes per second throughput OS Disk can achieve without bursting. |
DEPENDENT | azure.vm.os.disk.target.bandwidth Preprocessing: - JSONPATH: ⛔️ON_FAIL: |
| Azure | Azure: OS disk target IOPS | Baseline IOPS OS Disk can achieve without bursting. |
DEPENDENT | azure.vm.os.disk.target.iops Preprocessing: - JSONPATH: ⛔️ON_FAIL: |
| Azure | Azure: OS disk max burst bandwidth | Maximum bytes per second throughput OS Disk can achieve with bursting. |
DEPENDENT | azure.vm.os.disk.max.bandwidth Preprocessing: - JSONPATH: ⛔️ON_FAIL: |
| Azure | Azure: OS disk max burst IOPS | Maximum IOPS OS Disk can achieve with bursting. |
DEPENDENT | azure.vm.os.disk.max.iops Preprocessing: - JSONPATH: ⛔️ON_FAIL: |
| Azure | Azure: OS disk used burst BPS credits percentage | The percentage of the OS Disk burst bandwidth credits used so far. |
DEPENDENT | azure.vm.os.disk.used.burst.bandwidth Preprocessing: - JSONPATH: ⛔️ON_FAIL: |
| Azure | Azure: OS disk used burst IO credits percentage | Percentage of OS Disk burst I/O credits used so far. |
DEPENDENT | azure.vm.os.disk.used.burst.iops Preprocessing: - JSONPATH: ⛔️ON_FAIL: |
| Azure | Azure: Inbound flows | Inbound Flows are number of the current flows in the inbound direction (traffic going into the VM). |
DEPENDENT | azure.vm.flows.inbound Preprocessing: - JSONPATH: ⛔️ON_FAIL: |
| Azure | Azure: Outbound flows | Outbound Flows are number of the current flows in the outbound direction (traffic going out of the VM). |
DEPENDENT | azure.vm.flows.outbound Preprocessing: - JSONPATH: ⛔️ON_FAIL: |
| Azure | Azure: Inbound flows max creation rate | The maximum creation rate of the inbound flows (traffic going into the VM). |
DEPENDENT | azure.vm.flows.inbound.max Preprocessing: - JSONPATH: ⛔️ON_FAIL: |
| Azure | Azure: Outbound flows max creation rate | The maximum creation rate of the outbound flows (traffic going out of the VM). |
DEPENDENT | azure.vm.flows.outbound.max Preprocessing: - JSONPATH: ⛔️ON_FAIL: |
| Azure | Azure: Premium data disk cache read hit | Premium Data Disk cache read hit. |
DEPENDENT | azure.vm.premium.data.disk.cache.read.hit Preprocessing: - JSONPATH: ⛔️ON_FAIL: |
| Azure | Azure: Premium data disk cache read miss | Premium Data Disk cache read miss. |
DEPENDENT | azure.vm.premium.data.disk.cache.read.miss Preprocessing: - JSONPATH: ⛔️ON_FAIL: |
| Azure | Azure: Premium OS disk cache read hit | Premium OS disk cache read hit. |
DEPENDENT | azure.vm.premium.os.disk.cache.read.hit Preprocessing: - JSONPATH: ⛔️ON_FAIL: |
| Azure | Azure: Premium OS disk cache read miss | Premium OS disk cache read miss. |
DEPENDENT | azure.vm.premium.os.disk.cache.read.miss Preprocessing: - JSONPATH: ⛔️ON_FAIL: |
| Azure | Azure: VM cached bandwidth consumed percentage | Percentage of cached disk bandwidth consumed by the VM. |
DEPENDENT | azure.vm.cached.bandwidth.consumed.percentage Preprocessing: - JSONPATH: |
| Azure | Azure: VM cached IOPS consumed percentage | Percentage of cached disk IOPS consumed by the VM. |
DEPENDENT | azure.vm.cached.iops.consumed.percentage Preprocessing: - JSONPATH: |
| Azure | Azure: VM uncached bandwidth consumed percentage | The percentage of the uncached disk bandwidth consumed by the VM. |
DEPENDENT | azure.vm.uncached.bandwidth.consumed.percentage Preprocessing: - JSONPATH: |
| Azure | Azure: VM uncached IOPS consumed percentage | The percentage of the uncached disk IOPS consumed by the VM. |
DEPENDENT | azure.vm.uncached.iops.consumed.percentage Preprocessing: - JSONPATH: |
| Azure | Azure: Network in total | The number of bytes received on all network interfaces by the Virtual Machine(s) (Incoming Traffic). |
DEPENDENT | azure.vm.network.in.total Preprocessing: - JSONPATH: ⛔️ON_FAIL: - MULTIPLIER: |
| Azure | Azure: Network out total | The number of bytes out on all network interfaces by the Virtual Machine(s) (Outgoing Traffic). |
DEPENDENT | azure.vm.network.out.total Preprocessing: - JSONPATH: ⛔️ON_FAIL: - MULTIPLIER: |
| Azure | Azure: Available memory | The amount of physical memory, in bytes, immediately available for allocation to a process or for system use in the Virtual Machine. |
DEPENDENT | azure.vm.memory.available Preprocessing: - JSONPATH: |
Triggers
| Name | Description | Expression | Severity | Dependencies and additional info |
|---|---|---|---|---|
| Azure: There are errors in requests to API | Zabbix has received errors in response to API requests. |
length(last(/Azure virtual machine by HTTP/azure.vm.data.errors))>0 |
AVERAGE | |
| Azure: Virtual machine is unavailable | The resource state is unavailable. |
last(/Azure virtual machine by HTTP/azure.vm.availability.state)=2 |
HIGH | |
| Azure: Virtual machine is degraded | The resource is in degraded state. |
last(/Azure virtual machine by HTTP/azure.vm.availability.state)=1 |
AVERAGE | |
| Azure: Virtual machine is in unknown state | The resource state is unknown. |
last(/Azure virtual machine by HTTP/azure.vm.availability.state)=3 |
WARNING | |
| Azure: High CPU utilization | The CPU utilization is too high. The system might be slow to respond. |
min(/Azure virtual machine by HTTP/azure.vm.cpu.percentage,5m)>{$AZURE.VM.CPU.UTIL.CRIT} |
HIGH |
Feedback
Please report any issues with the template at https://support.zabbix.com.
You can also provide feedback, discuss the template, or ask for help at ZABBIX forums.
Azure Virtual Machine by HTTP
Overview
This template is designed to monitor Microsoft Azure virtual machines (VMs) by HTTP. It works without any external scripts and uses the script item.
Requirements
Zabbix version: 6.0 and higher.
Tested versions
This template has been tested on:
- Microsoft Azure virtual machines
Configuration
Zabbix should be configured according to the instructions in the Templates out of the box section.
Setup
-
Create an Azure service principal via the Azure command-line interface (Azure CLI) for your subscription.
az ad sp create-for-rbac --name zabbix --role reader --scope /subscriptions/<subscription_id>
See Azure documentation for more details.
- Link the template to a host.
- Configure the macros:
{$AZURE.APP.ID},{$AZURE.PASSWORD},{$AZURE.TENANT.ID},{$AZURE.SUBSCRIPTION.ID}, and{$AZURE.RESOURCE.ID}.
Macros used
| Name | Description | Default |
|---|---|---|
| {$AZURE.PROXY} | Sets the HTTP proxy value. If this macro is empty, then no proxy is used. |
|
| {$AZURE.APP.ID} | The App ID of Microsoft Azure. |
|
| {$AZURE.PASSWORD} | Microsoft Azure password. |
|
| {$AZURE.DATA.TIMEOUT} | API response timeout. |
15s |
| {$AZURE.TENANT.ID} | Microsoft Azure tenant ID. |
|
| {$AZURE.SUBSCRIPTION.ID} | Microsoft Azure subscription ID. |
|
| {$AZURE.RESOURCE.ID} | Microsoft Azure virtual machine ID. |
|
| {$AZURE.VM.CPU.UTIL.CRIT} | The critical threshold of CPU utilization, expressed in %. |
90 |
Items
| Name | Description | Type | Key and additional info |
|---|---|---|---|
| Azure: Get data | The result of API requests is expressed in the JSON. |
Script | azure.vm.data.get |
| Azure: Get errors | A list of errors from API requests. |
Dependent item | azure.vm.data.errors Preprocessing
|
| Azure: Availability state | The availability status of the resource. 0 - Available - no events detected that affect the health of the resource. 1 - Degraded - your resource detected a loss in performance, although it's still available for use. 2 - Unavailable - the service detected an ongoing platform or non-platform event that affects the health of the resource. 3 - Unknown - Resource Health hasn't received information about the resource for more than 10 minutes. |
Dependent item | azure.vm.availability.state Preprocessing
|
| Azure: Availability status detailed | The summary description of availability status. |
Dependent item | azure.vm.availability.details Preprocessing
|
| Azure: CPU utilization | Percentage of allocated compute units that are currently in use by virtual machine. |
Dependent item | azure.vm.cpu.utilization Preprocessing
|
| Azure: Disk read | Bytes read from the disk during the monitoring period. |
Dependent item | azure.vm.disk.read.bytes Preprocessing
|
| Azure: Disk write | Bytes written to the disk during the monitoring period. |
Dependent item | azure.vm.disk.write.bytes Preprocessing
|
| Azure: Disk IOPS read | The count of read operations from the disk per second. |
Dependent item | azure.vm.disk.read.ops Preprocessing
|
| Azure: Disk IOPS write | The count of write operations to the disk per second. |
Dependent item | azure.vm.disk.write.ops Preprocessing
|
| Azure: CPU credits remaining | Total number of credits available to burst. Available only on B-series burstable VMs. |
Dependent item | azure.vm.cpu.credits.remaining Preprocessing
|
| Azure: CPU credits consumed | Total number of credits consumed by the virtual machine. Only available on B-series burstable VMs. |
Dependent item | azure.vm.cpu.credits.consumed Preprocessing
|
| Azure: Data disk read rate | Bytes per second read from a single disk during the monitoring period. |
Dependent item | azure.vm.data.disk.read.bps Preprocessing
|
| Azure: Data disk write rate | Bytes per second written to a single disk during the monitoring period. |
Dependent item | azure.vm.data.disk.write.bps Preprocessing
|
| Azure: Data disk IOPS read | Read IOPS from a single disk during the monitoring period. |
Dependent item | azure.vm.data.disk.read.ops Preprocessing
|
| Azure: Data disk IOPS write | Write IOPS from a single disk during the monitoring period. |
Dependent item | azure.vm.data.disk.write.ops Preprocessing
|
| Azure: Data disk queue depth | The number of outstanding IO requests that are waiting to be performed on a disk. |
Dependent item | azure.vm.data.disk.queue.depth Preprocessing
|
| Azure: Data disk bandwidth consumed | Percentage of the data disk bandwidth consumed per minute. |
Dependent item | azure.vm.data.disk.bandwidth.consumed Preprocessing
|
| Azure: Data disk IOPS consumed | Percentage of the data disk input/output (I/O) consumed per minute. |
Dependent item | azure.vm.data.disk.iops.consumed Preprocessing
|
| Azure: Data disk target bandwidth | Baseline byte-per-second throughput that the data disk can achieve without bursting. |
Dependent item | azure.vm.data.disk.bandwidth.target Preprocessing
|
| Azure: Data disk target IOPS | Baseline IOPS that the data disk can achieve without bursting. |
Dependent item | azure.vm.data.disk.iops.target Preprocessing
|
| Azure: Data disk max burst bandwidth | Maximum byte-per-second throughput that the data disk can achieve with bursting. |
Dependent item | azure.vm.data.disk.bandwidth.max Preprocessing
|
| Azure: Data disk max burst IOPS | Maximum IOPS that the data disk can achieve with bursting. |
Dependent item | azure.vm.data.disk.iops.max Preprocessing
|
| Azure: Data disk used burst BPS credits | Percentage of the data disk burst bandwidth credits used so far. |
Dependent item | azure.vm.data.disk.bandwidth.burst.used Preprocessing
|
| Azure: Data disk used burst IO credits | Percentage of the data disk burst I/O credits used so far. |
Dependent item | azure.vm.data.disk.iops.burst.used Preprocessing
|
| Azure: OS disk read rate | Bytes/sec read from a single disk during the monitoring period - for an OS disk. |
Dependent item | azure.vm.os.disk.read.bps Preprocessing
|
| Azure: OS disk write rate | Bytes/sec written to a single disk during the monitoring period - for an OS disk. |
Dependent item | azure.vm.os.disk.write.bps Preprocessing
|
| Azure: OS disk IOPS read | Read IOPS from a single disk during the monitoring period - for an OS disk. |
Dependent item | azure.vm.os.disk.read.ops Preprocessing
|
| Azure: OS disk IOPS write | Write IOPS from a single disk during the monitoring period - for an OS disk. |
Dependent item | azure.vm.os.disk.write.ops Preprocessing
|
| Azure: OS disk queue depth | The OS disk queue depth (or queue length). |
Dependent item | azure.vm.os.disk.queue.depth Preprocessing
|
| Azure: OS disk bandwidth consumed | Percentage of the operating system disk bandwidth consumed per minute. |
Dependent item | azure.vm.os.disk.bandwidth.consumed Preprocessing
|
| Azure: OS disk IOPS consumed | Percentage of the operating system disk I/Os consumed per minute. |
Dependent item | azure.vm.os.disk.iops.consumed Preprocessing
|
| Azure: OS disk target bandwidth | Baseline byte-per-second throughput that the OS disk can achieve without bursting. |
Dependent item | azure.vm.os.disk.bandwidth.target Preprocessing
|
| Azure: OS disk target IOPS | Baseline IOPS that the OS disk can achieve without bursting. |
Dependent item | azure.vm.os.disk.iops.target Preprocessing
|
| Azure: OS disk max burst bandwidth | Maximum byte-per-second throughput that the OS disk can achieve with bursting. |
Dependent item | azure.vm.os.disk.bandwidth.max Preprocessing
|
| Azure: OS disk max burst IOPS | Maximum IOPS that the OS disk can achieve with bursting. |
Dependent item | azure.vm.os.disk.iops.max Preprocessing
|
| Azure: OS disk used burst BPS credits | Percentage of the OS disk burst bandwidth credits used so far. |
Dependent item | azure.vm.os.disk.bandwidth.burst.used Preprocessing
|
| Azure: OS disk used burst IO credits | Percentage of the OS disk burst I/O credits used so far. |
Dependent item | azure.vm.os.disk.iops.burst.used Preprocessing
|
| Azure: Inbound flows | The number of current flows in the inbound direction (the traffic going into the VM). |
Dependent item | azure.vm.flows.inbound Preprocessing
|
| Azure: Outbound flows | The number of current flows in the outbound direction (the traffic going out of the VM). |
Dependent item | azure.vm.flows.outbound Preprocessing
|
| Azure: Inbound flows max creation rate | Maximum creation rate of the inbound flows (the traffic going into the VM). |
Dependent item | azure.vm.flows.inbound.max Preprocessing
|
| Azure: Outbound flows max creation rate | Maximum creation rate of the outbound flows (the traffic going out of the VM). |
Dependent item | azure.vm.flows.outbound.max Preprocessing
|
| Azure: Premium data disk cache read hit in % | Percentage of premium data disk cache read hit. |
Dependent item | azure.vm.premium.data.disk.cache.read.hit Preprocessing
|
| Azure: Premium data disk cache read miss in % | Percentage of premium data disk cache read miss. |
Dependent item | azure.vm.premium.data.disk.cache.read.miss Preprocessing
|
| Azure: Premium OS disk cache read hit in % | Percentage of premium OS disk cache read hit. |
Dependent item | azure.vm.premium.os.disk.cache.read.hit Preprocessing
|
| Azure: Premium OS disk cache read miss in % | Percentage of premium OS disk cache read miss. |
Dependent item | azure.vm.premium.os.disk.cache.read.miss Preprocessing
|
| Azure: VM cached bandwidth consumed | Percentage of the cached disk bandwidth consumed by the VM. |
Dependent item | azure.vm.cached.bandwidth.consumed Preprocessing
|
| Azure: VM cached IOPS consumed | Percentage of the cached disk IOPS consumed by the VM. |
Dependent item | azure.vm.cached.iops.consumed Preprocessing
|
| Azure: VM uncached bandwidth consumed | Percentage of the uncached disk bandwidth consumed by the VM. |
Dependent item | azure.vm.uncached.bandwidth.consumed Preprocessing
|
| Azure: VM uncached IOPS consumed | Percentage of the uncached disk IOPS consumed by the VM. |
Dependent item | azure.vm.uncached.iops.consumed Preprocessing
|
| Azure: Network in total | The number of bytes received by the VM via all network interfaces (incoming traffic). |
Dependent item | azure.vm.network.in.total Preprocessing
|
| Azure: Network out total | The number of bytes sent by the VM via all network interfaces (outgoing traffic). |
Dependent item | azure.vm.network.out.total Preprocessing
|
| Azure: Available memory | Amount of physical memory, in bytes, immediately available for the allocation to a process or for a system use in the virtual machine. |
Dependent item | azure.vm.memory.available Preprocessing
|
| Azure: Data disk latency | Average time to complete each IO during the monitoring period for Data Disk. |
Dependent item | azure.vm.disk.latency Preprocessing
|
| Azure: OS disk latency | Average time to complete each IO during the monitoring period for OS Disk. |
Dependent item | azure.vm.os.disk.latency Preprocessing
|
| Azure: Temp disk latency | Average time to complete each IO during the monitoring period for temp disk. |
Dependent item | azure.vm.temp.disk.latency Preprocessing
|
| Azure: Temp disk read rate | Bytes/Sec read from a single disk during the monitoring period for temp disk. |
Dependent item | azure.vm.temp.disk.read.bps Preprocessing
|
| Azure: Temp disk write rate | Bytes/Sec written to a single disk during the monitoring period for temp disk. |
Dependent item | azure.vm.temp.disk.write.bps Preprocessing
|
| Azure: Temp disk IOPS read | Read IOPS from a single disk during the monitoring period for temp disk. |
Dependent item | azure.vm.temp.disk.read.ops Preprocessing
|
| Azure: Temp disk IOPS write | Bytes/Sec written to a single disk during the monitoring period for temp disk. |
Dependent item | azure.vm.temp.disk.write.ops Preprocessing
|
| Azure: Temp disk queue depth | Temp Disk queue depth (or queue length). |
Dependent item | azure.vm.temp.disk.queue.depth Preprocessing
|
| Azure: VM availability metric | Measure of availability of virtual machine over time. |
Dependent item | azure.vm.availability Preprocessing
|
Triggers
| Name | Description | Expression | Severity | Dependencies and additional info |
|---|---|---|---|---|
| Azure: There are errors in requests to API | Zabbix has received errors in response to API requests. |
length(last(/Azure Virtual Machine by HTTP/azure.vm.data.errors))>0 |
Average | |
| Azure: Virtual machine is unavailable | The resource state is unavailable. |
last(/Azure Virtual Machine by HTTP/azure.vm.availability.state)=2 |
High | |
| Azure: Virtual machine is degraded | The resource is in a degraded state. |
last(/Azure Virtual Machine by HTTP/azure.vm.availability.state)=1 |
Average | |
| Azure: Virtual machine is in unknown state | The resource state is unknown. |
last(/Azure Virtual Machine by HTTP/azure.vm.availability.state)=3 |
Warning | |
| Azure: High CPU utilization | The CPU utilization is too high. The system might be slow to respond. |
min(/Azure Virtual Machine by HTTP/azure.vm.cpu.utilization,5m)>{$AZURE.VM.CPU.UTIL.CRIT} |
High |
Azure VM Scale Set by HTTP
Overview
This template is designed to monitor Microsoft Azure virtual machine scale sets by HTTP. It works without any external scripts and uses the script item.
Requirements
Zabbix version: 7.4 and higher.
Tested versions
This template has been tested on:
- Microsoft Azure virtual machine scale sets
Configuration
Zabbix should be configured according to the instructions in the Templates out of the box section.
Setup
-
Create an Azure service principal via the Azure command-line interface (Azure CLI) for your subscription.
az ad sp create-for-rbac --name zabbix --role reader --scope /subscriptions/<subscription_id>
See Azure documentation for more details.
- Link the template to a host.
- Configure the macros:
{$AZURE.APP.ID},{$AZURE.PASSWORD},{$AZURE.TENANT.ID},{$AZURE.SUBSCRIPTION.ID}, and{$AZURE.RESOURCE.ID}.
Macros used
| Name | Description | Default |
|---|---|---|
| {$AZURE.SUBSCRIPTION.ID} | Microsoft Azure subscription ID. |
|
| {$AZURE.TENANT.ID} | Microsoft Azure tenant ID. |
|
| {$AZURE.APP.ID} | The App ID of Microsoft Azure. |
|
| {$AZURE.PASSWORD} | Microsoft Azure password. |
|
| {$AZURE.RESOURCE.ID} | Microsoft Azure scale set ID. |
|
| {$AZURE.SCALESET.VM.COUNT.CRIT} | The critical amount of virtual machines in the scale set. |
100 |
| {$AZURE.SCALESET.CPU.UTIL.CRIT} | The critical threshold of CPU utilization, expressed in %. |
90 |
| {$AZURE.DATA.TIMEOUT} | API response timeout. |
15s |
| {$AZURE.PROXY} | Sets the HTTP proxy value. If this macro is empty, then no proxy is used. |
|
| {$HTTP.TLS.VERIFY} | TLS certificate verification for script items: "none" - disabled, "peer" - verify the certificate chain and expiration, "full" - full verification. Any other value enables full verification. To override the setting for this template only, define the macro with the context "Azure VM Scale Set", e.g. {$HTTP.TLS.VERIFY:"Azure VM Scale Set"}. |
full |
Items
| Name | Description | Type | Key and additional info |
|---|---|---|---|
| Get data | Gathers data of the virtual machine scale set. |
Script | azure.scaleset.data.get |
| Get errors | A list of errors from API requests. |
Dependent item | azure.scaleset.data.errors Preprocessing
|
| Availability state | The availability status of the resource. 0 - Available - no events detected that affect the health of the resource. 1 - Degraded - your resource detected a loss in performance, although it's still available for use. 2 - Unavailable - the service detected an ongoing platform or non-platform event that affects the health of the resource. 3 - Unknown - Resource Health hasn't received information about the resource for more than 10 minutes. |
Dependent item | azure.scaleset.availability.state Preprocessing
|
| Availability status detailed | The summary description of availability status. |
Dependent item | azure.scaleset.availability.details Preprocessing
|
| Virtual machine count | Current amount of virtual machines in the scale set. |
Dependent item | azure.scaleset.vm.count Preprocessing
|
| Available memory | Amount of physical memory, in bytes, immediately available for allocation to a process or for system use in the virtual machine. |
Dependent item | azure.scaleset.vm.memory Preprocessing
|
| CPU credits consumed | Total number of credits consumed by the virtual machine. Only available on B-series burstable VMs. |
Dependent item | azure.scaleset.cpu.credits.consumed Preprocessing
|
| CPU credits remaining | Total number of credits available to burst. Only available on B-series burstable VMs. |
Dependent item | azure.scaleset.cpu.credits.remaining Preprocessing
|
| CPU utilization | The percentage of allocated compute units that are currently in use by the virtual machine(s). |
Dependent item | azure.scaleset.cpu.utilization Preprocessing
|
| Data disk bandwidth consumed | Percentage of data disk bandwidth consumed per minute. |
Dependent item | azure.scaleset.data.disk.bandwidth.consumed Preprocessing
|
| Data disk IOPS consumed | Percentage of data disk I/Os consumed per minute. |
Dependent item | azure.scaleset.data.disk.iops.consumed Preprocessing
|
| Data disk read rate | Bytes/sec read from a single disk during the monitoring period. |
Dependent item | azure.scaleset.data.disk.read.bps Preprocessing
|
| Data disk IOPS read | Read IOPS from a single disk during the monitoring period. |
Dependent item | azure.scaleset.data.disk.read.ops Preprocessing
|
| Data disk used burst BPS credits | Percentage of data disk burst bandwidth credits used so far. |
Dependent item | azure.scaleset.data.disk.bandwidth.burst.used Preprocessing
|
| Data disk used burst IO credits | Percentage of data disk burst I/O credits used so far. |
Dependent item | azure.scaleset.data.disk.iops.burst.used Preprocessing
|
| Data disk write rate | Bytes/sec written to a single disk during the monitoring period. |
Dependent item | azure.scaleset.data.disk.write.bps Preprocessing
|
| Data disk IOPS write | Write IOPS from a single disk during the monitoring period. |
Dependent item | azure.scaleset.data.disk.write.ops Preprocessing
|
| Data disk queue depth | Data disk queue depth (or queue length). |
Dependent item | azure.scaleset.data.disk.queue.depth Preprocessing
|
| Data disk target bandwidth | Baseline byte-per-second throughput the data disk can achieve without bursting. |
Dependent item | azure.scaleset.data.disk.bandwidth.target Preprocessing
|
| Data disk target IOPS | Baseline IOPS the data disk can achieve without bursting. |
Dependent item | azure.scaleset.data.disk.iops.target Preprocessing
|
| Data disk max burst bandwidth | Maximum byte-per-second throughput the data disk can achieve with bursting. |
Dependent item | azure.scaleset.data.disk.bandwidth.burst.max Preprocessing
|
| Data disk max burst IOPS | Maximum IOPS the data disk can achieve with bursting. |
Dependent item | azure.scaleset.data.disk.iops.burst.max Preprocessing
|
| Disk read | Bytes read from the disk during the monitoring period. |
Dependent item | azure.scaleset.disk.read Preprocessing
|
| Disk IOPS read | Disk read IOPS. |
Dependent item | azure.scaleset.disk.read.ops Preprocessing
|
| Disk write | Bytes written to the disk during the monitoring period. |
Dependent item | azure.scaleset.disk.write Preprocessing
|
| Disk IOPS write | Write IOPS from a single disk during the monitoring period. |
Dependent item | azure.scaleset.disk.write.ops Preprocessing
|
| Inbound flows | Inbound Flows are the number of current flows in the inbound direction (traffic going into the VMs). |
Dependent item | azure.scaleset.flows.inbound Preprocessing
|
| Outbound flows | Outbound Flows are the number of current flows in the outbound direction (traffic going out of the VMs). |
Dependent item | azure.scaleset.flows.outbound Preprocessing
|
| Network in total | The number of bytes received on all network interfaces by the virtual machine(s) (incoming traffic). |
Dependent item | azure.scaleset.network.in.total Preprocessing
|
| Network out total | The number of bytes out on all network interfaces by the virtual machine(s) (outgoing traffic). |
Dependent item | azure.scaleset.network.out.total Preprocessing
|
| Inbound flow maximum creation rate | The maximum creation rate of inbound flows (traffic going into the VM). |
Dependent item | azure.scaleset.flows.inbound.max Preprocessing
|
| Outbound flow maximum creation rate | The maximum creation rate of outbound flows (traffic going out of the VM). |
Dependent item | azure.scaleset.flows.outbound.max Preprocessing
|
| OS disk read rate | Bytes/sec read from a single disk during the monitoring period - for an OS disk. |
Dependent item | azure.scaleset.os.disk.read.bps Preprocessing
|
| OS disk write rate | Bytes/sec written to a single disk during the monitoring period - for an OS disk. |
Dependent item | azure.scaleset.os.disk.write.bps Preprocessing
|
| OS disk IOPS read | Read IOPS from a single disk during the monitoring period - for an OS disk. |
Dependent item | azure.scaleset.os.disk.read.ops Preprocessing
|
| OS disk IOPS write | Write IOPS from a single disk during the monitoring period - for an OS disk. |
Dependent item | azure.scaleset.os.disk.write.ops Preprocessing
|
| OS disk queue depth | OS Disk queue depth (or queue length). |
Dependent item | azure.scaleset.os.disk.queue.depth Preprocessing
|
| OS disk bandwidth consumed | Percentage of operating system disk bandwidth consumed per minute. |
Dependent item | azure.scaleset.os.disk.bandwidth.consumed Preprocessing
|
| OS disk IOPS consumed | Percentage of operating system disk I/Os consumed per minute. |
Dependent item | azure.scaleset.os.disk.iops.consumed Preprocessing
|
| OS disk target bandwidth | Baseline byte-per-second throughput the OS Disk can achieve without bursting. |
Dependent item | azure.scaleset.os.disk.bandwidth.target Preprocessing
|
| OS disk target IOPS | Baseline IOPS the OS disk can achieve without bursting. |
Dependent item | azure.scaleset.os.disk.iops.target Preprocessing
|
| OS disk max burst bandwidth | Maximum byte-per-second throughput the OS Disk can achieve with bursting. |
Dependent item | azure.scaleset.os.disk.bandwidth.max Preprocessing
|
| OS disk max burst IOPS | Maximum IOPS the OS Disk can achieve with bursting. |
Dependent item | azure.scaleset.os.disk.iops.max Preprocessing
|
| OS disk used burst BPS credits | Percentage of OS Disk burst bandwidth credits used so far. |
Dependent item | azure.scaleset.os.disk.bandwidth.burst.used Preprocessing
|
| OS disk used burst IO credits | Percentage of OS Disk burst I/O credits used so far. |
Dependent item | azure.scaleset.os.disk.iops.burst.used Preprocessing
|
| Premium data disk cache read hit in % | Percentage of premium data disk cache read hit. |
Dependent item | azure.scaleset.premium.data.disk.cache.read.hit Preprocessing
|
| Premium data disk cache read miss in % | Percentage of premium data disk cache read miss. |
Dependent item | azure.scaleset.premium.data.disk.cache.read.miss Preprocessing
|
| Premium OS disk cache read hit in % | Percentage of premium OS disk cache read hit. |
Dependent item | azure.scaleset.premium.os.disk.cache.read.hit Preprocessing
|
| Premium OS disk cache read miss in % | Percentage of premium OS disk cache read miss. |
Dependent item | azure.scaleset.premium.os.disk.cache.read.miss Preprocessing
|
| VM cached bandwidth consumed | Percentage of cached disk bandwidth consumed by the VM. |
Dependent item | azure.scaleset.vm.cached.bandwidth.consumed Preprocessing
|
| VM cached IOPS consumed | Percentage of cached disk IOPS consumed by the VM. |
Dependent item | azure.scaleset.vm.cached.iops.consumed Preprocessing
|
| VM uncached bandwidth consumed | Percentage of uncached disk bandwidth consumed by the VM. |
Dependent item | azure.scaleset.vm.uncached.bandwidth.consumed Preprocessing
|
| VM uncached IOPS consumed | Percentage of uncached disk IOPS consumed by the VM. |
Dependent item | azure.scaleset.vm.uncached.iops.consumed Preprocessing
|
| VM availability metric | Measure of availability of the virtual machines over time. |
Dependent item | azure.scaleset.availability Preprocessing
|
Triggers
| Name | Description | Expression | Severity | Dependencies and additional info |
|---|---|---|---|---|
| Azure VM Scale: There are errors in requests to API | Zabbix has received errors in response to API requests. |
length(last(/Azure VM Scale Set by HTTP/azure.scaleset.data.errors))>0 |
Average | |
| Azure VM Scale: Virtual machine scale set is unavailable | The resource state is unavailable. |
last(/Azure VM Scale Set by HTTP/azure.scaleset.availability.state)=2 |
High | |
| Azure VM Scale: Virtual machine scale set is degraded | The resource is in a degraded state. |
last(/Azure VM Scale Set by HTTP/azure.scaleset.availability.state)=1 |
Average | |
| Azure VM Scale: Virtual machine scale set is in unknown state | The resource state is unknown. |
last(/Azure VM Scale Set by HTTP/azure.scaleset.availability.state)=3 |
Warning | |
| Azure VM Scale: High amount of VMs in the scale set | High amount of VMs in the scale set. |
min(/Azure VM Scale Set by HTTP/azure.scaleset.vm.count,5m)>{$AZURE.SCALESET.VM.COUNT.CRIT} |
High | |
| Azure VM Scale: High CPU utilization | The CPU utilization is too high. The system might be slow to respond. |
min(/Azure VM Scale Set by HTTP/azure.scaleset.cpu.utilization,5m)>{$AZURE.SCALESET.CPU.UTIL.CRIT} |
High |
Azure VM Scale Set by HTTP
Overview
This template is designed to monitor Microsoft Azure virtual machine scale sets by HTTP. It works without any external scripts and uses the script item.
Requirements
Zabbix version: 7.2 and higher.
Tested versions
This template has been tested on:
- Microsoft Azure virtual machine scale sets
Configuration
Zabbix should be configured according to the instructions in the Templates out of the box section.
Setup
-
Create an Azure service principal via the Azure command-line interface (Azure CLI) for your subscription.
az ad sp create-for-rbac --name zabbix --role reader --scope /subscriptions/<subscription_id>
See Azure documentation for more details.
- Link the template to a host.
- Configure the macros:
{$AZURE.APP.ID},{$AZURE.PASSWORD},{$AZURE.TENANT.ID},{$AZURE.SUBSCRIPTION.ID}, and{$AZURE.RESOURCE.ID}.
Macros used
| Name | Description | Default |
|---|---|---|
| {$AZURE.PROXY} | Sets the HTTP proxy value. If this macro is empty, then no proxy is used. |
|
| {$AZURE.APP.ID} | The App ID of Microsoft Azure. |
|
| {$AZURE.PASSWORD} | Microsoft Azure password. |
|
| {$AZURE.DATA.TIMEOUT} | API response timeout. |
15s |
| {$AZURE.TENANT.ID} | Microsoft Azure tenant ID. |
|
| {$AZURE.SUBSCRIPTION.ID} | Microsoft Azure subscription ID. |
|
| {$AZURE.RESOURCE.ID} | Microsoft Azure virtual machine ID. |
|
| {$AZURE.SCALESET.CPU.UTIL.CRIT} | The critical threshold of CPU utilization, expressed in %. |
90 |
| {$AZURE.SCALESET.VM.COUNT.CRIT} | The critical amount of virtual machines in the scale set. |
100 |
Items
| Name | Description | Type | Key and additional info |
|---|---|---|---|
| Get data | Gathers data of the virtual machine scale set. |
Script | azure.scaleset.data.get |
| Get errors | A list of errors from API requests. |
Dependent item | azure.scaleset.data.errors Preprocessing
|
| Availability state | The availability status of the resource. 0 - Available - no events detected that affect the health of the resource. 1 - Degraded - your resource detected a loss in performance, although it's still available for use. 2 - Unavailable - the service detected an ongoing platform or non-platform event that affects the health of the resource. 3 - Unknown - Resource Health hasn't received information about the resource for more than 10 minutes. |
Dependent item | azure.scaleset.availability.state Preprocessing
|
| Availability status detailed | The summary description of availability status. |
Dependent item | azure.scaleset.availability.details Preprocessing
|
| Virtual machine count | Current amount of virtual machines in the scale set. |
Dependent item | azure.scaleset.vm.count Preprocessing
|
| Available memory | Amount of physical memory, in bytes, immediately available for allocation to a process or for system use in the virtual machine. |
Dependent item | azure.scaleset.vm.memory Preprocessing
|
| CPU credits consumed | Total number of credits consumed by the virtual machine. Only available on B-series burstable VMs. |
Dependent item | azure.scaleset.cpu.credits.consumed Preprocessing
|
| CPU credits remaining | Total number of credits available to burst. Only available on B-series burstable VMs. |
Dependent item | azure.scaleset.cpu.credits.remaining Preprocessing
|
| CPU utilization | The percentage of allocated compute units that are currently in use by the virtual machine(s). |
Dependent item | azure.scaleset.cpu.utilization Preprocessing
|
| Data disk bandwidth consumed | Percentage of data disk bandwidth consumed per minute. |
Dependent item | azure.scaleset.data.disk.bandwidth.consumed Preprocessing
|
| Data disk IOPS consumed | Percentage of data disk I/Os consumed per minute. |
Dependent item | azure.scaleset.data.disk.iops.consumed Preprocessing
|
| Data disk read rate | Bytes/sec read from a single disk during the monitoring period. |
Dependent item | azure.scaleset.data.disk.read.bps Preprocessing
|
| Data disk IOPS read | Read IOPS from a single disk during the monitoring period. |
Dependent item | azure.scaleset.data.disk.read.ops Preprocessing
|
| Data disk used burst BPS credits | Percentage of data disk burst bandwidth credits used so far. |
Dependent item | azure.scaleset.data.disk.bandwidth.burst.used Preprocessing
|
| Data disk used burst IO credits | Percentage of data disk burst I/O credits used so far. |
Dependent item | azure.scaleset.data.disk.iops.burst.used Preprocessing
|
| Data disk write rate | Bytes/sec written to a single disk during the monitoring period. |
Dependent item | azure.scaleset.data.disk.write.bps Preprocessing
|
| Data disk IOPS write | Write IOPS from a single disk during the monitoring period. |
Dependent item | azure.scaleset.data.disk.write.ops Preprocessing
|
| Data disk queue depth | Data disk queue depth (or queue length). |
Dependent item | azure.scaleset.data.disk.queue.depth Preprocessing
|
| Data disk target bandwidth | Baseline byte-per-second throughput the data disk can achieve without bursting. |
Dependent item | azure.scaleset.data.disk.bandwidth.target Preprocessing
|
| Data disk target IOPS | Baseline IOPS the data disk can achieve without bursting. |
Dependent item | azure.scaleset.data.disk.iops.target Preprocessing
|
| Data disk max burst bandwidth | Maximum byte-per-second throughput the data disk can achieve with bursting. |
Dependent item | azure.scaleset.data.disk.bandwidth.burst.max Preprocessing
|
| Data disk max burst IOPS | Maximum IOPS the data disk can achieve with bursting. |
Dependent item | azure.scaleset.data.disk.iops.burst.max Preprocessing
|
| Disk read | Bytes read from the disk during the monitoring period. |
Dependent item | azure.scaleset.disk.read Preprocessing
|
| Disk IOPS read | Disk read IOPS. |
Dependent item | azure.scaleset.disk.read.ops Preprocessing
|
| Disk write | Bytes written to the disk during the monitoring period. |
Dependent item | azure.scaleset.disk.write Preprocessing
|
| Disk IOPS write | Write IOPS from a single disk during the monitoring period. |
Dependent item | azure.scaleset.disk.write.ops Preprocessing
|
| Inbound flows | Inbound Flows are the number of current flows in the inbound direction (traffic going into the VMs). |
Dependent item | azure.scaleset.flows.inbound Preprocessing
|
| Outbound flows | Outbound Flows are the number of current flows in the outbound direction (traffic going out of the VMs). |
Dependent item | azure.scaleset.flows.outbound Preprocessing
|
| Network in total | The number of bytes received on all network interfaces by the virtual machine(s) (incoming traffic). |
Dependent item | azure.scaleset.network.in.total Preprocessing
|
| Network out total | The number of bytes out on all network interfaces by the virtual machine(s) (outgoing traffic). |
Dependent item | azure.scaleset.network.out.total Preprocessing
|
| Inbound flow maximum creation rate | The maximum creation rate of inbound flows (traffic going into the VM). |
Dependent item | azure.scaleset.flows.inbound.max Preprocessing
|
| Outbound flow maximum creation rate | The maximum creation rate of outbound flows (traffic going out of the VM). |
Dependent item | azure.scaleset.flows.outbound.max Preprocessing
|
| OS disk read rate | Bytes/sec read from a single disk during the monitoring period - for an OS disk. |
Dependent item | azure.scaleset.os.disk.read.bps Preprocessing
|
| OS disk write rate | Bytes/sec written to a single disk during the monitoring period - for an OS disk. |
Dependent item | azure.scaleset.os.disk.write.bps Preprocessing
|
| OS disk IOPS read | Read IOPS from a single disk during the monitoring period - for an OS disk. |
Dependent item | azure.scaleset.os.disk.read.ops Preprocessing
|
| OS disk IOPS write | Write IOPS from a single disk during the monitoring period - for an OS disk. |
Dependent item | azure.scaleset.os.disk.write.ops Preprocessing
|
| OS disk queue depth | OS Disk queue depth (or queue length). |
Dependent item | azure.scaleset.os.disk.queue.depth Preprocessing
|
| OS disk bandwidth consumed | Percentage of operating system disk bandwidth consumed per minute. |
Dependent item | azure.scaleset.os.disk.bandwidth.consumed Preprocessing
|
| OS disk IOPS consumed | Percentage of operating system disk I/Os consumed per minute. |
Dependent item | azure.scaleset.os.disk.iops.consumed Preprocessing
|
| OS disk target bandwidth | Baseline byte-per-second throughput the OS Disk can achieve without bursting. |
Dependent item | azure.scaleset.os.disk.bandwidth.target Preprocessing
|
| OS disk target IOPS | Baseline IOPS the OS disk can achieve without bursting. |
Dependent item | azure.scaleset.os.disk.iops.target Preprocessing
|
| OS disk max burst bandwidth | Maximum byte-per-second throughput the OS Disk can achieve with bursting. |
Dependent item | azure.scaleset.os.disk.bandwidth.max Preprocessing
|
| OS disk max burst IOPS | Maximum IOPS the OS Disk can achieve with bursting. |
Dependent item | azure.scaleset.os.disk.iops.max Preprocessing
|
| OS disk used burst BPS credits | Percentage of OS Disk burst bandwidth credits used so far. |
Dependent item | azure.scaleset.os.disk.bandwidth.burst.used Preprocessing
|
| OS disk used burst IO credits | Percentage of OS Disk burst I/O credits used so far. |
Dependent item | azure.scaleset.os.disk.iops.burst.used Preprocessing
|
| Premium data disk cache read hit in % | Percentage of premium data disk cache read hit. |
Dependent item | azure.scaleset.premium.data.disk.cache.read.hit Preprocessing
|
| Premium data disk cache read miss in % | Percentage of premium data disk cache read miss. |
Dependent item | azure.scaleset.premium.data.disk.cache.read.miss Preprocessing
|
| Premium OS disk cache read hit in % | Percentage of premium OS disk cache read hit. |
Dependent item | azure.scaleset.premium.os.disk.cache.read.hit Preprocessing
|
| Premium OS disk cache read miss in % | Percentage of premium OS disk cache read miss. |
Dependent item | azure.scaleset.premium.os.disk.cache.read.miss Preprocessing
|
| VM cached bandwidth consumed | Percentage of cached disk bandwidth consumed by the VM. |
Dependent item | azure.scaleset.vm.cached.bandwidth.consumed Preprocessing
|
| VM cached IOPS consumed | Percentage of cached disk IOPS consumed by the VM. |
Dependent item | azure.scaleset.vm.cached.iops.consumed Preprocessing
|
| VM uncached bandwidth consumed | Percentage of uncached disk bandwidth consumed by the VM. |
Dependent item | azure.scaleset.vm.uncached.bandwidth.consumed Preprocessing
|
| VM uncached IOPS consumed | Percentage of uncached disk IOPS consumed by the VM. |
Dependent item | azure.scaleset.vm.uncached.iops.consumed Preprocessing
|
| VM availability metric | Measure of availability of the virtual machines over time. |
Dependent item | azure.scaleset.availability Preprocessing
|
Triggers
| Name | Description | Expression | Severity | Dependencies and additional info |
|---|---|---|---|---|
| Azure VM Scale: There are errors in requests to API | Zabbix has received errors in response to API requests. |
length(last(/Azure VM Scale Set by HTTP/azure.scaleset.data.errors))>0 |
Average | |
| Azure VM Scale: Virtual machine scale set is unavailable | The resource state is unavailable. |
last(/Azure VM Scale Set by HTTP/azure.scaleset.availability.state)=2 |
High | |
| Azure VM Scale: Virtual machine scale set is degraded | The resource is in a degraded state. |
last(/Azure VM Scale Set by HTTP/azure.scaleset.availability.state)=1 |
Average | |
| Azure VM Scale: Virtual machine scale set is in unknown state | The resource state is unknown. |
last(/Azure VM Scale Set by HTTP/azure.scaleset.availability.state)=3 |
Warning | |
| Azure VM Scale: High amount of VMs in the scale set | High amount of VMs in the scale set. |
min(/Azure VM Scale Set by HTTP/azure.scaleset.vm.count,5m)>{$AZURE.SCALESET.VM.COUNT.CRIT} |
High | |
| Azure VM Scale: High CPU utilization | The CPU utilization is too high. The system might be slow to respond. |
min(/Azure VM Scale Set by HTTP/azure.scaleset.cpu.utilization,5m)>{$AZURE.SCALESET.CPU.UTIL.CRIT} |
High |
Azure VM Scale Set by HTTP
Overview
This template is designed to monitor Microsoft Azure virtual machine scale sets by HTTP. It works without any external scripts and uses the script item.
Requirements
Zabbix version: 7.0 and higher.
Tested versions
This template has been tested on:
- Microsoft Azure virtual machine scale sets
Configuration
Zabbix should be configured according to the instructions in the Templates out of the box section.
Setup
-
Create an Azure service principal via the Azure command-line interface (Azure CLI) for your subscription.
az ad sp create-for-rbac --name zabbix --role reader --scope /subscriptions/<subscription_id>
See Azure documentation for more details.
- Link the template to a host.
- Configure the macros:
{$AZURE.APP.ID},{$AZURE.PASSWORD},{$AZURE.TENANT.ID},{$AZURE.SUBSCRIPTION.ID}, and{$AZURE.RESOURCE.ID}.
Macros used
| Name | Description | Default |
|---|---|---|
| {$AZURE.PROXY} | Sets the HTTP proxy value. If this macro is empty, then no proxy is used. |
|
| {$AZURE.APP.ID} | The App ID of Microsoft Azure. |
|
| {$AZURE.PASSWORD} | Microsoft Azure password. |
|
| {$AZURE.DATA.TIMEOUT} | API response timeout. |
15s |
| {$AZURE.TENANT.ID} | Microsoft Azure tenant ID. |
|
| {$AZURE.SUBSCRIPTION.ID} | Microsoft Azure subscription ID. |
|
| {$AZURE.RESOURCE.ID} | Microsoft Azure virtual machine ID. |
|
| {$AZURE.SCALESET.CPU.UTIL.CRIT} | The critical threshold of CPU utilization, expressed in %. |
90 |
| {$AZURE.SCALESET.VM.COUNT.CRIT} | The critical amount of virtual machines in the scale set. |
100 |
| {$HTTP.TLS.VERIFY} | TLS certificate verification for script items: "none" - disabled, "peer" - verify the certificate chain and expiration, "full" - full verification. Any other value enables full verification. To override the setting for this template only, define the macro with the context "Azure VM Scale Set", e.g. {$HTTP.TLS.VERIFY:"Azure VM Scale Set"}. |
full |
Items
| Name | Description | Type | Key and additional info |
|---|---|---|---|
| Get data | Gathers data of the virtual machine scale set. |
Script | azure.scaleset.data.get |
| Get errors | A list of errors from API requests. |
Dependent item | azure.scaleset.data.errors Preprocessing
|
| Availability state | The availability status of the resource. 0 - Available - no events detected that affect the health of the resource. 1 - Degraded - your resource detected a loss in performance, although it's still available for use. 2 - Unavailable - the service detected an ongoing platform or non-platform event that affects the health of the resource. 3 - Unknown - Resource Health hasn't received information about the resource for more than 10 minutes. |
Dependent item | azure.scaleset.availability.state Preprocessing
|
| Availability status detailed | The summary description of availability status. |
Dependent item | azure.scaleset.availability.details Preprocessing
|
| Virtual machine count | Current amount of virtual machines in the scale set. |
Dependent item | azure.scaleset.vm.count Preprocessing
|
| Available memory | Amount of physical memory, in bytes, immediately available for allocation to a process or for system use in the virtual machine. |
Dependent item | azure.scaleset.vm.memory Preprocessing
|
| CPU credits consumed | Total number of credits consumed by the virtual machine. Only available on B-series burstable VMs. |
Dependent item | azure.scaleset.cpu.credits.consumed Preprocessing
|
| CPU credits remaining | Total number of credits available to burst. Only available on B-series burstable VMs. |
Dependent item | azure.scaleset.cpu.credits.remaining Preprocessing
|
| CPU utilization | The percentage of allocated compute units that are currently in use by the virtual machine(s). |
Dependent item | azure.scaleset.cpu.utilization Preprocessing
|
| Data disk bandwidth consumed | Percentage of data disk bandwidth consumed per minute. |
Dependent item | azure.scaleset.data.disk.bandwidth.consumed Preprocessing
|
| Data disk IOPS consumed | Percentage of data disk I/Os consumed per minute. |
Dependent item | azure.scaleset.data.disk.iops.consumed Preprocessing
|
| Data disk read rate | Bytes/sec read from a single disk during the monitoring period. |
Dependent item | azure.scaleset.data.disk.read.bps Preprocessing
|
| Data disk IOPS read | Read IOPS from a single disk during the monitoring period. |
Dependent item | azure.scaleset.data.disk.read.ops Preprocessing
|
| Data disk used burst BPS credits | Percentage of data disk burst bandwidth credits used so far. |
Dependent item | azure.scaleset.data.disk.bandwidth.burst.used Preprocessing
|
| Data disk used burst IO credits | Percentage of data disk burst I/O credits used so far. |
Dependent item | azure.scaleset.data.disk.iops.burst.used Preprocessing
|
| Data disk write rate | Bytes/sec written to a single disk during the monitoring period. |
Dependent item | azure.scaleset.data.disk.write.bps Preprocessing
|
| Data disk IOPS write | Write IOPS from a single disk during the monitoring period. |
Dependent item | azure.scaleset.data.disk.write.ops Preprocessing
|
| Data disk queue depth | Data disk queue depth (or queue length). |
Dependent item | azure.scaleset.data.disk.queue.depth Preprocessing
|
| Data disk target bandwidth | Baseline byte-per-second throughput the data disk can achieve without bursting. |
Dependent item | azure.scaleset.data.disk.bandwidth.target Preprocessing
|
| Data disk target IOPS | Baseline IOPS the data disk can achieve without bursting. |
Dependent item | azure.scaleset.data.disk.iops.target Preprocessing
|
| Data disk max burst bandwidth | Maximum byte-per-second throughput the data disk can achieve with bursting. |
Dependent item | azure.scaleset.data.disk.bandwidth.burst.max Preprocessing
|
| Data disk max burst IOPS | Maximum IOPS the data disk can achieve with bursting. |
Dependent item | azure.scaleset.data.disk.iops.burst.max Preprocessing
|
| Disk read | Bytes read from the disk during the monitoring period. |
Dependent item | azure.scaleset.disk.read Preprocessing
|
| Disk IOPS read | Disk read IOPS. |
Dependent item | azure.scaleset.disk.read.ops Preprocessing
|
| Disk write | Bytes written to the disk during the monitoring period. |
Dependent item | azure.scaleset.disk.write Preprocessing
|
| Disk IOPS write | Write IOPS from a single disk during the monitoring period. |
Dependent item | azure.scaleset.disk.write.ops Preprocessing
|
| Inbound flows | Inbound Flows are the number of current flows in the inbound direction (traffic going into the VMs). |
Dependent item | azure.scaleset.flows.inbound Preprocessing
|
| Outbound flows | Outbound Flows are the number of current flows in the outbound direction (traffic going out of the VMs). |
Dependent item | azure.scaleset.flows.outbound Preprocessing
|
| Network in total | The number of bytes received on all network interfaces by the virtual machine(s) (incoming traffic). |
Dependent item | azure.scaleset.network.in.total Preprocessing
|
| Network out total | The number of bytes out on all network interfaces by the virtual machine(s) (outgoing traffic). |
Dependent item | azure.scaleset.network.out.total Preprocessing
|
| Inbound flow maximum creation rate | The maximum creation rate of inbound flows (traffic going into the VM). |
Dependent item | azure.scaleset.flows.inbound.max Preprocessing
|
| Outbound flow maximum creation rate | The maximum creation rate of outbound flows (traffic going out of the VM). |
Dependent item | azure.scaleset.flows.outbound.max Preprocessing
|
| OS disk read rate | Bytes/sec read from a single disk during the monitoring period - for an OS disk. |
Dependent item | azure.scaleset.os.disk.read.bps Preprocessing
|
| OS disk write rate | Bytes/sec written to a single disk during the monitoring period - for an OS disk. |
Dependent item | azure.scaleset.os.disk.write.bps Preprocessing
|
| OS disk IOPS read | Read IOPS from a single disk during the monitoring period - for an OS disk. |
Dependent item | azure.scaleset.os.disk.read.ops Preprocessing
|
| OS disk IOPS write | Write IOPS from a single disk during the monitoring period - for an OS disk. |
Dependent item | azure.scaleset.os.disk.write.ops Preprocessing
|
| OS disk queue depth | OS Disk queue depth (or queue length). |
Dependent item | azure.scaleset.os.disk.queue.depth Preprocessing
|
| OS disk bandwidth consumed | Percentage of operating system disk bandwidth consumed per minute. |
Dependent item | azure.scaleset.os.disk.bandwidth.consumed Preprocessing
|
| OS disk IOPS consumed | Percentage of operating system disk I/Os consumed per minute. |
Dependent item | azure.scaleset.os.disk.iops.consumed Preprocessing
|
| OS disk target bandwidth | Baseline byte-per-second throughput the OS Disk can achieve without bursting. |
Dependent item | azure.scaleset.os.disk.bandwidth.target Preprocessing
|
| OS disk target IOPS | Baseline IOPS the OS disk can achieve without bursting. |
Dependent item | azure.scaleset.os.disk.iops.target Preprocessing
|
| OS disk max burst bandwidth | Maximum byte-per-second throughput the OS Disk can achieve with bursting. |
Dependent item | azure.scaleset.os.disk.bandwidth.max Preprocessing
|
| OS disk max burst IOPS | Maximum IOPS the OS Disk can achieve with bursting. |
Dependent item | azure.scaleset.os.disk.iops.max Preprocessing
|
| OS disk used burst BPS credits | Percentage of OS Disk burst bandwidth credits used so far. |
Dependent item | azure.scaleset.os.disk.bandwidth.burst.used Preprocessing
|
| OS disk used burst IO credits | Percentage of OS Disk burst I/O credits used so far. |
Dependent item | azure.scaleset.os.disk.iops.burst.used Preprocessing
|
| Premium data disk cache read hit in % | Percentage of premium data disk cache read hit. |
Dependent item | azure.scaleset.premium.data.disk.cache.read.hit Preprocessing
|
| Premium data disk cache read miss in % | Percentage of premium data disk cache read miss. |
Dependent item | azure.scaleset.premium.data.disk.cache.read.miss Preprocessing
|
| Premium OS disk cache read hit in % | Percentage of premium OS disk cache read hit. |
Dependent item | azure.scaleset.premium.os.disk.cache.read.hit Preprocessing
|
| Premium OS disk cache read miss in % | Percentage of premium OS disk cache read miss. |
Dependent item | azure.scaleset.premium.os.disk.cache.read.miss Preprocessing
|
| VM cached bandwidth consumed | Percentage of cached disk bandwidth consumed by the VM. |
Dependent item | azure.scaleset.vm.cached.bandwidth.consumed Preprocessing
|
| VM cached IOPS consumed | Percentage of cached disk IOPS consumed by the VM. |
Dependent item | azure.scaleset.vm.cached.iops.consumed Preprocessing
|
| VM uncached bandwidth consumed | Percentage of uncached disk bandwidth consumed by the VM. |
Dependent item | azure.scaleset.vm.uncached.bandwidth.consumed Preprocessing
|
| VM uncached IOPS consumed | Percentage of uncached disk IOPS consumed by the VM. |
Dependent item | azure.scaleset.vm.uncached.iops.consumed Preprocessing
|
| VM availability metric | Measure of availability of the virtual machines over time. |
Dependent item | azure.scaleset.availability Preprocessing
|
Triggers
| Name | Description | Expression | Severity | Dependencies and additional info |
|---|---|---|---|---|
| Azure VM Scale: There are errors in requests to API | Zabbix has received errors in response to API requests. |
length(last(/Azure VM Scale Set by HTTP/azure.scaleset.data.errors))>0 |
Average | |
| Azure VM Scale: Virtual machine scale set is unavailable | The resource state is unavailable. |
last(/Azure VM Scale Set by HTTP/azure.scaleset.availability.state)=2 |
High | |
| Azure VM Scale: Virtual machine scale set is degraded | The resource is in a degraded state. |
last(/Azure VM Scale Set by HTTP/azure.scaleset.availability.state)=1 |
Average | |
| Azure VM Scale: Virtual machine scale set is in unknown state | The resource state is unknown. |
last(/Azure VM Scale Set by HTTP/azure.scaleset.availability.state)=3 |
Warning | |
| Azure VM Scale: High amount of VMs in the scale set | High amount of VMs in the scale set. |
min(/Azure VM Scale Set by HTTP/azure.scaleset.vm.count,5m)>{$AZURE.SCALESET.VM.COUNT.CRIT} |
High | |
| Azure VM Scale: High CPU utilization | The CPU utilization is too high. The system might be slow to respond. |
min(/Azure VM Scale Set by HTTP/azure.scaleset.cpu.utilization,5m)>{$AZURE.SCALESET.CPU.UTIL.CRIT} |
High |
Azure VM Scale Set by HTTP
Overview
This template is designed to monitor Microsoft Azure virtual machine scale sets by HTTP. It works without any external scripts and uses the script item.
Requirements
Zabbix version: 6.4 and higher.
Tested versions
This template has been tested on:
- Microsoft Azure virtual machine scale sets
Configuration
Zabbix should be configured according to the instructions in the Templates out of the box section.
Setup
-
Create an Azure service principal via the Azure command-line interface (Azure CLI) for your subscription.
az ad sp create-for-rbac --name zabbix --role reader --scope /subscriptions/<subscription_id>
See Azure documentation for more details.
- Link the template to a host.
- Configure the macros:
{$AZURE.APP.ID},{$AZURE.PASSWORD},{$AZURE.TENANT.ID},{$AZURE.SUBSCRIPTION.ID}, and{$AZURE.RESOURCE.ID}.
Macros used
| Name | Description | Default |
|---|---|---|
| {$AZURE.PROXY} | Sets the HTTP proxy value. If this macro is empty, then no proxy is used. |
|
| {$AZURE.APP.ID} | The App ID of Microsoft Azure. |
|
| {$AZURE.PASSWORD} | Microsoft Azure password. |
|
| {$AZURE.DATA.TIMEOUT} | API response timeout. |
15s |
| {$AZURE.TENANT.ID} | Microsoft Azure tenant ID. |
|
| {$AZURE.SUBSCRIPTION.ID} | Microsoft Azure subscription ID. |
|
| {$AZURE.RESOURCE.ID} | Microsoft Azure virtual machine ID. |
|
| {$AZURE.SCALESET.CPU.UTIL.CRIT} | The critical threshold of CPU utilization, expressed in %. |
90 |
| {$AZURE.SCALESET.VM.COUNT.CRIT} | The critical amount of virtual machines in the scale set. |
100 |
Items
| Name | Description | Type | Key and additional info |
|---|---|---|---|
| Azure VMSS: Get data | Gathers data of the virtual machine scale set. |
Script | azure.scaleset.data.get |
| Azure VMSS: Get errors | A list of errors from API requests. |
Dependent item | azure.scaleset.data.errors Preprocessing
|
| Azure VMSS: Availability state | The availability status of the resource. 0 - Available - no events detected that affect the health of the resource. 1 - Degraded - your resource detected a loss in performance, although it's still available for use. 2 - Unavailable - the service detected an ongoing platform or non-platform event that affects the health of the resource. 3 - Unknown - Resource Health hasn't received information about the resource for more than 10 minutes. |
Dependent item | azure.scaleset.availability.state Preprocessing
|
| Azure VMSS: Availability status detailed | The summary description of availability status. |
Dependent item | azure.scaleset.availability.details Preprocessing
|
| Azure VMSS: Virtual machine count | Current amount of virtual machines in the scale set. |
Dependent item | azure.scaleset.vm.count Preprocessing
|
| Azure VMSS: Available memory | Amount of physical memory, in bytes, immediately available for allocation to a process or for system use in the virtual machine. |
Dependent item | azure.scaleset.vm.memory Preprocessing
|
| Azure VMSS: CPU credits consumed | Total number of credits consumed by the virtual machine. Only available on B-series burstable VMs. |
Dependent item | azure.scaleset.cpu.credits.consumed Preprocessing
|
| Azure VMSS: CPU credits remaining | Total number of credits available to burst. Only available on B-series burstable VMs. |
Dependent item | azure.scaleset.cpu.credits.remaining Preprocessing
|
| Azure VMSS: CPU utilization | The percentage of allocated compute units that are currently in use by the virtual machine(s). |
Dependent item | azure.scaleset.cpu.utilization Preprocessing
|
| Azure VMSS: Data disk bandwidth consumed | Percentage of data disk bandwidth consumed per minute. |
Dependent item | azure.scaleset.data.disk.bandwidth.consumed Preprocessing
|
| Azure VMSS: Data disk IOPS consumed | Percentage of data disk I/Os consumed per minute. |
Dependent item | azure.scaleset.data.disk.iops.consumed Preprocessing
|
| Azure VMSS: Data disk read rate | Bytes/sec read from a single disk during the monitoring period. |
Dependent item | azure.scaleset.data.disk.read.bps Preprocessing
|
| Azure VMSS: Data disk IOPS read | Read IOPS from a single disk during the monitoring period. |
Dependent item | azure.scaleset.data.disk.read.ops Preprocessing
|
| Azure VMSS: Data disk used burst BPS credits | Percentage of data disk burst bandwidth credits used so far. |
Dependent item | azure.scaleset.data.disk.bandwidth.burst.used Preprocessing
|
| Azure VMSS: Data disk used burst IO credits | Percentage of data disk burst I/O credits used so far. |
Dependent item | azure.scaleset.data.disk.iops.burst.used Preprocessing
|
| Azure VMSS: Data disk write rate | Bytes/sec written to a single disk during the monitoring period. |
Dependent item | azure.scaleset.data.disk.write.bps Preprocessing
|
| Azure VMSS: Data disk IOPS write | Write IOPS from a single disk during the monitoring period. |
Dependent item | azure.scaleset.data.disk.write.ops Preprocessing
|
| Azure VMSS: Data disk queue depth | Data disk queue depth (or queue length). |
Dependent item | azure.scaleset.data.disk.queue.depth Preprocessing
|
| Azure VMSS: Data disk target bandwidth | Baseline byte-per-second throughput the data disk can achieve without bursting. |
Dependent item | azure.scaleset.data.disk.bandwidth.target Preprocessing
|
| Azure VMSS: Data disk target IOPS | Baseline IOPS the data disk can achieve without bursting. |
Dependent item | azure.scaleset.data.disk.iops.target Preprocessing
|
| Azure VMSS: Data disk max burst bandwidth | Maximum byte-per-second throughput the data disk can achieve with bursting. |
Dependent item | azure.scaleset.data.disk.bandwidth.burst.max Preprocessing
|
| Azure VMSS: Data disk max burst IOPS | Maximum IOPS the data disk can achieve with bursting. |
Dependent item | azure.scaleset.data.disk.iops.burst.max Preprocessing
|
| Azure VMSS: Disk read | Bytes read from the disk during the monitoring period. |
Dependent item | azure.scaleset.disk.read Preprocessing
|
| Azure VMSS: Disk IOPS read | Disk read IOPS. |
Dependent item | azure.scaleset.disk.read.ops Preprocessing
|
| Azure VMSS: Disk write | Bytes written to the disk during the monitoring period. |
Dependent item | azure.scaleset.disk.write Preprocessing
|
| Azure VMSS: Disk IOPS write | Write IOPS from a single disk during the monitoring period. |
Dependent item | azure.scaleset.disk.write.ops Preprocessing
|
| Azure VMSS: Inbound flows | Inbound Flows are the number of current flows in the inbound direction (traffic going into the VMs). |
Dependent item | azure.scaleset.flows.inbound Preprocessing
|
| Azure VMSS: Outbound flows | Outbound Flows are the number of current flows in the outbound direction (traffic going out of the VMs). |
Dependent item | azure.scaleset.flows.outbound Preprocessing
|
| Azure VMSS: Network in total | The number of bytes received on all network interfaces by the virtual machine(s) (incoming traffic). |
Dependent item | azure.scaleset.network.in.total Preprocessing
|
| Azure VMSS: Network out total | The number of bytes out on all network interfaces by the virtual machine(s) (outgoing traffic). |
Dependent item | azure.scaleset.network.out.total Preprocessing
|
| Azure VMSS: Inbound flow maximum creation rate | The maximum creation rate of inbound flows (traffic going into the VM). |
Dependent item | azure.scaleset.flows.inbound.max Preprocessing
|
| Azure VMSS: Outbound flow maximum creation rate | The maximum creation rate of outbound flows (traffic going out of the VM). |
Dependent item | azure.scaleset.flows.outbound.max Preprocessing
|
| Azure VMSS: OS disk read rate | Bytes/sec read from a single disk during the monitoring period - for an OS disk. |
Dependent item | azure.scaleset.os.disk.read.bps Preprocessing
|
| Azure VMSS: OS disk write rate | Bytes/sec written to a single disk during the monitoring period - for an OS disk. |
Dependent item | azure.scaleset.os.disk.write.bps Preprocessing
|
| Azure VMSS: OS disk IOPS read | Read IOPS from a single disk during the monitoring period - for an OS disk. |
Dependent item | azure.scaleset.os.disk.read.ops Preprocessing
|
| Azure VMSS: OS disk IOPS write | Write IOPS from a single disk during the monitoring period - for an OS disk. |
Dependent item | azure.scaleset.os.disk.write.ops Preprocessing
|
| Azure VMSS: OS disk queue depth | OS Disk queue depth (or queue length). |
Dependent item | azure.scaleset.os.disk.queue.depth Preprocessing
|
| Azure VMSS: OS disk bandwidth consumed | Percentage of operating system disk bandwidth consumed per minute. |
Dependent item | azure.scaleset.os.disk.bandwidth.consumed Preprocessing
|
| Azure VMSS: OS disk IOPS consumed | Percentage of operating system disk I/Os consumed per minute. |
Dependent item | azure.scaleset.os.disk.iops.consumed Preprocessing
|
| Azure VMSS: OS disk target bandwidth | Baseline byte-per-second throughput the OS Disk can achieve without bursting. |
Dependent item | azure.scaleset.os.disk.bandwidth.target Preprocessing
|
| Azure VMSS: OS disk target IOPS | Baseline IOPS the OS disk can achieve without bursting. |
Dependent item | azure.scaleset.os.disk.iops.target Preprocessing
|
| Azure VMSS: OS disk max burst bandwidth | Maximum byte-per-second throughput the OS Disk can achieve with bursting. |
Dependent item | azure.scaleset.os.disk.bandwidth.max Preprocessing
|
| Azure VMSS: OS disk max burst IOPS | Maximum IOPS the OS Disk can achieve with bursting. |
Dependent item | azure.scaleset.os.disk.iops.max Preprocessing
|
| Azure VMSS: OS disk used burst BPS credits | Percentage of OS Disk burst bandwidth credits used so far. |
Dependent item | azure.scaleset.os.disk.bandwidth.burst.used Preprocessing
|
| Azure VMSS: OS disk used burst IO credits | Percentage of OS Disk burst I/O credits used so far. |
Dependent item | azure.scaleset.os.disk.iops.burst.used Preprocessing
|
| Azure VMSS: Premium data disk cache read hit in % | Percentage of premium data disk cache read hit. |
Dependent item | azure.scaleset.premium.data.disk.cache.read.hit Preprocessing
|
| Azure VMSS: Premium data disk cache read miss in % | Percentage of premium data disk cache read miss. |
Dependent item | azure.scaleset.premium.data.disk.cache.read.miss Preprocessing
|
| Azure VMSS: Premium OS disk cache read hit in % | Percentage of premium OS disk cache read hit. |
Dependent item | azure.scaleset.premium.os.disk.cache.read.hit Preprocessing
|
| Azure VMSS: Premium OS disk cache read miss in % | Percentage of premium OS disk cache read miss. |
Dependent item | azure.scaleset.premium.os.disk.cache.read.miss Preprocessing
|
| Azure VMSS: VM cached bandwidth consumed | Percentage of cached disk bandwidth consumed by the VM. |
Dependent item | azure.scaleset.vm.cached.bandwidth.consumed Preprocessing
|
| Azure VMSS: VM cached IOPS consumed | Percentage of cached disk IOPS consumed by the VM. |
Dependent item | azure.scaleset.vm.cached.iops.consumed Preprocessing
|
| Azure VMSS: VM uncached bandwidth consumed | Percentage of uncached disk bandwidth consumed by the VM. |
Dependent item | azure.scaleset.vm.uncached.bandwidth.consumed Preprocessing
|
| Azure VMSS: VM uncached IOPS consumed | Percentage of uncached disk IOPS consumed by the VM. |
Dependent item | azure.scaleset.vm.uncached.iops.consumed Preprocessing
|
| Azure VMSS: VM availability metric | Measure of availability of the virtual machines over time. |
Dependent item | azure.scaleset.availability Preprocessing
|
Triggers
| Name | Description | Expression | Severity | Dependencies and additional info |
|---|---|---|---|---|
| Azure VMSS: There are errors in requests to API | Zabbix has received errors in response to API requests. |
length(last(/Azure VM Scale Set by HTTP/azure.scaleset.data.errors))>0 |
Average | |
| Azure VMSS: Virtual machine scale set is unavailable | The resource state is unavailable. |
last(/Azure VM Scale Set by HTTP/azure.scaleset.availability.state)=2 |
High | |
| Azure VMSS: Virtual machine scale set is degraded | The resource is in a degraded state. |
last(/Azure VM Scale Set by HTTP/azure.scaleset.availability.state)=1 |
Average | |
| Azure VMSS: Virtual machine scale set is in unknown state | The resource state is unknown. |
last(/Azure VM Scale Set by HTTP/azure.scaleset.availability.state)=3 |
Warning | |
| Azure VMSS: High amount of VMs in the scale set | High amount of VMs in the scale set. |
min(/Azure VM Scale Set by HTTP/azure.scaleset.vm.count,5m)>{$AZURE.SCALESET.VM.COUNT.CRIT} |
High | |
| Azure VMSS: High CPU utilization | The CPU utilization is too high. The system might be slow to respond. |
min(/Azure VM Scale Set by HTTP/azure.scaleset.cpu.utilization,5m)>{$AZURE.SCALESET.CPU.UTIL.CRIT} |
High |
Azure VM Scale Set by HTTP
Overview
This template is designed to monitor Microsoft Azure virtual machine scale sets by HTTP. It works without any external scripts and uses the script item.
Requirements
Zabbix version: 6.0 and higher.
Tested versions
This template has been tested on:
- Microsoft Azure virtual machine scale sets
Configuration
Zabbix should be configured according to the instructions in the Templates out of the box section.
Setup
-
Create an Azure service principal via the Azure command-line interface (Azure CLI) for your subscription.
az ad sp create-for-rbac --name zabbix --role reader --scope /subscriptions/<subscription_id>
See Azure documentation for more details.
- Link the template to a host.
- Configure the macros:
{$AZURE.APP.ID},{$AZURE.PASSWORD},{$AZURE.TENANT.ID},{$AZURE.SUBSCRIPTION.ID}, and{$AZURE.RESOURCE.ID}.
Macros used
| Name | Description | Default |
|---|---|---|
| {$AZURE.PROXY} | Sets the HTTP proxy value. If this macro is empty, then no proxy is used. |
|
| {$AZURE.APP.ID} | The App ID of Microsoft Azure. |
|
| {$AZURE.PASSWORD} | Microsoft Azure password. |
|
| {$AZURE.DATA.TIMEOUT} | API response timeout. |
15s |
| {$AZURE.TENANT.ID} | Microsoft Azure tenant ID. |
|
| {$AZURE.SUBSCRIPTION.ID} | Microsoft Azure subscription ID. |
|
| {$AZURE.RESOURCE.ID} | Microsoft Azure virtual machine ID. |
|
| {$AZURE.SCALESET.CPU.UTIL.CRIT} | The critical threshold of CPU utilization, expressed in %. |
90 |
| {$AZURE.SCALESET.VM.COUNT.CRIT} | The critical amount of virtual machines in the scale set. |
100 |
Items
| Name | Description | Type | Key and additional info |
|---|---|---|---|
| Azure VMSS: Get data | Gathers data of the virtual machine scale set. |
Script | azure.scaleset.data.get |
| Azure VMSS: Get errors | A list of errors from API requests. |
Dependent item | azure.scaleset.data.errors Preprocessing
|
| Azure VMSS: Availability state | The availability status of the resource. 0 - Available - no events detected that affect the health of the resource. 1 - Degraded - your resource detected a loss in performance, although it's still available for use. 2 - Unavailable - the service detected an ongoing platform or non-platform event that affects the health of the resource. 3 - Unknown - Resource Health hasn't received information about the resource for more than 10 minutes. |
Dependent item | azure.scaleset.availability.state Preprocessing
|
| Azure VMSS: Availability status detailed | The summary description of availability status. |
Dependent item | azure.scaleset.availability.details Preprocessing
|
| Azure VMSS: Virtual machine count | Current amount of virtual machines in the scale set. |
Dependent item | azure.scaleset.vm.count Preprocessing
|
| Azure VMSS: Available memory | Amount of physical memory, in bytes, immediately available for allocation to a process or for system use in the virtual machine. |
Dependent item | azure.scaleset.vm.memory Preprocessing
|
| Azure VMSS: CPU credits consumed | Total number of credits consumed by the virtual machine. Only available on B-series burstable VMs. |
Dependent item | azure.scaleset.cpu.credits.consumed Preprocessing
|
| Azure VMSS: CPU credits remaining | Total number of credits available to burst. Only available on B-series burstable VMs. |
Dependent item | azure.scaleset.cpu.credits.remaining Preprocessing
|
| Azure VMSS: CPU utilization | The percentage of allocated compute units that are currently in use by the virtual machine(s). |
Dependent item | azure.scaleset.cpu.utilization Preprocessing
|
| Azure VMSS: Data disk bandwidth consumed | Percentage of data disk bandwidth consumed per minute. |
Dependent item | azure.scaleset.data.disk.bandwidth.consumed Preprocessing
|
| Azure VMSS: Data disk IOPS consumed | Percentage of data disk I/Os consumed per minute. |
Dependent item | azure.scaleset.data.disk.iops.consumed Preprocessing
|
| Azure VMSS: Data disk read rate | Bytes/sec read from a single disk during the monitoring period. |
Dependent item | azure.scaleset.data.disk.read.bps Preprocessing
|
| Azure VMSS: Data disk IOPS read | Read IOPS from a single disk during the monitoring period. |
Dependent item | azure.scaleset.data.disk.read.ops Preprocessing
|
| Azure VMSS: Data disk used burst BPS credits | Percentage of data disk burst bandwidth credits used so far. |
Dependent item | azure.scaleset.data.disk.bandwidth.burst.used Preprocessing
|
| Azure VMSS: Data disk used burst IO credits | Percentage of data disk burst I/O credits used so far. |
Dependent item | azure.scaleset.data.disk.iops.burst.used Preprocessing
|
| Azure VMSS: Data disk write rate | Bytes/sec written to a single disk during the monitoring period. |
Dependent item | azure.scaleset.data.disk.write.bps Preprocessing
|
| Azure VMSS: Data disk IOPS write | Write IOPS from a single disk during the monitoring period. |
Dependent item | azure.scaleset.data.disk.write.ops Preprocessing
|
| Azure VMSS: Data disk queue depth | Data disk queue depth (or queue length). |
Dependent item | azure.scaleset.data.disk.queue.depth Preprocessing
|
| Azure VMSS: Data disk target bandwidth | Baseline byte-per-second throughput the data disk can achieve without bursting. |
Dependent item | azure.scaleset.data.disk.bandwidth.target Preprocessing
|
| Azure VMSS: Data disk target IOPS | Baseline IOPS the data disk can achieve without bursting. |
Dependent item | azure.scaleset.data.disk.iops.target Preprocessing
|
| Azure VMSS: Data disk max burst bandwidth | Maximum byte-per-second throughput the data disk can achieve with bursting. |
Dependent item | azure.scaleset.data.disk.bandwidth.burst.max Preprocessing
|
| Azure VMSS: Data disk max burst IOPS | Maximum IOPS the data disk can achieve with bursting. |
Dependent item | azure.scaleset.data.disk.iops.burst.max Preprocessing
|
| Azure VMSS: Disk read | Bytes read from the disk during the monitoring period. |
Dependent item | azure.scaleset.disk.read Preprocessing
|
| Azure VMSS: Disk IOPS read | Disk read IOPS. |
Dependent item | azure.scaleset.disk.read.ops Preprocessing
|
| Azure VMSS: Disk write | Bytes written to the disk during the monitoring period. |
Dependent item | azure.scaleset.disk.write Preprocessing
|
| Azure VMSS: Disk IOPS write | Write IOPS from a single disk during the monitoring period. |
Dependent item | azure.scaleset.disk.write.ops Preprocessing
|
| Azure VMSS: Inbound flows | Inbound Flows are the number of current flows in the inbound direction (traffic going into the VMs). |
Dependent item | azure.scaleset.flows.inbound Preprocessing
|
| Azure VMSS: Outbound flows | Outbound Flows are the number of current flows in the outbound direction (traffic going out of the VMs). |
Dependent item | azure.scaleset.flows.outbound Preprocessing
|
| Azure VMSS: Network in total | The number of bytes received on all network interfaces by the virtual machine(s) (incoming traffic). |
Dependent item | azure.scaleset.network.in.total Preprocessing
|
| Azure VMSS: Network out total | The number of bytes out on all network interfaces by the virtual machine(s) (outgoing traffic). |
Dependent item | azure.scaleset.network.out.total Preprocessing
|
| Azure VMSS: Inbound flow maximum creation rate | The maximum creation rate of inbound flows (traffic going into the VM). |
Dependent item | azure.scaleset.flows.inbound.max Preprocessing
|
| Azure VMSS: Outbound flow maximum creation rate | The maximum creation rate of outbound flows (traffic going out of the VM). |
Dependent item | azure.scaleset.flows.outbound.max Preprocessing
|
| Azure VMSS: OS disk read rate | Bytes/sec read from a single disk during the monitoring period - for an OS disk. |
Dependent item | azure.scaleset.os.disk.read.bps Preprocessing
|
| Azure VMSS: OS disk write rate | Bytes/sec written to a single disk during the monitoring period - for an OS disk. |
Dependent item | azure.scaleset.os.disk.write.bps Preprocessing
|
| Azure VMSS: OS disk IOPS read | Read IOPS from a single disk during the monitoring period - for an OS disk. |
Dependent item | azure.scaleset.os.disk.read.ops Preprocessing
|
| Azure VMSS: OS disk IOPS write | Write IOPS from a single disk during the monitoring period - for an OS disk. |
Dependent item | azure.scaleset.os.disk.write.ops Preprocessing
|
| Azure VMSS: OS disk queue depth | OS Disk queue depth (or queue length). |
Dependent item | azure.scaleset.os.disk.queue.depth Preprocessing
|
| Azure VMSS: OS disk bandwidth consumed | Percentage of operating system disk bandwidth consumed per minute. |
Dependent item | azure.scaleset.os.disk.bandwidth.consumed Preprocessing
|
| Azure VMSS: OS disk IOPS consumed | Percentage of operating system disk I/Os consumed per minute. |
Dependent item | azure.scaleset.os.disk.iops.consumed Preprocessing
|
| Azure VMSS: OS disk target bandwidth | Baseline byte-per-second throughput the OS Disk can achieve without bursting. |
Dependent item | azure.scaleset.os.disk.bandwidth.target Preprocessing
|
| Azure VMSS: OS disk target IOPS | Baseline IOPS the OS disk can achieve without bursting. |
Dependent item | azure.scaleset.os.disk.iops.target Preprocessing
|
| Azure VMSS: OS disk max burst bandwidth | Maximum byte-per-second throughput the OS Disk can achieve with bursting. |
Dependent item | azure.scaleset.os.disk.bandwidth.max Preprocessing
|
| Azure VMSS: OS disk max burst IOPS | Maximum IOPS the OS Disk can achieve with bursting. |
Dependent item | azure.scaleset.os.disk.iops.max Preprocessing
|
| Azure VMSS: OS disk used burst BPS credits | Percentage of OS Disk burst bandwidth credits used so far. |
Dependent item | azure.scaleset.os.disk.bandwidth.burst.used Preprocessing
|
| Azure VMSS: OS disk used burst IO credits | Percentage of OS Disk burst I/O credits used so far. |
Dependent item | azure.scaleset.os.disk.iops.burst.used Preprocessing
|
| Azure VMSS: Premium data disk cache read hit in % | Percentage of premium data disk cache read hit. |
Dependent item | azure.scaleset.premium.data.disk.cache.read.hit Preprocessing
|
| Azure VMSS: Premium data disk cache read miss in % | Percentage of premium data disk cache read miss. |
Dependent item | azure.scaleset.premium.data.disk.cache.read.miss Preprocessing
|
| Azure VMSS: Premium OS disk cache read hit in % | Percentage of premium OS disk cache read hit. |
Dependent item | azure.scaleset.premium.os.disk.cache.read.hit Preprocessing
|
| Azure VMSS: Premium OS disk cache read miss in % | Percentage of premium OS disk cache read miss. |
Dependent item | azure.scaleset.premium.os.disk.cache.read.miss Preprocessing
|
| Azure VMSS: VM cached bandwidth consumed | Percentage of cached disk bandwidth consumed by the VM. |
Dependent item | azure.scaleset.vm.cached.bandwidth.consumed Preprocessing
|
| Azure VMSS: VM cached IOPS consumed | Percentage of cached disk IOPS consumed by the VM. |
Dependent item | azure.scaleset.vm.cached.iops.consumed Preprocessing
|
| Azure VMSS: VM uncached bandwidth consumed | Percentage of uncached disk bandwidth consumed by the VM. |
Dependent item | azure.scaleset.vm.uncached.bandwidth.consumed Preprocessing
|
| Azure VMSS: VM uncached IOPS consumed | Percentage of uncached disk IOPS consumed by the VM. |
Dependent item | azure.scaleset.vm.uncached.iops.consumed Preprocessing
|
| Azure VMSS: VM availability metric | Measure of availability of the virtual machines over time. |
Dependent item | azure.scaleset.availability Preprocessing
|
Triggers
| Name | Description | Expression | Severity | Dependencies and additional info |
|---|---|---|---|---|
| Azure VMSS: There are errors in requests to API | Zabbix has received errors in response to API requests. |
length(last(/Azure VM Scale Set by HTTP/azure.scaleset.data.errors))>0 |
Average | |
| Azure VMSS: Virtual machine scale set is unavailable | The resource state is unavailable. |
last(/Azure VM Scale Set by HTTP/azure.scaleset.availability.state)=2 |
High | |
| Azure VMSS: Virtual machine scale set is degraded | The resource is in a degraded state. |
last(/Azure VM Scale Set by HTTP/azure.scaleset.availability.state)=1 |
Average | |
| Azure VMSS: Virtual machine scale set is in unknown state | The resource state is unknown. |
last(/Azure VM Scale Set by HTTP/azure.scaleset.availability.state)=3 |
Warning | |
| Azure VMSS: High amount of VMs in the scale set | High amount of VMs in the scale set. |
min(/Azure VM Scale Set by HTTP/azure.scaleset.vm.count,5m)>{$AZURE.SCALESET.VM.COUNT.CRIT} |
High | |
| Azure VMSS: High CPU utilization | The CPU utilization is too high. The system might be slow to respond. |
min(/Azure VM Scale Set by HTTP/azure.scaleset.cpu.utilization,5m)>{$AZURE.SCALESET.CPU.UTIL.CRIT} |
High |
Vendor and Community integrations are created by third parties and are not verified by Zabbix. Zabbix is not responsible for their functionality or quality.
Community repositories
1 Independent projects on GitHubSupports reading diagnostic data for virtual machines on Azure. Some king of integration between Azure API and Zabbix for monitoring