Azure Monitor cost: taming metrics, alerts, and ingestion
Azure Monitor spans metrics, alerts, and Log Analytics ingestion, and the ingestion charge at roughly $2.30 per gigabyte is what usually runs the bill up. Here is how each part is priced and how to keep observability affordable.
Quick answer
Azure Monitor's cost comes mainly from Log Analytics data ingestion at about $2.30 per GB pay-as-you-go, with additional charges for metric alert rules (about $0.10 per monitored time-series per month), log alert rules, and data retention beyond the free 31 days at about $0.10 per GB per month. Platform metrics themselves are free. The bill runs up when verbose logs and high-cardinality telemetry pour into Log Analytics. Control it by filtering noisy logs at the source, using Basic Logs for high-volume low-query data, buying commitment tiers, and trimming retention.
Azure Monitor is the umbrella over metrics, alerts, and the Log Analytics workspace that stores your logs. Each part is priced differently, and while platform metrics are free, the ingestion of log data is where most of the money goes. An observability setup that ingests everything without filtering can cost more than the infrastructure it is watching.
The main charges
| Component | Pricing |
|---|---|
| Platform metrics | Free |
| Log Analytics ingestion | ~$2.30 per GB (Analytics Logs) |
| Basic Logs ingestion | ~$0.50 per GB, limited query |
| Retention beyond 31 days | ~$0.10 per GB per month |
| Metric alert rules | ~$0.10 per time-series per month |
Ingestion dominates. At about $2.30 per GB, a workload sending 100 GB of logs a day runs roughly $6,900 a month before retention. Alert rules add up when you monitor many resources with per-time-series metric alerts, and retention beyond the included 31 days adds a per-GB monthly charge. The lever with the most leverage is almost always ingestion volume.
Filter at the source
The cheapest gigabyte is the one you never ingest. Configure diagnostic settings and agents to send only the logs you actually query, drop debug and verbose categories in production, sample high-frequency traces, and avoid duplicating the same data into multiple workspaces. Much ingested log data is never queried, so filtering it out at the source is pure savings, the same principle as the Log Analytics optimization guide.
Use the right log tier
Azure offers Basic Logs at roughly $0.50 per GB for high-volume data that you rarely query interactively, versus Analytics Logs at about $2.30 per GB for data you query and alert on regularly. Routing verbose, low-value, high-volume streams to Basic Logs cuts their ingestion cost by roughly 80 percent while keeping them available for occasional investigation. Reserve the full-price Analytics tier for the telemetry your dashboards and alerts depend on.
Commitment tiers and retention
If your ingestion is steady and high, commitment tiers (for example a 100 GB per day tier) offer a discounted per-GB rate in exchange for a daily commitment, cutting the effective ingestion price meaningfully versus pure pay-as-you-go. On retention, keep only what you need at full retention and archive or drop older data, since every GB kept past 31 days bills monthly. The same discipline applies to metric alerts: consolidate rules and avoid alerting on every time-series of every resource when a few key signals would do, echoing the broader observability cost tradeoffs.
Keeping monitoring cost honest
Review ingestion by source monthly to find the noisy tables, right-tier them, and prune retention. The goal is not less visibility but less waste: unqueried logs and redundant alerts add cost without adding insight. Price your monitoring configuration, including expected ingestion volume, against the resource catalog so observability cost is planned before the logs start flowing rather than discovered on a surprising monthly bill.
FAQ
What drives Azure Monitor cost?
Mainly Log Analytics data ingestion at about $2.30 per GB for Analytics Logs, plus metric alert rules at roughly $0.10 per monitored time-series per month, log alert rules, and data retention beyond the free 31 days at about $0.10 per GB per month. Platform metrics are free. Ingestion volume from verbose logs and high-cardinality telemetry is usually the largest and most controllable cost.
How do I reduce Azure Monitor ingestion cost?
Filter at the source by sending only logs you actually query, drop debug and verbose categories in production, sample high-frequency traces, and avoid duplicating data into multiple workspaces. Route high-volume, rarely queried streams to Basic Logs at about $0.50 per GB instead of Analytics Logs at $2.30. The cheapest gigabyte is the one you never ingest.
What are Basic Logs in Azure Monitor?
Basic Logs is a lower-cost ingestion tier at roughly $0.50 per GB, about 80 percent cheaper than the Analytics tier, intended for high-volume data you rarely query interactively and do not alert on. It has limited query capability and shorter interactive retention, so route verbose, low-value streams there while keeping dashboards and alerts on full-price Analytics Logs.
Do commitment tiers save on Azure Monitor?
Yes, when ingestion is steady and high. Commitment tiers such as a 100 GB per day tier offer a discounted per-GB rate in exchange for a daily commitment, cutting the effective ingestion price meaningfully versus pure pay-as-you-go. If your daily ingestion reliably exceeds a tier's threshold, committing to it lowers the rate on all ingested data.
How does C3X help with Azure Monitor cost?
C3X prices your monitoring configuration from Terraform before you deploy, including Log Analytics workspaces and their expected ingestion, so observability cost is visible in the pull request. That helps you choose log tiers, retention, and alert rules deliberately at design time rather than discovering a verbose logging setup is ingesting tens of gigabytes a day on the monthly bill.
What to do next
Plan Azure Monitor cost before the logs flow. C3X reads your Terraform and prices your resources against a live catalog. Start with the quickstart.
Share this post
Try C3X on your own Terraform
Free and open source. No API key required. One command to install, one command to estimate.