Azure Cost Management

Azure Cost Management reports the cost and usage of an Azure subscription, broken down by service, resource group and billing period.

Available solutions

Zabbix version 8.0 7.4 7.2 7.0 6.4 6.0
Download

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: 8.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

  1. 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.

  1. Link the template to a host.
  2. Configure the macros: {$AZURE.APP.ID}, {$AZURE.PASSWORD}, {$AZURE.TENANT.ID}, {$AZURE.SUBSCRIPTION.ID}.

Macros used

Name Description Default
{$AZURE.BUDGET.MONTH}

Threshold for Azure monthly budget limit.

10000
{$AZURE.BILLING.MONTH.HIGH}

Threshold for high Azure monthly billing.

15000
{$AZURE.BILLING.MONTH.WARN}

Warning threshold for Azure monthly billing.

10000
{$AZURE.SERVICE.COST.TOP.HIGH}

Threshold for high Azure top service cost.

400
{$AZURE.SERVICE.COST.TOP.WARN}

Warning threshold for Azure top service cost.

200
{$AZURE.ACCOUNT.COST.DAILY.HIGH}

Threshold for high Azure account daily cost.

400
{$AZURE.ACCOUNT.COST.DAILY.WARN}

Warning threshold for Azure account daily cost.

200
{$AZURE.REGION.COST.DAILY.HIGH}

Threshold for high Azure region daily cost.

400
{$AZURE.REGION.COST.DAILY.WARN}

Warning threshold for Azure region daily cost.

200
{$AZURE.SERVICE.COST.DAILY.HIGH}

Threshold for high Azure service daily cost.

400
{$AZURE.SERVICE.COST.DAILY.WARN}

Warning threshold for Azure service daily cost.

200
{$AZURE.SUBSCRIPTION.ID}

Microsoft Azure subscription ID.

{$AZURE.TENANT.ID}

Microsoft Azure tenant ID.

{$AZURE.APP.ID}

The App ID of Microsoft Azure.

{$AZURE.PASSWORD}

Microsoft Azure password.

