Source: https://git.zabbix.com/projects/ZBX/repos/zabbix/browse/templates/cloud/azure_http?at=release/7.0
Azure by HTTP
Overview
- This template is designed to monitor Microsoft Azure by HTTP.
- It works without any external scripts and uses the script item.
- Currently, the template supports the discovery of virtual machines (VMs), VM scale sets, Cosmos DB for MongoDB, storage accounts, Microsoft SQL, MySQL, and PostgreSQL servers.
Included Monitoring Templates
- Azure Virtual Machine by HTTP
- Azure VM Scale Set by HTTP
- Azure MySQL Flexible Server by HTTP
- Azure MySQL Single Server by HTTP
- Azure PostgreSQL Flexible Server by HTTP
- Azure PostgreSQL Single Server by HTTP
- Azure Microsoft SQL Serverless Database by HTTP
- Azure Microsoft SQL Database by HTTP
- Azure Cost Management by HTTP
Requirements
Zabbix version: 7.0 and higher.
Tested versions
This template has been tested on:
- Microsoft Azure
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}
, and{$AZURE.SUBSCRIPTION.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.VM.NAME.MATCHES} | This macro is used in virtual machines discovery rule. |
.* |
{$AZURE.VM.NAME.NOT.MATCHES} | This macro is used in virtual machines discovery rule. |
CHANGE_IF_NEEDED |
{$AZURE.VM.LOCATION.MATCHES} | This macro is used in virtual machines discovery rule. |
.* |
{$AZURE.VM.LOCATION.NOT.MATCHES} | This macro is used in virtual machines discovery rule. |
CHANGE_IF_NEEDED |
{$AZURE.SCALESET.NAME.MATCHES} | This macro is used in virtual machine scale sets discovery rule. |
.* |
{$AZURE.SCALESET.NAME.NOT.MATCHES} | This macro is used in virtual machine scale sets discovery rule. |
CHANGE_IF_NEEDED |
{$AZURE.SCALESET.LOCATION.MATCHES} | This macro is used in virtual machine scale sets discovery rule. |
.* |
{$AZURE.SCALESET.LOCATION.NOT.MATCHES} | This macro is used in virtual machine scale sets discovery rule. |
CHANGE_IF_NEEDED |
{$AZURE.STORAGE.ACC.NAME.MATCHES} | This macro is used in storage accounts discovery rule. |
.* |
{$AZURE.STORAGE.ACC.NAME.NOT.MATCHES} | This macro is used in storage accounts discovery rule. |
CHANGE_IF_NEEDED |
{$AZURE.STORAGE.ACC.LOCATION.MATCHES} | This macro is used in storage accounts discovery rule. |
.* |
{$AZURE.STORAGE.ACC.LOCATION.NOT.MATCHES} | This macro is used in storage accounts discovery rule. |
CHANGE_IF_NEEDED |
{$AZURE.STORAGE.ACC.AVAILABILITY} | The warning threshold of the storage account availability. |
70 |
{$AZURE.STORAGE.ACC.BLOB.AVAILABILITY} | The warning threshold of the storage account blob services availability. |
70 |
{$AZURE.STORAGE.ACC.TABLE.AVAILABILITY} | The warning threshold of the storage account table services availability. |
70 |
{$AZURE.RESOURCE.GROUP.MATCHES} | This macro is used in discovery rules. |
.* |
{$AZURE.RESOURCE.GROUP.NOT.MATCHES} | This macro is used in discovery rules. |
CHANGE_IF_NEEDED |
{$AZURE.MYSQL.DB.NAME.MATCHES} | This macro is used in MySQL servers discovery rule. |
.* |
{$AZURE.MYSQL.DB.NAME.NOT.MATCHES} | This macro is used in MySQL servers discovery rule. |
CHANGE_IF_NEEDED |
{$AZURE.MYSQL.DB.LOCATION.MATCHES} | This macro is used in MySQL servers discovery rule. |
.* |
{$AZURE.MYSQL.DB.LOCATION.NOT.MATCHES} | This macro is used in MySQL servers discovery rule. |
CHANGE_IF_NEEDED |
{$AZURE.PGSQL.DB.NAME.MATCHES} | This macro is used in PostgreSQL servers discovery rule. |
.* |
{$AZURE.PGSQL.DB.NAME.NOT.MATCHES} | This macro is used in PostgreSQL servers discovery rule. |
CHANGE_IF_NEEDED |
{$AZURE.PGSQL.DB.LOCATION.MATCHES} | This macro is used in PostgreSQL servers discovery rule. |
.* |
{$AZURE.PGSQL.DB.LOCATION.NOT.MATCHES} | This macro is used in PostgreSQL servers discovery rule. |
CHANGE_IF_NEEDED |
{$AZURE.MSSQL.DB.NAME.MATCHES} | This macro is used in Microsoft SQL databases discovery rule. |
.* |
{$AZURE.MSSQL.DB.NAME.NOT.MATCHES} | This macro is used in Microsoft SQL databases discovery rule. |
CHANGE_IF_NEEDED |
{$AZURE.MSSQL.DB.LOCATION.MATCHES} | This macro is used in Microsoft SQL databases discovery rule. |
.* |
{$AZURE.MSSQL.DB.LOCATION.NOT.MATCHES} | This macro is used in Microsoft SQL databases discovery rule. |
CHANGE_IF_NEEDED |
{$AZURE.MSSQL.DB.SIZE.NOT.MATCHES} | This macro is used in Microsoft SQL databases discovery rule. |
^System$ |
{$AZURE.COSMOS.MONGO.DB.NAME.MATCHES} | This macro is used in Microsoft Cosmos DB account discovery rule. |
.* |
{$AZURE.COSMOS.MONGO.DB.NAME.NOT.MATCHES} | This macro is used in Microsoft Cosmos DB account discovery rule. |
CHANGE_IF_NEEDED |
{$AZURE.COSMOS.MONGO.DB.LOCATION.MATCHES} | This macro is used in Microsoft Cosmos DB account discovery rule. |
.* |
{$AZURE.COSMOS.MONGO.DB.LOCATION.NOT.MATCHES} | This macro is used in Microsoft Cosmos DB account discovery rule. |
CHANGE_IF_NEEDED |
Items
Name | Description | Type | Key and additional info |
---|---|---|---|
Get resources | The result of API requests is expressed in the JSON. |
Script | azure.get.resources |
Get errors | A list of errors from API requests. |
Dependent item | azure.get.errors Preprocessing
|
Get storage accounts | The result of API requests is expressed in the JSON. |
Script | azure.get.storage.acc |
Get storage accounts errors | The errors from API requests. |
Dependent item | azure.get.storage.acc.errors Preprocessing
|
Triggers
Name | Description | Expression | Severity | Dependencies and additional info |
---|---|---|---|---|
There are errors in requests to API | Zabbix has received errors in response to API requests. |
length(last(/Azure by HTTP/azure.get.errors))>0 |
Average | |
There are errors in storages requests to API | Zabbix has received errors in response to API requests. |
length(last(/Azure by HTTP/azure.get.storage.acc.errors))>0 |
Average | Depends on:
|
LLD rule Storage accounts discovery
Name | Description | Type | Key and additional info |
---|---|---|---|
Storage accounts discovery | The list of all storage accounts available under the subscription. |
Dependent item | azure.storage.acc.discovery Preprocessing
|
Item prototypes for Storage accounts discovery
Name | Description | Type | Key and additional info |
---|---|---|---|
Storage account [{#NAME}]: Get data | The HTTP API endpoint that returns storage metrics with the name |
Script | azure.get.storage.acc[{#NAME}] |
Storage account [{#NAME}]: Used Capacity | The amount of storage used by the storage account with the name For standard storage accounts, it's the sum of capacity used by blob, table, file, and queue. For premium storage accounts and blob storage accounts, it is the same as BlobCapacity or FileCapacity. |
Dependent item | azure.storage.used.capacity[{#NAME}] Preprocessing
|
Storage account [{#NAME}]: Transactions | The number of requests made to the storage service or a specified API operation. This number includes successful and failed requests and also requests that produced errors. Use |
Dependent item | azure.storage.transactions[{#NAME}] Preprocessing
|
Storage account [{#NAME}]: Ingress | The amount of ingress data, expressed in bytes. This number includes ingress from an external client into Azure Storage and also ingress within Azure. |
Dependent item | azure.storage.ingress[{#NAME}] Preprocessing
|
Storage account [{#NAME}]: Egress | The amount of egress data. This number includes egress to external client from Azure Storage and also egress within Azure. As a result, this number does not reflect billable egress. |
Dependent item | azure.storage.engress[{#NAME}] Preprocessing
|
Storage account [{#NAME}]: Success Server Latency | The average time used to process a successful request by Azure Storage. This value does not include the network latency specified in |
Dependent item | azure.storage.success.server.latency[{#NAME}] Preprocessing
|
Storage account [{#NAME}]: Success E2E Latency | The average end-to-end latency of successful requests made to a storage service or the specified API operation, expressed in milliseconds. This value includes the required processing time within Azure Storage to read the request, send the response, and receive acknowledgment of the response. |
Dependent item | azure.storage.success.e2e.latency[{#NAME}] Preprocessing
|
Storage account [{#NAME}]: Availability | The percentage of availability for the storage service or a specified API operation. Availability is calculated by taking the All unexpected errors result in reduced availability for the storage service or the specified API operation. |
Dependent item | azure.storage.availability[{#NAME}] Preprocessing
|
Storage account [{#NAME}]: Blob Capacity | The amount of storage used by the blob service of the storage account with the name |
Dependent item | azure.storage.blob.capacity[{#NAME}] Preprocessing
|
Storage account [{#NAME}]: Blob Count | The number of blob objects stored in the storage account with the name |
Dependent item | azure.storage.blob.count[{#NAME}] Preprocessing
|
Storage account [{#NAME}]: Blob Container Count | The number of containers in the storage account with the name |
Dependent item | azure.storage.blob.container.count[{#NAME}] Preprocessing
|
Storage account [{#NAME}]: Blob Index Capacity | The amount of storage with the name |
Dependent item | azure.storage.blob.index.capacity[{#NAME}] Preprocessing
|
Storage account [{#NAME}]: Blob Transactions | The number of requests made to the storage service or a specified API operation. This number includes successful and failed requests and also requests that produced errors. Use |
Dependent item | azure.storage.blob.transactions[{#NAME}] Preprocessing
|
Storage account [{#NAME}]: Blob Ingress | The amount of ingress data, expressed in bytes. This number includes ingress from an external client into Azure Storage and also ingress within Azure. |
Dependent item | azure.storage.blob.ingress[{#NAME}] Preprocessing
|
Storage account [{#NAME}]: Blob Egress | The amount of egress data. This number includes egress to external client from Azure Storage and also egress within Azure. As a result, this number does not reflect billable egress. |
Dependent item | azure.storage.blob.engress[{#NAME}] Preprocessing
|
Storage account [{#NAME}]: Blob Success Server Latency | The average time used to process a successful request by Azure Storage. This value does not include the network latency specified in |
Dependent item | azure.storage.blob.success.server.latency[{#NAME}] Preprocessing
|
Storage account [{#NAME}]: Blob Success E2E Latency | The average end-to-end latency of successful requests made to a storage service or the specified API operation, expressed in milliseconds. This value includes the required processing time within Azure Storage to read the request, send the response, and receive acknowledgment of the response. |
Dependent item | azure.storage.blob.success.e2e.latency[{#NAME}] Preprocessing
|
Storage account [{#NAME}]: Blob Availability | The percentage of availability for the storage service or a specified API operation. Availability is calculated by taking the All unexpected errors result in reduced availability for the storage service or the specified API operation. |
Dependent item | azure.storage.blob.availability[{#NAME}] Preprocessing
|
Storage account [{#NAME}]: Table Capacity | The amount of storage used by the table service of the storage account with the name |
Dependent item | azure.storage.table.capacity[{#NAME}] Preprocessing
|
Storage account [{#NAME}]: Table Count | The number of tables in the storage account with the name |
Dependent item | azure.storage.table.count[{#NAME}] Preprocessing
|
Storage account [{#NAME}]: Table Entity Count | The number of table entities in the storage account with the name |
Dependent item | azure.storage.table.entity.count[{#NAME}] Preprocessing
|
Storage account [{#NAME}]: Table Transactions | The number of requests made to the storage service or a specified API operation. This number includes successful and failed requests and also requests that produced errors. Use |
Dependent item | azure.storage.table.transactions[{#NAME}] Preprocessing
|
Storage account [{#NAME}]: Table Ingress | The amount of ingress data, expressed in bytes. This number includes ingress from an external client into Azure Storage and also ingress within Azure. |
Dependent item | azure.storage.table.ingress[{#NAME}] Preprocessing
|
Storage account [{#NAME}]: Table Egress | The amount of egress data. This number includes egress to external client from Azure Storage and also egress within Azure. As a result, this number does not reflect billable egress. |
Dependent item | azure.storage.table.engress[{#NAME}] Preprocessing
|
Storage account [{#NAME}]: Table Success Server Latency | The average time used to process a successful request by Azure Storage. This value does not include the network latency specified in |
Dependent item | azure.storage.table.success.server.latency[{#NAME}] Preprocessing
|
Storage account [{#NAME}]: Table Success E2E Latency | The average end-to-end latency of successful requests made to a storage service or the specified API operation, expressed in milliseconds. This value includes the required processing time within Azure Storage to read the request, send the response, and receive acknowledgment of the response. |
Dependent item | azure.storage.table.success.e2e.latency[{#NAME}] Preprocessing
|
Storage account [{#NAME}]: Table Availability | The percentage of availability for the storage service or a specified API operation. Availability is calculated by taking the All unexpected errors result in reduced availability for the storage service or the specified API operation. |
Dependent item | azure.storage.table.availability[{#NAME}] Preprocessing
|
Storage account [{#NAME}]: File Capacity | The amount of file storage used by the storage account with the name |
Dependent item | azure.storage.file.capacity[{#NAME}] Preprocessing
|
Storage account [{#NAME}]: File Count | The number of files in the storage account with the name |
Dependent item | azure.storage.file.count[{#NAME}] Preprocessing
|
Storage account [{#NAME}]: File Share Count | The number of file shares in the storage account. |
Dependent item | azure.storage.file.share.count[{#NAME}] Preprocessing
|
Storage account [{#NAME}]: File Share Snapshot Count | The number of snapshots present on the share in storage account's Files Service. |
Dependent item | azure.storage.file.shares.snapshot.count[{#NAME}] Preprocessing
|
Storage account [{#NAME}]: File Share Snapshot Size | The amount of storage used by the snapshots in storage account's File service, in bytes. |
Dependent item | azure.storage.file.share.snapshot.size[{#NAME}] Preprocessing
|
Storage account [{#NAME}]: File Share Capacity Quota | The upper limit on the amount of storage that can be used by Azure Files Service, in bytes. |
Dependent item | azure.storage.file.share.capacity.quota[{#NAME}] Preprocessing
|
Storage account [{#NAME}]: File Transactions | The number of requests made to the storage service or a specified API operation. This number includes successful and failed requests and also requests that produced errors. Use |
Dependent item | azure.storage.file.transactions[{#NAME}] Preprocessing
|
Storage account [{#NAME}]: File Ingress | The amount of ingress data, expressed in bytes. This number includes ingress from an external client into Azure Storage and also ingress within Azure. |
Dependent item | azure.storage.file.ingress[{#NAME}] Preprocessing
|
Storage account [{#NAME}]: File Egress | The amount of egress data. This number includes egress to external client from Azure Storage and also egress within Azure. As a result, this number does not reflect billable egress. |
Dependent item | azure.storage.file.engress[{#NAME}] Preprocessing
|
Storage account [{#NAME}]: File Success Server Latency | The average time used to process a successful request by Azure Storage. This value does not include the network latency specified in |
Dependent item | azure.storage.file.success.server.latency[{#NAME}] Preprocessing
|
Storage account [{#NAME}]: File Success E2E Latency | The average end-to-end latency of successful requests made to a storage service or the specified API operation, expressed in milliseconds. This value includes the required processing time within Azure Storage to read the request, send the response, and receive acknowledgment of the response. |
Dependent item | azure.storage.file.success.e2e.latency[{#NAME}] Preprocessing
|
Storage account [{#NAME}]: Queue Capacity | The amount of queue storage used by the storage account with the name |
Dependent item | azure.storage.queue.capacity[{#NAME}] Preprocessing
|
Storage account [{#NAME}]: Queue Count | The number of queues in the storage account with the name |
Dependent item | azure.storage.queue.count[{#NAME}] Preprocessing
|
Storage account [{#NAME}]: Queue Message Count | The number of unexpired queue messages in the storage account with the name |
Dependent item | azure.storage.queue.message.count[{#NAME}] Preprocessing
|
Storage account [{#NAME}]: Queue Transactions | The number of requests made to the storage service or a specified API operation. This number includes successful and failed requests and also requests that produced errors. Use |
Dependent item | azure.storage.queue.transactions[{#NAME}] Preprocessing
|
Storage account [{#NAME}]: Queue Ingress | The amount of ingress data, expressed in bytes. This number includes ingress from an external client into Azure Storage and also ingress within Azure. |
Dependent item | azure.storage.queue.ingress[{#NAME}] Preprocessing
|
Storage account [{#NAME}]: Queue Egress | The amount of egress data. This number includes egress to external client from Azure Storage and also egress within Azure. As a result, this number does not reflect billable egress. |
Dependent item | azure.storage.queue.engress[{#NAME}] Preprocessing
|
Storage account [{#NAME}]: Queue Success Server Latency | The average time used to process a successful request by Azure Storage. This value does not include the network latency specified in |
Dependent item | azure.storage.queue.success.server.latency[{#NAME}] Preprocessing
|
Storage account [{#NAME}]: Queue Success E2E Latency | The average end-to-end latency of successful requests made to a storage service or the specified API operation, expressed in milliseconds. This value includes the required processing time within Azure Storage to read the request, send the response, and receive acknowledgment of the response. |
Dependent item | azure.storage.queue.success.e2e.latency[{#NAME}] Preprocessing
|
Trigger prototypes for Storage accounts discovery
Name | Description | Expression | Severity | Dependencies and additional info |
---|---|---|---|---|
Storage account [{#NAME}]: Availability is low | (min(/Azure by HTTP/azure.storage.availability[{#NAME}],#3))<{$AZURE.STORAGE.ACC.AVAILABILITY:"{#NAME}"} |
Warning | ||
Storage account [{#NAME}]: Blob Availability is low | (min(/Azure by HTTP/azure.storage.blob.availability[{#NAME}],#3))<{$AZURE.STORAGE.ACC.BLOB.AVAILABILITY:"{#NAME}"} |
Warning | ||
Storage account [{#NAME}]: Table Availability is low | (min(/Azure by HTTP/azure.storage.table.availability[{#NAME}],#3))<{$AZURE.STORAGE.ACC.TABLE.AVAILABILITY:"{#NAME}"} |
Warning |
LLD rule Virtual machines discovery
Name | Description | Type | Key and additional info |
---|---|---|---|
Virtual machines discovery | The list of the virtual machines is provided by the subscription. |
Dependent item | azure.vm.discovery Preprocessing
|
LLD rule Virtual machine scale set discovery
Name | Description | Type | Key and additional info |
---|---|---|---|
Virtual machine scale set discovery | The list of the virtual machine scale sets provided by the subscription. |
Dependent item | azure.scaleset.discovery Preprocessing
|
LLD rule MySQL servers discovery
Name | Description | Type | Key and additional info |
---|---|---|---|
MySQL servers discovery | The list of the MySQL servers is provided by the subscription. |
Dependent item | azure.mysql.servers.discovery Preprocessing
|
LLD rule PostgreSQL servers discovery
Name | Description | Type | Key and additional info |
---|---|---|---|
PostgreSQL servers discovery | The list of the PostgreSQL servers is provided by the subscription. |
Dependent item | azure.pgsql.servers.discovery Preprocessing
|
LLD rule Microsoft SQL databases discovery
Name | Description | Type | Key and additional info |
---|---|---|---|
Microsoft SQL databases discovery | The list of the Microsoft SQL databases is provided by the subscription. |
Dependent item | azure.mssql.databases.discovery Preprocessing
|
LLD rule Cosmos DB account discovery
Name | Description | Type | Key and additional info |
---|---|---|---|
Cosmos DB account discovery | The list of the Cosmos databases is provided by the subscription. |
Dependent item | azure.cosmos.mongo.db.discovery Preprocessing
|
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 |
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 |
---|---|---|---|---|
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 | |
Virtual machine scale set is unavailable | The resource state is unavailable. |
last(/Azure VM Scale Set by HTTP/azure.scaleset.availability.state)=2 |
High | |
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 | |
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 | |
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 | |
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 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 |
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 |
---|---|---|---|---|
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 | |
Virtual machine is unavailable | The resource state is unavailable. |
last(/Azure Virtual Machine by HTTP/azure.vm.availability.state)=2 |
High | |
Virtual machine is degraded | The resource is in a degraded state. |
last(/Azure Virtual Machine by HTTP/azure.vm.availability.state)=1 |
Average | |
Virtual machine is in unknown state | The resource state is unknown. |
last(/Azure Virtual Machine by HTTP/azure.vm.availability.state)=3 |
Warning | |
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 MySQL Flexible Server by HTTP
Overview
This template is designed to monitor Microsoft Azure MySQL flexible servers 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 MySQL flexible servers
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 MySQL server ID. |
|
{$AZURE.DB.CPU.UTIL.CRIT} | The critical threshold of CPU utilization, expressed in %. |
90 |
{$AZURE.DB.STORAGE.PUSED.WARN} | The warning threshold of the storage utilization, expressed in %. |
80 |
{$AZURE.DB.STORAGE.PUSED.CRIT} | The critical threshold of the storage utilization, expressed in %. |
90 |
{$AZURE.DB.ABORTED.CONN.MAX.WARN} | The number of failed attempts to connect to the MySQL server for a trigger expression. |
25 |
Items
Name | Description | Type | Key and additional info |
---|---|---|---|
Get data | The result of API requests is expressed in the JSON. |
Script | azure.db.mysql.data.get |
Get errors | A list of errors from API requests. |
Dependent item | azure.db.mysql.data.errors Preprocessing
|
Availability state | The availability status of the resource. |
Dependent item | azure.db.mysql.availability.state Preprocessing
|
Availability status detailed | The summary description of the availability status. |
Dependent item | azure.db.mysql.availability.details Preprocessing
|
Percentage CPU | The CPU percent of a host. |
Dependent item | azure.db.mysql.cpu.percentage Preprocessing
|
Memory utilization | The memory percent of a host. |
Dependent item | azure.db.mysql.memory.percentage Preprocessing
|
Network out | Network egress of a host, expressed in bytes. |
Dependent item | azure.db.mysql.network.egress Preprocessing
|
Network in | Network ingress of a host, expressed in bytes. |
Dependent item | azure.db.mysql.network.ingress Preprocessing
|
Connections active | The count of active connections. |
Dependent item | azure.db.mysql.connections.active Preprocessing
|
Connections total | The count of total connections. |
Dependent item | azure.db.mysql.connections.total Preprocessing
|
Connections aborted | The count of aborted connections. |
Dependent item | azure.db.mysql.connections.aborted Preprocessing
|
Queries | The count of queries. |
Dependent item | azure.db.mysql.queries Preprocessing
|
IO consumption percent | The consumption percent of I/O. |
Dependent item | azure.db.mysql.io.consumption.percent Preprocessing
|
Storage percent | The storage utilization, expressed in %. |
Dependent item | azure.db.mysql.storage.percent Preprocessing
|
Storage used | Used storage space, expressed in bytes. |
Dependent item | azure.db.mysql.storage.used Preprocessing
|
Storage limit | The storage limit, expressed in bytes. |
Dependent item | azure.db.mysql.storage.limit Preprocessing
|
Backup storage used | Used backup storage, expressed in bytes. |
Dependent item | azure.db.mysql.storage.backup.used Preprocessing
|
Replication lag | The replication lag, expressed in seconds. |
Dependent item | azure.db.mysql.replication.lag Preprocessing
|
CPU credits remaining | The remaining CPU credits. |
Dependent item | azure.db.mysql.cpu.credits.remaining Preprocessing
|
CPU credits consumed | The consumed CPU credits. |
Dependent item | azure.db.mysql.cpu.credits.consumed Preprocessing
|
Triggers
Name | Description | Expression | Severity | Dependencies and additional info |
---|---|---|---|---|
There are errors in requests to API | Zabbix has received errors in response to API requests. |
length(last(/Azure MySQL Flexible Server by HTTP/azure.db.mysql.data.errors))>0 |
Average | |
MySQL server is unavailable | The resource state is unavailable. |
last(/Azure MySQL Flexible Server by HTTP/azure.db.mysql.availability.state)=2 |
High | |
MySQL server is degraded | The resource is in a degraded state. |
last(/Azure MySQL Flexible Server by HTTP/azure.db.mysql.availability.state)=1 |
Average | |
MySQL server is in unknown state | The resource state is unknown. |
last(/Azure MySQL Flexible Server by HTTP/azure.db.mysql.availability.state)=3 |
Warning | |
High CPU utilization | The CPU utilization is too high. The system might be slow to respond. |
min(/Azure MySQL Flexible Server by HTTP/azure.db.mysql.cpu.percentage,5m)>{$AZURE.DB.CPU.UTIL.CRIT} |
High | |
Server has aborted connections | The number of failed attempts to connect to the MySQL server is more than |
min(/Azure MySQL Flexible Server by HTTP/azure.db.mysql.connections.aborted,5m)>{$AZURE.DB.ABORTED.CONN.MAX.WARN} |
Average | |
Storage space is critically low | Critical utilization of the storage space. |
last(/Azure MySQL Flexible Server by HTTP/azure.db.mysql.storage.percent)>{$AZURE.DB.STORAGE.PUSED.CRIT} |
Average | |
Storage space is low | High utilization of the storage space. |
last(/Azure MySQL Flexible Server by HTTP/azure.db.mysql.storage.percent)>{$AZURE.DB.STORAGE.PUSED.WARN} |
Warning |
Azure MySQL Single Server by HTTP
Overview
This template is designed to monitor Microsoft Azure MySQL single servers 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 MySQL single servers
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 MySQL server ID. |
|
{$AZURE.DB.CPU.UTIL.CRIT} | The critical threshold of CPU utilization, expressed in %. |
90 |
{$AZURE.DB.MEMORY.UTIL.CRIT} | The critical threshold of memory utilization, expressed in %. |
90 |
{$AZURE.DB.STORAGE.PUSED.WARN} | The warning threshold of storage utilization, expressed in %. |
80 |
{$AZURE.DB.STORAGE.PUSED.CRIT} | The critical threshold of storage utilization, expressed in %. |
90 |
{$AZURE.DB.FAILED.CONN.MAX.WARN} | The number of failed attempts to connect to the MySQL server for trigger expression. |
25 |
Items
Name | Description | Type | Key and additional info |
---|---|---|---|
Get data | The result of API requests is expressed in the JSON. |
Script | azure.db.mysql.data.get |
Get errors | A list of errors from API requests. |
Dependent item | azure.db.mysql.data.errors Preprocessing
|
Availability state | The availability status of the resource. |
Dependent item | azure.db.mysql.availability.state Preprocessing
|
Availability status detailed | The summary description of the availability status. |
Dependent item | azure.db.mysql.availability.details Preprocessing
|
Percentage CPU | The CPU percent of a host. |
Dependent item | azure.db.mysql.cpu.percentage Preprocessing
|
Memory utilization | The memory percent of a host. |
Dependent item | azure.db.mysql.memory.percentage Preprocessing
|
Network out | The network outbound traffic across the active connections. |
Dependent item | azure.db.mysql.network.egress Preprocessing
|
Network in | The network inbound traffic across the active connections. |
Dependent item | azure.db.mysql.network.ingress Preprocessing
|
Connections active | The count of active connections. |
Dependent item | azure.db.mysql.connections.active Preprocessing
|
Connections failed | The count of failed connections. |
Dependent item | azure.db.mysql.connections.failed Preprocessing
|
IO consumption percent | The consumption percent of I/O. |
Dependent item | azure.db.mysql.io.consumption.percent Preprocessing
|
Storage percent | The storage utilization, expressed in %. |
Dependent item | azure.db.mysql.storage.percent Preprocessing
|
Storage used | Used storage space, expressed in bytes. |
Dependent item | azure.db.mysql.storage.used Preprocessing
|
Storage limit | The storage limit, expressed in bytes. |
Dependent item | azure.db.mysql.storage.limit Preprocessing
|
Backup storage used | Used backup storage, expressed in bytes. |
Dependent item | azure.db.mysql.storage.backup.used Preprocessing
|
Replication lag | The replication lag, expressed in seconds. |
Dependent item | azure.db.mysql.replication.lag Preprocessing
|
Server log storage percent | The storage utilization by server log, expressed in %. |
Dependent item | azure.db.mysql.storage.server.log.percent Preprocessing
|
Server log storage used | The storage space used by server log, expressed in bytes. |
Dependent item | azure.db.mysql.storage.server.log.used Preprocessing
|
Server log storage limit | The storage limit of server log, expressed in bytes. |
Dependent item | azure.db.mysql.storage.server.log.limit Preprocessing
|
Triggers
Name | Description | Expression | Severity | Dependencies and additional info |
---|---|---|---|---|
There are errors in requests to API | Zabbix has received errors in response to API requests. |
length(last(/Azure MySQL Single Server by HTTP/azure.db.mysql.data.errors))>0 |
Average | |
MySQL server is unavailable | The resource state is unavailable. |
last(/Azure MySQL Single Server by HTTP/azure.db.mysql.availability.state)=2 |
High | |
MySQL server is degraded | The resource is in a degraded state. |
last(/Azure MySQL Single Server by HTTP/azure.db.mysql.availability.state)=1 |
Average | |
MySQL server is in unknown state | The resource state is unknown. |
last(/Azure MySQL Single Server by HTTP/azure.db.mysql.availability.state)=3 |
Warning | |
High CPU utilization | The CPU utilization is too high. The system might be slow to respond. |
min(/Azure MySQL Single Server by HTTP/azure.db.mysql.cpu.percentage,5m)>{$AZURE.DB.CPU.UTIL.CRIT} |
High | |
High memory utilization | The system is running out of free memory. |
min(/Azure MySQL Single Server by HTTP/azure.db.mysql.memory.percentage,5m)>{$AZURE.DB.MEMORY.UTIL.CRIT} |
Average | |
Server has failed connections | The number of failed attempts to connect to the MySQL server is more than |
min(/Azure MySQL Single Server by HTTP/azure.db.mysql.connections.failed,5m)>{$AZURE.DB.FAILED.CONN.MAX.WARN} |
Average | |
Storage space is critically low | Critical utilization of the storage space. |
last(/Azure MySQL Single Server by HTTP/azure.db.mysql.storage.percent)>{$AZURE.DB.STORAGE.PUSED.CRIT} |
Average | |
Storage space is low | High utilization of the storage space. |
last(/Azure MySQL Single Server by HTTP/azure.db.mysql.storage.percent)>{$AZURE.DB.STORAGE.PUSED.WARN} |
Warning |
Azure PostgreSQL Flexible Server by HTTP
Overview
This template is designed to monitor Microsoft Azure PostgreSQL flexible servers 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 PostgreSQL flexible servers
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 PostgreSQL server ID. |
|
{$AZURE.DB.CPU.UTIL.CRIT} | The critical threshold of CPU utilization, expressed in %. |
90 |
{$AZURE.DB.MEMORY.UTIL.CRIT} | The critical threshold of memory utilization, expressed in %. |
90 |
{$AZURE.DB.STORAGE.PUSED.WARN} | The warning threshold of storage utilization, expressed in %. |
80 |
{$AZURE.DB.STORAGE.PUSED.CRIT} | The critical threshold of storage 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.db.pgsql.data.get |
Get errors | A list of errors from API requests. |
Dependent item | azure.db.pgsql.data.errors Preprocessing
|
Availability state | The availability status of the resource. |
Dependent item | azure.db.pgsql.availability.state Preprocessing
|
Availability status detailed | The summary description of the availability status. |
Dependent item | azure.db.pgsql.availability.details Preprocessing
|
Percentage CPU | The CPU percent of a host. |
Dependent item | azure.db.pgsql.cpu.percentage Preprocessing
|
Memory utilization | The memory percent of a host. |
Dependent item | azure.db.pgsql.memory.percentage Preprocessing
|
Network out | The network outbound traffic across the active connections. |
Dependent item | azure.db.pgsql.network.egress Preprocessing
|
Network in | The network inbound traffic across the active connections. |
Dependent item | azure.db.pgsql.network.ingress Preprocessing
|
Connections active | The count of active connections. |
Dependent item | azure.db.pgsql.connections.active Preprocessing
|
Connections succeeded | The count of succeeded connections. |
Dependent item | azure.db.pgsql.connections.succeeded Preprocessing
|
Connections failed | The count of failed connections. |
Dependent item | azure.db.pgsql.connections.failed Preprocessing
|
Storage percent | The storage utilization, expressed in %. |
Dependent item | azure.db.pgsql.storage.percent Preprocessing
|
Storage used | Used storage space, expressed in bytes. |
Dependent item | azure.db.pgsql.storage.used Preprocessing
|
Storage free | Free storage space, expressed in bytes. |
Dependent item | azure.db.pgsql.storage.free Preprocessing
|
Backup storage used | Used backup storage, expressed in bytes. |
Dependent item | azure.db.pgsql.storage.backup.used Preprocessing
|
CPU credits remaining | The total number of credits available to burst. |
Dependent item | azure.db.pgsql.cpu.credits.remaining Preprocessing
|
CPU credits consumed | The total number of credits consumed by the database server. |
Dependent item | azure.db.pgsql.cpu.credits.consumed Preprocessing
|
Data disk queue depth | The number of outstanding I/O operations to the data disk. |
Dependent item | azure.db.pgsql.disk.queue.depth Preprocessing
|
Data disk IOPS | I/O operations per second. |
Dependent item | azure.db.pgsql.iops Preprocessing
|
Data disk read IOPS | The number of the data disk I/O read operations per second. |
Dependent item | azure.db.pgsql.iops.read Preprocessing
|
Data disk write IOPS | The number of the data disk I/O write operations per second. |
Dependent item | azure.db.pgsql.iops.write Preprocessing
|
Data disk read Bps | Bytes read per second from the data disk during the monitoring period. |
Dependent item | azure.db.pgsql.disk.bps.read Preprocessing
|
Data disk write Bps | Bytes written per second to the data disk during the monitoring period. |
Dependent item | azure.db.pgsql.disk.bps.write Preprocessing
|
Transaction log storage used | The storage space used by transaction log, expressed in bytes. |
Dependent item | azure.db.pgsql.storage.txlogs.used Preprocessing
|
Maximum used transaction IDs | The maximum number of used transaction IDs. |
Dependent item | azure.db.pgsql.txid.used.max Preprocessing
|
Triggers
Name | Description | Expression | Severity | Dependencies and additional info |
---|---|---|---|---|
There are errors in requests to API | Zabbix has received errors in response to API requests. |
length(last(/Azure PostgreSQL Flexible Server by HTTP/azure.db.pgsql.data.errors))>0 |
Average | |
PostgreSQL server is unavailable | The resource state is unavailable. |
last(/Azure PostgreSQL Flexible Server by HTTP/azure.db.pgsql.availability.state)=2 |
High | |
PostgreSQL server is degraded | The resource is in a degraded state. |
last(/Azure PostgreSQL Flexible Server by HTTP/azure.db.pgsql.availability.state)=1 |
Average | |
PostgreSQL server is in unknown state | The resource state is unknown. |
last(/Azure PostgreSQL Flexible Server by HTTP/azure.db.pgsql.availability.state)=3 |
Warning | |
High CPU utilization | The CPU utilization is too high. The system might be slow to respond. |
min(/Azure PostgreSQL Flexible Server by HTTP/azure.db.pgsql.cpu.percentage,5m)>{$AZURE.DB.CPU.UTIL.CRIT} |
High | |
High memory utilization | The system is running out of free memory. |
min(/Azure PostgreSQL Flexible Server by HTTP/azure.db.pgsql.memory.percentage,5m)>{$AZURE.DB.MEMORY.UTIL.CRIT} |
Average | |
Storage space is critically low | Critical utilization of the storage space. |
last(/Azure PostgreSQL Flexible Server by HTTP/azure.db.pgsql.storage.percent)>{$AZURE.DB.STORAGE.PUSED.CRIT} |
Average | |
Storage space is low | High utilization of the storage space. |
last(/Azure PostgreSQL Flexible Server by HTTP/azure.db.pgsql.storage.percent)>{$AZURE.DB.STORAGE.PUSED.WARN} |
Warning |
Azure PostgreSQL Single Server by HTTP
Overview
This template is designed to monitor Microsoft Azure PostgreSQL servers 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 PostgreSQL servers
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 PostgreSQL server ID. |
|
{$AZURE.DB.CPU.UTIL.CRIT} | The critical threshold of CPU utilization, expressed in %. |
90 |
{$AZURE.DB.MEMORY.UTIL.CRIT} | The critical threshold of memory utilization, expressed in %. |
90 |
{$AZURE.DB.STORAGE.PUSED.WARN} | The warning threshold of storage utilization, expressed in %. |
80 |
{$AZURE.DB.STORAGE.PUSED.CRIT} | The critical threshold of storage 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.db.pgsql.data.get |
Get errors | A list of errors from API requests. |
Dependent item | azure.db.pgsql.data.errors Preprocessing
|
Availability state | The availability status of the resource. |
Dependent item | azure.db.pgsql.availability.state Preprocessing
|
Availability status detailed | The summary description of the availability status. |
Dependent item | azure.db.pgsql.availability.details Preprocessing
|
Percentage CPU | The CPU percent of a host. |
Dependent item | azure.db.pgsql.cpu.percentage Preprocessing
|
Memory utilization | The memory percent of a host. |
Dependent item | azure.db.pgsql.memory.percentage Preprocessing
|
Network out | The network outbound traffic across the active connections. |
Dependent item | azure.db.pgsql.network.egress Preprocessing
|
Network in | The network inbound traffic across the active connections. |
Dependent item | azure.db.pgsql.network.ingress Preprocessing
|
Connections active | The count of active connections. |
Dependent item | azure.db.pgsql.connections.active Preprocessing
|
Connections failed | The count of failed connections. |
Dependent item | azure.db.pgsql.connections.failed Preprocessing
|
IO consumption percent | The consumption percent of I/O. |
Dependent item | azure.db.pgsql.io.consumption.percent Preprocessing
|
Storage percent | The storage utilization, expressed in %. |
Dependent item | azure.db.pgsql.storage.percent Preprocessing
|
Storage used | Used storage space, expressed in bytes. |
Dependent item | azure.db.pgsql.storage.used Preprocessing
|
Storage limit | The storage limit, expressed in bytes. |
Dependent item | azure.db.pgsql.storage.limit Preprocessing
|
Backup storage used | Used backup storage, expressed in bytes. |
Dependent item | azure.db.pgsql.storage.backup.used Preprocessing
|
Replication lag | The replication lag, expressed in seconds. |
Dependent item | azure.db.pgsql.replica.log.delay Preprocessing
|
Max lag across replicas in bytes | Lag for the most lagging replica, expressed in bytes. |
Dependent item | azure.db.pgsql.replica.log.delay.bytes Preprocessing
|
Server log storage percent | The storage utilization by server log, expressed in %. |
Dependent item | azure.db.pgsql.storage.server.log.percent Preprocessing
|
Server log storage used | The storage space used by server log, expressed in bytes. |
Dependent item | azure.db.pgsql.storage.server.log.used Preprocessing
|
Server log storage limit | The storage limit of server log, expressed in bytes. |
Dependent item | azure.db.pgsql.storage.server.log.limit Preprocessing
|
Triggers
Name | Description | Expression | Severity | Dependencies and additional info |
---|---|---|---|---|
There are errors in requests to API | Zabbix has received errors in response to API requests. |
length(last(/Azure PostgreSQL Single Server by HTTP/azure.db.pgsql.data.errors))>0 |
Average | |
PostgreSQL server is unavailable | The resource state is unavailable. |
last(/Azure PostgreSQL Single Server by HTTP/azure.db.pgsql.availability.state)=2 |
High | |
PostgreSQL server is degraded | The resource is in a degraded state. |
last(/Azure PostgreSQL Single Server by HTTP/azure.db.pgsql.availability.state)=1 |
Average | |
PostgreSQL server is in unknown state | The resource state is unknown. |
last(/Azure PostgreSQL Single Server by HTTP/azure.db.pgsql.availability.state)=3 |
Warning | |
High CPU utilization | The CPU utilization is too high. The system might be slow to respond. |
min(/Azure PostgreSQL Single Server by HTTP/azure.db.pgsql.cpu.percentage,5m)>{$AZURE.DB.CPU.UTIL.CRIT} |
High | |
High memory utilization | The system is running out of free memory. |
min(/Azure PostgreSQL Single Server by HTTP/azure.db.pgsql.memory.percentage,5m)>{$AZURE.DB.MEMORY.UTIL.CRIT} |
Average | |
Storage space is critically low | Critical utilization of the storage space. |
last(/Azure PostgreSQL Single Server by HTTP/azure.db.pgsql.storage.percent)>{$AZURE.DB.STORAGE.PUSED.CRIT} |
Average | |
Storage space is low | High utilization of the storage space. |
last(/Azure PostgreSQL Single Server by HTTP/azure.db.pgsql.storage.percent)>{$AZURE.DB.STORAGE.PUSED.WARN} |
Warning |
Azure Microsoft SQL Serverless Database by HTTP
Overview
This template is designed to monitor Microsoft SQL serverless databases 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 SQL serverless databases
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 Microsoft SQL database ID. |
|
{$AZURE.DB.CPU.UTIL.CRIT} | The critical threshold of CPU utilization, expressed in %. |
90 |
{$AZURE.DB.MEMORY.UTIL.CRIT} | The critical threshold of memory utilization, expressed in %. |
90 |
{$AZURE.DB.STORAGE.PUSED.WARN} | The warning threshold of storage utilization, expressed in %. |
80 |
{$AZURE.DB.STORAGE.PUSED.CRIT} | The critical threshold of storage 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.db.mssql.data.get |
Get errors | A list of errors from API requests. |
Dependent item | azure.db.mssql.data.errors Preprocessing
|
Availability state | The availability status of the resource. |
Dependent item | azure.db.mssql.availability.state Preprocessing
|
Availability status detailed | The summary description of the availability status. |
Dependent item | azure.db.mssql.availability.details Preprocessing
|
Percentage CPU | The CPU percent of a host. |
Dependent item | azure.db.mssql.cpu.percentage Preprocessing
|
Data IO percentage | The physical data read percentage. |
Dependent item | azure.db.mssql.data.read.percentage Preprocessing
|
Log IO percentage | The percentage of I/O log. Not applicable to the data warehouses. |
Dependent item | azure.db.mssql.log.write.percentage Preprocessing
|
Data space used | Data space used. Not applicable to the data warehouses. |
Dependent item | azure.db.mssql.storage.used Preprocessing
|
Connections successful | The count of successful connections. |
Dependent item | azure.db.mssql.connections.successful Preprocessing
|
Connections failed: System errors | The count of failed connections with system errors. |
Dependent item | azure.db.mssql.connections.failed.system Preprocessing
|
Connections blocked by firewall | The count of connections blocked by firewall. |
Dependent item | azure.db.mssql.firewall.blocked Preprocessing
|
Deadlocks | The count of deadlocks. Not applicable to the data warehouses. |
Dependent item | azure.db.mssql.deadlocks Preprocessing
|
Data space used percent | The percentage of used data space. Not applicable to the data warehouses or Hyperscale databases. |
Dependent item | azure.db.mssql.storage.percent Preprocessing
|
In-Memory OLTP storage percent | In-Memory OLTP storage percent. Not applicable to the data warehouses. |
Dependent item | azure.db.mssql.storage.xtp.percent Preprocessing
|
Workers percentage | The percentage of workers. Not applicable to the data warehouses. |
Dependent item | azure.db.mssql.workers.percent Preprocessing
|
Sessions percentage | The percentage of sessions. Not applicable to the data warehouses. |
Dependent item | azure.db.mssql.sessions.percent Preprocessing
|
CPU limit | The CPU limit. Applies to the vCore-based databases. |
Dependent item | azure.db.mssql.cpu.limit Preprocessing
|
CPU used | The CPU used. Applies to the vCore-based databases. |
Dependent item | azure.db.mssql.cpu.used Preprocessing
|
SQL Server process core percent | The CPU usage as a percentage of the SQL DB process. Not applicable to the data warehouses. |
Dependent item | azure.db.mssql.server.cpu.percent Preprocessing
|
SQL Server process memory percent | Memory usage as a percentage of the SQL DB process. Not applicable to the data warehouses. |
Dependent item | azure.db.mssql.server.memory.percent Preprocessing
|
Tempdb data file size | Space used in |
Dependent item | azure.db.mssql.tempdb.data.size Preprocessing
|
Tempdb log file size | Space used in |
Dependent item | azure.db.mssql.tempdb.log.size Preprocessing
|
Tempdb log used percent | The percentage of space used in |
Dependent item | azure.db.mssql.tempdb.log.percent Preprocessing
|
App CPU billed | App CPU billed. Applies to serverless databases. |
Dependent item | azure.db.mssql.app.cpu.billed Preprocessing
|
App CPU percentage | App CPU percentage. Applies to serverless databases. |
Dependent item | azure.db.mssql.app.cpu.percent Preprocessing
|
App memory percentage | App memory percentage. Applies to serverless databases. |
Dependent item | azure.db.mssql.app.memory.percent Preprocessing
|
Data space allocated | The allocated data storage. Not applicable to the data warehouses. |
Dependent item | azure.db.mssql.storage.allocated Preprocessing
|
Triggers
Name | Description | Expression | Severity | Dependencies and additional info |
---|---|---|---|---|
There are errors in requests to API | Zabbix has received errors in response to API requests. |
length(last(/Azure Microsoft SQL Serverless Database by HTTP/azure.db.mssql.data.errors))>0 |
Average | |
Microsoft SQL database is unavailable | The resource state is unavailable. |
last(/Azure Microsoft SQL Serverless Database by HTTP/azure.db.mssql.availability.state)=2 |
High | |
Microsoft SQL database is degraded | The resource is in a degraded state. |
last(/Azure Microsoft SQL Serverless Database by HTTP/azure.db.mssql.availability.state)=1 |
Average | |
Microsoft SQL database is in unknown state | The resource state is unknown. |
last(/Azure Microsoft SQL Serverless Database by HTTP/azure.db.mssql.availability.state)=3 |
Warning | |
High CPU utilization | The CPU utilization is too high. The system might be slow to respond. |
min(/Azure Microsoft SQL Serverless Database by HTTP/azure.db.mssql.cpu.percentage,5m)>{$AZURE.DB.CPU.UTIL.CRIT} |
High | |
Storage space is critically low | Critical utilization of the storage space. |
last(/Azure Microsoft SQL Serverless Database by HTTP/azure.db.mssql.storage.percent)>{$AZURE.DB.STORAGE.PUSED.CRIT} |
Average | |
Storage space is low | High utilization of the storage space. |
last(/Azure Microsoft SQL Serverless Database by HTTP/azure.db.mssql.storage.percent)>{$AZURE.DB.STORAGE.PUSED.WARN} |
Warning |
Azure Microsoft SQL Database by HTTP
Overview
This template is designed to monitor Microsoft SQL databases 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 SQL databases
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 Microsoft SQL database ID. |
|
{$AZURE.DB.CPU.UTIL.CRIT} | The critical threshold of CPU utilization, expressed in %. |
90 |
{$AZURE.DB.MEMORY.UTIL.CRIT} | The critical threshold of memory utilization, expressed in %. |
90 |
{$AZURE.DB.STORAGE.PUSED.WARN} | The warning threshold of storage utilization, expressed in %. |
80 |
{$AZURE.DB.STORAGE.PUSED.CRIT} | The critical threshold of storage 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.db.mssql.data.get |
Get errors | A list of errors from API requests. |
Dependent item | azure.db.mssql.data.errors Preprocessing
|
Availability state | The availability status of the resource. |
Dependent item | azure.db.mssql.availability.state Preprocessing
|
Availability status detailed | The summary description of the availability status. |
Dependent item | azure.db.mssql.availability.details Preprocessing
|
Percentage CPU | The CPU percent of a host. |
Dependent item | azure.db.mssql.cpu.percentage Preprocessing
|
Data IO percentage | The percentage of physical data read. |
Dependent item | azure.db.mssql.data.read.percentage Preprocessing
|
Log IO percentage | The percentage of I/O log. Not applicable to the data warehouses. |
Dependent item | azure.db.mssql.log.write.percentage Preprocessing
|
Data space used | Data space used. Not applicable to the data warehouses. |
Dependent item | azure.db.mssql.storage.used Preprocessing
|
Connections successful | The count of successful connections. |
Dependent item | azure.db.mssql.connections.successful Preprocessing
|
Connections failed: System errors | The count of failed connections with system errors. |
Dependent item | azure.db.mssql.connections.failed.system Preprocessing
|
Connections blocked by firewall | The count of connections blocked by firewall. |
Dependent item | azure.db.mssql.firewall.blocked Preprocessing
|
Deadlocks | The count of deadlocks. Not applicable to the data warehouses. |
Dependent item | azure.db.mssql.deadlocks Preprocessing
|
Data space used percent | Data space used percent. Not applicable to the data warehouses or Hyperscale databases. |
Dependent item | azure.db.mssql.storage.percent Preprocessing
|
In-Memory OLTP storage percent | In-Memory OLTP storage percent. Not applicable to the data warehouses. |
Dependent item | azure.db.mssql.storage.xtp.percent Preprocessing
|
Workers percentage | The percentage of workers. Not applicable to the data warehouses. |
Dependent item | azure.db.mssql.workers.percent Preprocessing
|
Sessions percentage | The percentage of sessions. Not applicable to the data warehouses. |
Dependent item | azure.db.mssql.sessions.percent Preprocessing
|
Sessions count | The number of active sessions. Not applicable to Synapse DW Analytics. |
Dependent item | azure.db.mssql.sessions.count Preprocessing
|
CPU limit | The CPU limit. Applies to the vCore-based databases. |
Dependent item | azure.db.mssql.cpu.limit Preprocessing
|
CPU used | The CPU used. Applies to the vCore-based databases. |
Dependent item | azure.db.mssql.cpu.used Preprocessing
|
SQL Server process core percent | The CPU usage as a percentage of the SQL DB process. Not applicable to the data warehouses. |
Dependent item | azure.db.mssql.server.cpu.percent Preprocessing
|
SQL Server process memory percent | Memory usage as a percentage of the SQL DB process. Not applicable to data warehouses. |
Dependent item | azure.db.mssql.server.memory.percent Preprocessing
|
Tempdb data file size | The space used in |
Dependent item | azure.db.mssql.tempdb.data.size Preprocessing
|
Tempdb log file size | The space used in |
Dependent item | azure.db.mssql.tempdb.log.size Preprocessing
|
Tempdb log used percent | The percentage of space used in |
Dependent item | azure.db.mssql.tempdb.log.percent Preprocessing
|
Data space allocated | The allocated data storage. Not applicable to the data warehouses. |
Dependent item | azure.db.mssql.storage.allocated Preprocessing
|
Full backup storage size | Cumulative full backup storage size. Applies to the vCore-based databases. Not applicable to the Hyperscale databases. |
Dependent item | azure.db.mssql.storage.backup.size Preprocessing
|
Differential backup storage size | Cumulative differential backup storage size. Applies to the vCore-based databases. Not applicable to the Hyperscale databases. |
Dependent item | azure.db.mssql.storage.backup.diff.size Preprocessing
|
Log backup storage size | Cumulative log backup storage size. Applies to the vCore-based and Hyperscale databases. |
Dependent item | azure.db.mssql.storage.backup.log.size Preprocessing
|
Triggers
Name | Description | Expression | Severity | Dependencies and additional info |
---|---|---|---|---|
There are errors in requests to API | Zabbix has received errors in response to API requests. |
length(last(/Azure Microsoft SQL Database by HTTP/azure.db.mssql.data.errors))>0 |
Average | |
Microsoft SQL database is unavailable | The resource state is unavailable. |
last(/Azure Microsoft SQL Database by HTTP/azure.db.mssql.availability.state)=2 |
High | |
Microsoft SQL database is degraded | The resource is in a degraded state. |
last(/Azure Microsoft SQL Database by HTTP/azure.db.mssql.availability.state)=1 |
Average | |
Microsoft SQL database is in unknown state | The resource state is unknown. |
last(/Azure Microsoft SQL Database by HTTP/azure.db.mssql.availability.state)=3 |
Warning | |
High CPU utilization | The CPU utilization is too high. The system might be slow to respond. |
min(/Azure Microsoft SQL Database by HTTP/azure.db.mssql.cpu.percentage,5m)>{$AZURE.DB.CPU.UTIL.CRIT} |
High | |
Storage space is critically low | Critical utilization of the storage space. |
last(/Azure Microsoft SQL Database by HTTP/azure.db.mssql.storage.percent)>{$AZURE.DB.STORAGE.PUSED.CRIT} |
Average | |
Storage space is low | High utilization of the storage space. |
last(/Azure Microsoft SQL Database by HTTP/azure.db.mssql.storage.percent)>{$AZURE.DB.STORAGE.PUSED.WARN} |
Warning |
Azure Cosmos DB for MongoDB by HTTP
Overview
This template is designed for the effortless deployment of Azure Cosmos DB for MongoDB monitoring by Zabbix via HTTP and doesn't require any external scripts.
Requirements
Zabbix version: 7.0 and higher.
Tested versions
This template has been tested on:
- Microsoft Azure Cosmos DB
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 Cosmos DB ID. |
|
{$AZURE.DB.COSMOS.MONGO.AVAILABILITY} | The warning threshold of the Cosmos DB for MongoDB service availability. |
70 |
Items
Name | Description | Type | Key and additional info |
---|---|---|---|
Get data | The result of API requests is expressed in the JSON. |
Script | azure.cosmosdb.data.get |
Get errors | A list of errors from API requests. |
Dependent item | azure.cosmosdb.data.errors Preprocessing
|
Total requests | Number of requests per minute. |
Dependent item | azure.cosmosdb.total.requests Preprocessing
|
Total request units | The request units consumed per minute. |
Dependent item | azure.cosmosdb.total.request.units Preprocessing
|
Metadata requests | The count of metadata requests. Cosmos DB maintains system metadata collection for each account, which allows you to enumerate collections, databases, etc., and their configurations, free of charge. |
Dependent item | azure.cosmosdb.metadata.requests Preprocessing
|
Mongo requests | The number of Mongo requests made. |
Dependent item | azure.cosmosdb.mongo.requests Preprocessing
|
Mongo request charge | The Mongo request units consumed. |
Dependent item | azure.cosmosdb.mongo.requests.charge Preprocessing
|
Server side latency | The server side latency. |
Dependent item | azure.cosmosdb.server.side.latency Preprocessing
|
Server side latency, gateway | The server side latency in gateway connection mode. |
Dependent item | azure.cosmosdb.server.side.latency.gateway Preprocessing
|
Server side latency, direct | The server side latency in direct connection mode. |
Dependent item | azure.cosmosdb.server.side.latency.direct Preprocessing
|
Replication latency, P99 | The P99 replication latency across source and target regions for geo-enabled account. |
Dependent item | azure.cosmosdb.replication.latency Preprocessing
|
Service availability | The account requests availability at one hour granularity. |
Dependent item | azure.cosmosdb.service.availability Preprocessing
|
Data usage | The total data usage. |
Dependent item | azure.cosmosdb.data.usage Preprocessing
|
Index usage | The total index usage. |
Dependent item | azure.cosmosdb.index.usage Preprocessing
|
Document quota | The total storage quota. |
Dependent item | azure.cosmosdb.document.quota Preprocessing
|
Document count | The total document count. |
Dependent item | azure.cosmosdb.document.count Preprocessing
|
Normalized RU consumption | The max RU consumption percentage per minute. |
Dependent item | azure.cosmosdb.normalized.ru.consumption Preprocessing
|
Physical partition throughput | The physical partition throughput. |
Dependent item | azure.cosmosdb.physical.partition.throughput Preprocessing
|
Autoscale max throughput | The autoscale max throughput. |
Dependent item | azure.cosmosdb.autoscale.max.throughput Preprocessing
|
Provisioned throughput | The provisioned throughput. |
Dependent item | azure.cosmosdb.provisioned.throughput Preprocessing
|
Physical partition size | The physical partition size in bytes. |
Dependent item | azure.cosmosdb.physical.partition.size Preprocessing
|
Triggers
Name | Description | Expression | Severity | Dependencies and additional info |
---|---|---|---|---|
There are errors in requests to API | Zabbix has received errors in response to API requests. |
length(last(/Azure Cosmos DB for MongoDB by HTTP/azure.cosmosdb.data.errors))>0 |
Average | |
Cosmos DB for MongoDB account: Availability is low | (min(/Azure Cosmos DB for MongoDB by HTTP/azure.cosmosdb.service.availability,#3))<{$AZURE.DB.COSMOS.MONGO.AVAILABILITY} |
Warning |
Azure Cost Management by HTTP
Overview
This template is designed to monitor Microsoft Cost Management 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
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}
.
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. |
60s |
{$AZURE.TENANT.ID} | Microsoft Azure tenant ID. |
|
{$AZURE.BILLING.MONTH} | Months to get historical data from Azure Cost Management API, no more than 11 (plus current month). The time period for pulling the data cannot exceed 1 year. |
11 |
{$AZURE.LLD.FILTER.SERVICE.MATCHES} | Filter of discoverable services by name. |
.* |
{$AZURE.LLD.FILTER.SERVICE.NOT_MATCHES} | Filter to exclude discovered services by name. |
CHANGE_IF_NEEDED |
{$AZURE.LLD.FILTER.RESOURCE.LOCATION.MATCHES} | Filter of discoverable locations by name. |
.* |
{$AZURE.LLD.FILTER.RESOURCE.LOCATION.NOT_MATCHES} | Filter to exclude discovered locations by name. |
CHANGE_IF_NEEDED |
{$AZURE.LLD.FILTER.RESOURCE.GROUP.MATCHES} | Filter of discoverable resource groups by name. |
.* |
{$AZURE.LLD.FILTER.RESOURCE.GROUP.NOT_MATCHES} | Filter to exclude discovered resource groups by name. |
CHANGE_IF_NEEDED |
Items
Name | Description | Type | Key and additional info |
---|---|---|---|
Get monthly costs | The result of API requests is expressed in the JSON. |
Script | azure.get.monthly.costs |
Get daily costs | The result of API requests is expressed in the JSON. |
Script | azure.get.daily.costs |
LLD rule Azure daily costs by services discovery
Name | Description | Type | Key and additional info |
---|---|---|---|
Azure daily costs by services discovery | Discovery of daily costs by services. |
Dependent item | azure.daily.services.costs.discovery Preprocessing
|
Item prototypes for Azure daily costs by services discovery
Name | Description | Type | Key and additional info |
---|---|---|---|
Service ["{#AZURE.SERVICE.NAME}"]: Meter ["{#AZURE.BILLING.METER}"]: Subcategory ["{#AZURE.BILLING.METER.SUBCATEGORY}"] daily cost | The daily cost by service {#AZURE.SERVICE.NAME}, meter {#AZURE.BILLING.METER}, subcategory {#AZURE.BILLING.METER.SUBCATEGORY}. |
Dependent item | azure.daily.cost["{#AZURE.SERVICE.NAME}", "{#AZURE.BILLING.METER}", "{#AZURE.BILLING.METER.SUBCATEGORY}","{#AZURE.RESOURCE.GROUP}"] Preprocessing
|
LLD rule Azure monthly costs by services discovery
Name | Description | Type | Key and additional info |
---|---|---|---|
Azure monthly costs by services discovery | Discovery of monthly costs by services. |
Dependent item | azure.monthly.services.costs.discovery Preprocessing
|
Item prototypes for Azure monthly costs by services discovery
Name | Description | Type | Key and additional info |
---|---|---|---|
Service ["{#AZURE.SERVICE.NAME}"]: Month ["{#AZURE.BILLING.MONTH}"] cost | The monthly cost by service {#AZURE.SERVICE.NAME}. |
Dependent item | azure.monthly.service.cost["{#AZURE.SERVICE.NAME}", "{#AZURE.BILLING.MONTH}"] Preprocessing
|
LLD rule Azure monthly costs by location discovery
Name | Description | Type | Key and additional info |
---|---|---|---|
Azure monthly costs by location discovery | Discovery of monthly costs by location. |
Dependent item | azure.monthly.location.costs.discovery Preprocessing
|
Item prototypes for Azure monthly costs by location discovery
Name | Description | Type | Key and additional info |
---|---|---|---|
Location: ["{#AZURE.RESOURCE.LOCATION}"]: Month ["{#AZURE.BILLING.MONTH}"] cost | The monthly cost by location {#AZURE.RESOURCE.LOCATION}. |
Dependent item | azure.monthly.location.cost["{#AZURE.RESOURCE.LOCATION}", "{#AZURE.BILLING.MONTH}"] Preprocessing
|
LLD rule Azure monthly costs by resource group discovery
Name | Description | Type | Key and additional info |
---|---|---|---|
Azure monthly costs by resource group discovery | Discovery of monthly costs by resource group. |
Dependent item | azure.monthly.resource.group.costs.discovery Preprocessing
|
Item prototypes for Azure monthly costs by resource group discovery
Name | Description | Type | Key and additional info |
---|---|---|---|
Resource group: ["{#AZURE.RESOURCE.GROUP}"]: Month ["{#AZURE.BILLING.MONTH}"] cost | The monthly cost by resource group {#AZURE.RESOURCE.GROUP}. |
Dependent item | azure.monthly.resource.group.cost["{#AZURE.RESOURCE.GROUP}", "{#AZURE.BILLING.MONTH}"] Preprocessing
|
LLD rule Azure monthly costs discovery
Name | Description | Type | Key and additional info |
---|---|---|---|
Azure monthly costs discovery | Discovery of monthly costs. |
Dependent item | azure.monthly.costs.discovery Preprocessing
|
Item prototypes for Azure monthly costs discovery
Name | Description | Type | Key and additional info |
---|---|---|---|
Month ["{#AZURE.BILLING.MONTH}"] cost | The monthly cost. |
Dependent item | azure.monthly.cost["{#AZURE.BILLING.MONTH}"] Preprocessing
|
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