{$AZURE.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
{$AZURE.DATA.TIMEOUT}

API response timeout.

60s
{$AZURE.PROXY}

Sets the HTTP proxy value. If this macro is empty, then no proxy is used.

{$HTTP.TLS.VERIFY}

TLS certificate verification for script items: "none" - disabled, "peer" - verify the certificate chain and expiration, "full" - full verification. Any other value enables full verification. To override the setting for this template only, define the macro with the context "Azure Cost Management", e.g. {$HTTP.TLS.VERIFY:"Azure Cost Management"}.

full

Items

Name Description Type Key and additional info
Get region and subscription daily data

Collects Azure region and subscription daily cost data.

Dependent item azure.region.subscription.daily.get

Preprocessing

  • JavaScript: The text is too long. Please see the template.

Get service daily data

Collects Azure service daily cost data.

Dependent item azure.service.daily.total.get

Preprocessing

  • JavaScript: The text is too long. Please see the template.

Get region and subscription yearly data

Collects Azure region and account yearly cost data.

Dependent item azure.region.subscription.yearly.get

Preprocessing

  • JavaScript: The text is too long. Please see the template.

Get service yearly data

Collects Azure service yearly cost data.

Dependent item azure.service.yearly.total.get

Preprocessing

  • JavaScript: The text is too long. Please see the template.

Get total months

Collects Azure monthly cost data.

Dependent item azure.month.cost.total.get

Preprocessing

  • JavaScript: The text is too long. Please see the template.

Get service daily cost

Collects daily Azure service data.

Dependent item azure.service.daily.get

Preprocessing

  • JSON Path: $.services

Get accounts daily cost

Collects daily Azure account data.

Dependent item azure.account.daily.get

Preprocessing

  • JSON Path: $.accounts

Get regions daily cost

Collects daily Azure region data.

Dependent item azure.regions.daily.get

Preprocessing

  • JSON Path: $.regions

Get service type daily cost

Collects data for each service type cost within a day:

ai_ml - ai and machine learning services

analytics - data analysis and reporting services

compute - virtual machines and app runtime services

containers - container services

databases - database services

storage - storage services

networking - networking, routing, and connectivity services

security - security, identity, and protection services

dev_tools - developer tools services

identity - identity and access management services

integration - integration messaging services

iot - iot services

mgmt - monitoring, governance, and management services

media - media streaming and delivery services

migration - migration and data transfer services

mixed_reality - mixed and augmented reality services

mobile - mobile backend and real-time communication services

hybrid - hybrid and multicloud connectivity services

web - web hosting and application hosting services

vdi - virtual desktop and remote workspace services

Dependent item azure.service.type.daily.get

Preprocessing

  • JSON Path: $.categories

Azure monthly budget delta

Calculates current Azure monthly budget delta compared to previous month.

Calculated azure.monthly.delta.budget

Preprocessing

  • Discard unchanged with heartbeat: 1h

Azure monthly delta, in percent

Calculates current Azure monthly delta, in percent, compared to previous month.

Calculated azure.monthly.delta.percent

Preprocessing

  • Discard unchanged with heartbeat: 1h

Azure monthly delta

Calculates current Azure monthly delta compared to previous month.

Calculated azure.monthly.delta

Preprocessing

  • Discard unchanged with heartbeat: 1h

Get Azure monthly compare

Azure monthly cost comparison.

Dependent item azure.monthly.compare.get

Preprocessing

  • JSON Path: $.monthly_comparison

Get Azure daily top service

Azure daily top service data.

Dependent item azure.daily.top.service.get

Preprocessing

  • JSON Path: $.top_services

Azure daily service count

Azure daily service count.

Dependent item azure.daily.service.count

Preprocessing

  • JSON Path: $.service_count_daily

Azure monthly average cost

Azure monthly average cost.

Calculated azure.monthly.average.cost

Preprocessing

  • Discard unchanged with heartbeat: 1h

Azure daily average cost

Azure daily average cost in one week.

Calculated azure.daily.average.cost

Preprocessing

  • Discard unchanged with heartbeat: 1h

Azure daily total cost

Azure daily total cost.

Dependent item azure.daily.total.cost

Preprocessing

  • JSON Path: $.total_cost

Azure Q1 delta

Difference in cost between Q2 and Q1.

Calculated azure.q1.delta.cost

Preprocessing

  • Discard unchanged with heartbeat: 1h

Azure Q2 delta

Difference in cost between Q3 and Q2.

Calculated azure.q2.delta.cost

Preprocessing

  • Discard unchanged with heartbeat: 1h

Azure Q3 delta

Difference in cost between Q4 and Q3.

Calculated azure.q3.delta.cost

Preprocessing

  • Discard unchanged with heartbeat: 1h

Azure quarterly trend cost

Average quarterly cost change across the year based on Q1, Q2 and Q3 deltas. Shows whether spending is steadily increasing, decreasing, or staying stable over time.

Calculated azure.quarterly.trend.cost

Preprocessing

  • Discard unchanged with heartbeat: 1h

Get service type yearly cost

Collects data for each service type cost within a year:

ai_ml - ai and machine learning services

analytics - data analysis and reporting services

compute - virtual machines and app runtime services

containers - container services

databases - database services

storage - storage services

networking - networking, routing, and connectivity services

security - security, identity, and protection services

dev_tools - developer tools services

identity - identity and access management services

integration - integration messaging services

iot - iot services

mgmt - monitoring, governance, and management services

media - media streaming and delivery services

migration - migration and data transfer services

mixed_reality - mixed and augmented reality services

mobile - mobile backend and real-time communication services

hybrid - hybrid and multicloud connectivity services

web - web hosting and application hosting services

vdi - virtual desktop and remote workspace services

Dependent item azure.service.type.yearly.get

Preprocessing

  • JSON Path: $.type

Get subscription yearly cost

Collects cost data for Azure subscription within a yearly gap.

Dependent item azure.subscription.yearly.get

Preprocessing

  • JSON Path: $.subscriptions

Get region yearly cost

Collects cost data for each region within a yearly gap.

Dependent item azure.region.yearly.get

Preprocessing

  • JSON Path: $.regions

Get service yearly cost

Collects cost data for each service within a yearly gap.

Dependent item azure.service.yearly.get

Preprocessing

  • JSON Path: $.services

Annual cost

Azure total annual cost.

Calculated azure.annual.cost

Preprocessing

  • Discard unchanged with heartbeat: 1h

Q1 cost total

Total Q1 cost.

Dependent item azure.first.quarter.cost

Preprocessing

  • JSON Path: $.q1

Q2 cost total

Total Q2 cost.

Dependent item azure.second.quarter.cost

Preprocessing

  • JSON Path: $.q2

Q3 cost total

Total Q3 cost.

Dependent item azure.third.quarter.cost

Preprocessing

  • JSON Path: $.q3

Q4 cost total

Total Q4 cost.

Dependent item azure.fourth.quarter.cost

Preprocessing

  • JSON Path: $.q4

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
Azure Cost: Get monthly costs errors

A list of errors from API requests.

Dependent item azure.get.monthly.costs.errors

Preprocessing

  • JSON Path: $.error

    ⛔️Custom on fail: Set value to

  • Discard unchanged with heartbeat: 1h

Azure Cost: Get daily costs errors

A list of errors from API requests.

Dependent item azure.get.daily.costs.errors

Preprocessing

  • JSON Path: $.error

    ⛔️Custom on fail: Set value to

  • Discard unchanged with heartbeat: 1h

Triggers

Name Description Expression Severity Dependencies and additional info
Azure Cost: There are errors in requests to API

Zabbix has received errors in response to API requests.

length(last(/Azure Cost Management by HTTP/azure.get.monthly.costs.errors))>0 Average
Azure Cost: There are errors in requests to API

Zabbix has received errors in response to API requests.

length(last(/Azure Cost Management by HTTP/azure.get.daily.costs.errors))>0 Average

LLD rule Azure daily service cost discovery

Name Description Type Key and additional info
Azure daily service cost discovery

Collects daily Azure service cost data.

Dependent item azure.daily.service.cost.discovery

Item prototypes for Azure daily service cost discovery

Name Description Type Key and additional info
Azure service [{#AZURE.SERVICE.NAME}]: Get daily data

Collects daily Azure {#AZURE.SERVICE.NAME} service data.

Dependent item azure.daily.service.cost.preprocessed.get["{#AZURE.SERVICE.NAME}"]

Preprocessing

  • JSON Path: $[?(@.service=="{#AZURE.SERVICE.NAME}")].first()

Azure service [{#AZURE.SERVICE.NAME}]: Daily cost

Collects daily Azure {#AZURE.SERVICE.NAME} service cost.

Dependent item azure.daily.service.cost["{#AZURE.SERVICE.NAME}"]

Preprocessing

  • JSON Path: $.total_cost

Trigger prototypes for Azure daily service cost discovery

Name Description Expression Severity Dependencies and additional info
Azure service daily cost warning

Azure service daily cost is above warning threshold {$AZURE.SERVICE.COST.DAILY.WARN}. Please monitor service usage and investigate cost increase trends.

last(/Azure Cost Management by HTTP/azure.daily.service.cost["{#AZURE.SERVICE.NAME}"]) >= {$AZURE.SERVICE.COST.DAILY.WARN} Warning Depends on:
  • Azure service daily cost high
Azure service daily cost high

Azure service daily cost has exceeded high threshold {$AZURE.SERVICE.COST.DAILY.HIGH}. Immediate investigation of service spending is recommended.

last(/Azure Cost Management by HTTP/azure.daily.service.cost["{#AZURE.SERVICE.NAME}"]) >= {$AZURE.SERVICE.COST.DAILY.HIGH} High

LLD rule Azure daily account cost discovery

Name Description Type Key and additional info
Azure daily account cost discovery

Collects daily Azure account cost data.

Dependent item azure.daily.account.cost.discovery

Item prototypes for Azure daily account cost discovery

Name Description Type Key and additional info
Azure subscription [{#AZURE.SUBSCRIPTION.ID}]: Get daily data

Collects daily Azure {#AZURE.SUBSCRIPTION.ID} account data.

Dependent item azure.daily.account.cost.preprocessed.get["{#AZURE.SUBSCRIPTION.ID}"]

Preprocessing

  • JSON Path: $[?(@.subscription_id=="{#AZURE.SUBSCRIPTION.ID}")].first()

Azure subscription [{#AZURE.SUBSCRIPTION.ID}]: Daily cost

Collects daily Azure {#AZURE.SUBSCRIPTION.ID} account cost.

Dependent item azure.daily.account.cost["{#AZURE.SUBSCRIPTION.ID}"]

Preprocessing

  • JSON Path: $.total_cost

Trigger prototypes for Azure daily account cost discovery

Name Description Expression Severity Dependencies and additional info
Azure account daily cost warning

Azure {#AZURE.SUBSCRIPTION.ID} subscription daily cost is above warning threshold {$AZURE.ACCOUNT.COST.DAILY.WARN}. Please monitor account spending and investigate cost increase trends.

last(/Azure Cost Management by HTTP/azure.daily.account.cost["{#AZURE.SUBSCRIPTION.ID}"]) >= {$AZURE.ACCOUNT.COST.DAILY.WARN} Warning Depends on:
  • Azure account daily cost high
Azure account daily cost high

Azure {#AZURE.SUBSCRIPTION.ID} subscription daily cost has exceeded high threshold {$AZURE.ACCOUNT.COST.DAILY.HIGH}. Immediate investigation of account spending is recommended.

last(/Azure Cost Management by HTTP/azure.daily.account.cost["{#AZURE.SUBSCRIPTION.ID}"]) >= {$AZURE.ACCOUNT.COST.DAILY.HIGH} High

LLD rule Azure daily region cost discovery

Name Description Type Key and additional info
Azure daily region cost discovery

Collects daily Azure region cost data.

Dependent item azure.daily.region.cost.discovery

Item prototypes for Azure daily region cost discovery

Name Description Type Key and additional info
Azure region [{#AZURE.REGION.NAME}]: Get daily data

Collects daily Azure {#AZURE.REGION.NAME} region data.

Dependent item azure.daily.region.cost.preprocessed.get["{#AZURE.REGION.NAME}"]

Preprocessing

  • JSON Path: $[?(@.region=="{#AZURE.REGION.NAME}")].first()

Azure region [{#AZURE.REGION.NAME}]: Daily cost

Collects daily Azure {#AZURE.REGION.NAME} region cost.

Dependent item azure.daily.region.cost["{#AZURE.REGION.NAME}"]

Preprocessing

  • JSON Path: $.total_cost

Trigger prototypes for Azure daily region cost discovery

Name Description Expression Severity Dependencies and additional info
Azure region daily cost warning

Azure region {#AZURE.REGION.NAME} daily cost is above warning threshold {$AZURE.REGION.COST.DAILY.WARN}. Please monitor region spending and investigate cost increase trends.

last(/Azure Cost Management by HTTP/azure.daily.region.cost["{#AZURE.REGION.NAME}"]) >= {$AZURE.REGION.COST.DAILY.WARN} Warning Depends on:
  • Azure region daily cost high
Azure region daily cost high

Azure region {#AZURE.REGION.NAME} daily cost has exceeded high threshold {$AZURE.REGION.COST.DAILY.HIGH}. Immediate investigation of region spending is recommended.

last(/Azure Cost Management by HTTP/azure.daily.region.cost["{#AZURE.REGION.NAME}"]) >= {$AZURE.REGION.COST.DAILY.HIGH} High

LLD rule Azure daily service type costs discovery

Name Description Type Key and additional info
Azure daily service type costs discovery

Collects daily Azure service type data.

Dependent item azure.daily.service.type.costs.discovery

Item prototypes for Azure daily service type costs discovery

Name Description Type Key and additional info
Azure service type [{#AZURE.SERVICE.TYPE}]: Get daily data

Collects daily Azure service {#AZURE.SERVICE.TYPE} type data.

Dependent item azure.daily.service.type.preprocessed.get["{#AZURE.SERVICE.TYPE}"]

Preprocessing

  • JSON Path: $[?(@.category=="{#AZURE.SERVICE.TYPE}")].first()

Azure service type [{#AZURE.SERVICE.TYPE}]: Daily cost

Collects daily Azure service {#AZURE.SERVICE.TYPE} type cost.

Dependent item azure.service.type.daily.cost["{#AZURE.SERVICE.TYPE}"]

Preprocessing

  • JSON Path: $.total_cost

Azure service type [{#AZURE.SERVICE.TYPE}]: Daily count

Collects daily Azure service {#AZURE.SERVICE.TYPE} type count.

Dependent item azure.service.type.daily.count["{#AZURE.SERVICE.TYPE}"]

Preprocessing

  • JSON Path: $.service_count

LLD rule Azure monthly compare discovery

Name Description Type Key and additional info
Azure monthly compare discovery

Collects monthly data that compares current to previous months.

Dependent item azure.monthly.compare.discovery

Item prototypes for Azure monthly compare discovery

Name Description Type Key and additional info
Month [{#AZURE.MONTH.DATE}]: Type [{#AZURE.MONTH.TYPE}]: Get data

Collects Azure cost data for {#AZURE.MONTH.DATE} month with {#AZURE.MONTH.TYPE} monthly type.

Dependent item azure.monthly.compare.type.preprocessed.get["{#AZURE.MONTH.TYPE}"]

Preprocessing

  • JSON Path: $[?(@.type=="{#AZURE.MONTH.TYPE}")].first()

Month [{#AZURE.MONTH.DATE}]: Type [{#AZURE.MONTH.TYPE}]: Total cost

Total {#AZURE.MONTH.TYPE} {#AZURE.MONTH.DATE} monthly cost.

Dependent item azure.monthly.compare.type.cost["{#AZURE.MONTH.TYPE}"]

Preprocessing

  • JSON Path: $.total_cost

LLD rule Azure daily top service cost discovery

Name Description Type Key and additional info
Azure daily top service cost discovery

Collects Azure top service data.

Dependent item azure.daily.top.service.cost.discovery

Item prototypes for Azure daily top service cost discovery

Name Description Type Key and additional info
Azure top service [{#AZURE.SERVICE.NAME}]: Get data

Collects daily Azure top service {#AZURE.SERVICE.NAME} data.

Dependent item azure.daily.top.service.preprocessed.get["{#AZURE.SERVICE.NAME}"]

Preprocessing

  • JSON Path: $[?(@.service=="{#AZURE.SERVICE.NAME}")].first()

Azure top service [{#AZURE.SERVICE.NAME}]: Daily cost

Collects daily Azure top service {#AZURE.SERVICE.NAME} cost.

Dependent item azure.daily.top.service.cost["{#AZURE.SERVICE.NAME}"]

Preprocessing

  • JSON Path: $.total_cost

Azure top service [{#AZURE.SERVICE.NAME}]: Daily cost, in percent

Collects daily Azure top service {#AZURE.SERVICE.NAME} cost.

Dependent item azure.daily.top.service.percent["{#AZURE.SERVICE.NAME}"]

Preprocessing

  • JSON Path: $.percent

Trigger prototypes for Azure daily top service cost discovery

Name Description Expression Severity Dependencies and additional info
Azure top daily service cost warning

Azure top service {#AZURE.SERVICE.NAME} cost is above warning threshold {$AZURE.SERVICE.COST.TOP.WARN}. Please monitor service usage and investigate cost increase trends.

last(/Azure Cost Management by HTTP/azure.daily.top.service.cost["{#AZURE.SERVICE.NAME}"]) >= {$AZURE.SERVICE.COST.TOP.WARN} Warning Depends on:
  • Azure top daily service cost high
Azure top daily service cost high

Azure top service {#AZURE.SERVICE.NAME} cost has exceeded high threshold {$AZURE.SERVICE.COST.TOP.HIGH}. Immediate investigation of service spending is recommended.

last(/Azure Cost Management by HTTP/azure.daily.top.service.cost["{#AZURE.SERVICE.NAME}"]) >= {$AZURE.SERVICE.COST.TOP.HIGH} High

LLD rule Azure yearly service type costs discovery

Name Description Type Key and additional info
Azure yearly service type costs discovery

Collects yearly Azure service type data.

Dependent item azure.yearly.service.type.costs.discovery

Item prototypes for Azure yearly service type costs discovery

Name Description Type Key and additional info
Azure service type [{#AZURE.SERVICE.TYPE}]: Get yearly data

Collects yearly Azure service {#AZURE.SERVICE.TYPE} type data.

Dependent item azure.yearly.service.type.preprocessed.get["{#AZURE.SERVICE.TYPE}"]

Preprocessing

  • JSON Path: $[?(@.category=="{#AZURE.SERVICE.TYPE}")].first()

Azure service type [{#AZURE.SERVICE.TYPE}]: Yearly cost

Collects yearly Azure service {#AZURE.SERVICE.TYPE} type cost.

Dependent item azure.service.type.yearly.cost["{#AZURE.SERVICE.TYPE}"]

Preprocessing

  • JSON Path: $.total_cost

Azure service type [{#AZURE.SERVICE.TYPE}]: Yearly count

Collects yearly Azure service {#AZURE.SERVICE.TYPE} type count.

Dependent item azure.service.type.yearly.count["{#AZURE.SERVICE.TYPE}"]

Preprocessing

  • JSON Path: $.service_count

LLD rule Azure yearly subscription costs discovery

Name Description Type Key and additional info
Azure yearly subscription costs discovery

Collects yearly Azure subscription data.

Dependent item azure.yearly.subscription.costs.discovery

Item prototypes for Azure yearly subscription costs discovery

Name Description Type Key and additional info
Azure subscription [{#AZURE.SUBSCRIPTION.ID}]: Get yearly data

Collects yearly Azure {#AZURE.SUBSCRIPTION.ID} subscription ID data.

Dependent item azure.yearly.subscription.preprocessed.get["{#AZURE.SUBSCRIPTION.ID}"]

Preprocessing

  • JSON Path: $[?(@.subscription_id=="{#AZURE.SUBSCRIPTION.ID}")].first()

Azure subscription [{#AZURE.SUBSCRIPTION.ID}]: Yearly cost

Collects yearly Azure {#AZURE.SUBSCRIPTION.ID} subscription ID total cost.

Dependent item azure.yearly.subscription.yearly.cost["{#AZURE.SUBSCRIPTION.ID}"]

Preprocessing

  • JSON Path: $.total_cost

LLD rule Azure yearly region costs discovery

Name Description Type Key and additional info
Azure yearly region costs discovery

Collects yearly Azure region data.

Dependent item azure.yearly.region.costs.discovery

Item prototypes for Azure yearly region costs discovery

Name Description Type Key and additional info
Azure region [{#AZURE.REGION.NAME}]: Get yearly data

Collects yearly Azure {#AZURE.REGION.NAME} region data.

Dependent item azure.yearly.region.preprocessed.get["{#AZURE.REGION.NAME}"]

Preprocessing

  • JSON Path: $[?(@.region=="{#AZURE.REGION.NAME}")].first()

Azure region [{#AZURE.REGION.NAME}]: Yearly cost

Collects yearly Azure {#AZURE.REGION.NAME} region total cost.

Dependent item azure.yearly.region.yearly.cost["{#AZURE.REGION.NAME}"]

Preprocessing

  • JSON Path: $.total_cost

LLD rule Azure yearly service costs discovery

Name Description Type Key and additional info
Azure yearly service costs discovery

Collects yearly Azure service data.

Dependent item azure.yearly.service.costs.discovery

Item prototypes for Azure yearly service costs discovery

Name Description Type Key and additional info
Azure service [{#AZURE.SERVICE.NAME}]: Get yearly data

Collects yearly Azure {#AZURE.SERVICE.NAME} service data.

Dependent item azure.yearly.service.preprocessed.get["{#AZURE.SERVICE.NAME}"]

Preprocessing

  • JSON Path: $[?(@.service=="{#AZURE.SERVICE.NAME}")].first()

Azure service [{#AZURE.SERVICE.NAME}]: Yearly cost

Collects yearly Azure {#AZURE.SERVICE.NAME} service total cost.

Dependent item azure.yearly.service.yearly.cost["{#AZURE.SERVICE.NAME}"]

Preprocessing

  • JSON Path: $.total_cost

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

  • JSON Path: $.cost.data

    ⛔️Custom on fail: Discard value

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

  • JSON Path: The text is too long. Please see the template.

    ⛔️Custom on fail: Discard value

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

  • JSON Path: $.serviceCost.data

    ⛔️Custom on fail: Discard value

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

  • JSON Path: The text is too long. Please see the template.

    ⛔️Custom on fail: Discard value

  • JSON Path: The text is too long. Please see the template.

    ⛔️Custom on fail: Discard value

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

  • JSON Path: $.resourceLocationCost.data

    ⛔️Custom on fail: Discard value

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

  • JSON Path: The text is too long. Please see the template.

    ⛔️Custom on fail: Discard value

  • JSON Path: The text is too long. Please see the template.

    ⛔️Custom on fail: Discard value

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

  • JSON Path: $.resourceGroupCost.data

    ⛔️Custom on fail: Discard value

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

  • JSON Path: The text is too long. Please see the template.

    ⛔️Custom on fail: Discard value

  • JSON Path: The text is too long. Please see the template.

    ⛔️Custom on fail: Discard value

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

  • JSON Path: $.monthCost.data

    ⛔️Custom on fail: Discard value

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

  • JSON Path: The text is too long. Please see the template.

    ⛔️Custom on fail: Discard value

Trigger prototypes for Azure monthly costs discovery

Name Description Expression Severity Dependencies and additional info
Azure monthly billing warning

Azure {#AZURE.BILLING.MONTH} month cost is above warning threshold {$AZURE.BILLING.MONTH.WARN}. Please monitor cost trends and investigate recent usage increases.

last(/Azure Cost Management by HTTP/azure.monthly.cost["{#AZURE.BILLING.MONTH}"]) >= {$AZURE.BILLING.MONTH.WARN} Warning Depends on:
  • Azure monthly billing high
Azure monthly billing high

Azure {#AZURE.BILLING.MONTH} month cost has exceeded high threshold {$AZURE.BILLING.MONTH.HIGH}. Immediate cost investigation is recommended.

last(/Azure Cost Management by HTTP/azure.monthly.cost["{#AZURE.BILLING.MONTH}"]) >= {$AZURE.BILLING.MONTH.HIGH} High
Azure monthly billing budget warning 80%

Azure {#AZURE.BILLING.MONTH} month cost has reached 80% of the defined budget {$AZURE.BUDGET.MONTH}. Please monitor spending to avoid budget overrun.

last(/Azure Cost Management by HTTP/azure.monthly.cost["{#AZURE.BILLING.MONTH}"]) >= {$AZURE.BUDGET.MONTH}*0.8 Warning Depends on:
  • Azure monthly billing budget exceeded 100%
Azure monthly billing budget exceeded 100%

Azure {#AZURE.BILLING.MONTH} month cost has reached or exceeded the full budget {$AZURE.BUDGET.MONTH}. Immediate cost control actions are recommended.

last(/Azure Cost Management by HTTP/azure.monthly.cost["{#AZURE.BILLING.MONTH}"]) >= {$AZURE.BUDGET.MONTH} High

Articles and documentation

+ Propose new article

Sie können die Integration nicht finden, die Sie benötigen?