AzureLive-testedattested

Azure Monitor & Log Analytics Baseline

Central Log Analytics workspace, diagnostic-settings-everywhere pattern, action groups and starter alert pack (metric + log + activity).

terraformAzureazure

Compare Monitoring & Observability across clouds →

Part of: Azure Production Landing Zone

azure-monitor-baselinevizier v1.2.0

Verification

Live-tested

Really deployed to a cloud sandbox, verified against its outputs and assertions, then destroyed - with the teardown confirmed.

Conformance

  • Static validation (fmt · validate · tflint)
  • Security scan clean (Checkov)
  • Plan test superseded by live test

Provenance

Functional

  • Live-tested - applied, verified, destroyed

Last verified 2026-06-29 · how we verify

Verify this download

cosign · sha-256

Don't take our word for it. Every release is signed with cosign - check the bytes against our pinned public key before you trust them.

# 1. Our pinned public key - fetch once, trust out-of-band
curl -O https://www.iac-bazaar.com/cosign.pub

# 2. This module's Sigstore bundle
curl -o azure-monitor-baseline-1.0.0.sigstore.json \
  https://www.iac-bazaar.com/api/artifacts/azure-monitor-baseline/signature

# 3. Verify the tarball you downloaded
cosign verify-blob \
  --key cosign.pub \
  --bundle azure-monitor-baseline-1.0.0.sigstore.json \
  azure-monitor-baseline-1.0.0.tar.gz
# → Verified OK

# 4. (optional) confirm the checksum too
echo "401a67b0344b4b7e965722e79a9031de60b24bcc0ddc8685090139fdd897b52c  azure-monitor-baseline-1.0.0.tar.gz" | sha256sum -c

Use it from the registry

terraform · opentofu
module "monitor_baseline" {
  source  = "www.iac-bazaar.com/iac-bazaar/azure-monitor-baseline/azure"
  version = "1.0.0"
}

Needs a registry token from /account/tokens. The module itself is free; the account is what identifies you. Full setup: registry docs.

Cite it in your README

badge · attribution

Paste this beside the module in the repository that uses it. The badge is rendered from this artifact's verification record, so it reads live-tested because the record says so, and the link lands on this page.

README.md, GitLab, Gitea
[![IaC Bazaar: live-tested](https://www.iac-bazaar.com/api/artifacts/azure-monitor-baseline/badge)](https://www.iac-bazaar.com/catalog/azure-monitor-baseline?utm_source=syndication&utm_medium=readme&utm_campaign=artifact)

Terraform module 1.0.0, live-tested on IaC Bazaar: [Azure Monitor & Log Analytics Baseline](https://www.iac-bazaar.com/catalog/azure-monitor-baseline?utm_source=syndication&utm_medium=readme&utm_campaign=artifact)

```hcl
module "monitor_baseline" {
  source  = "www.iac-bazaar.com/iac-bazaar/azure-monitor-baseline/azure"
  version = "1.0.0"
}
```

Preview:IaC Bazaar: live-tested

Inputs & outputs

Create a free account to read this module's contract

The declared contract - every input name, type, default and description, plus every output - is shown to signed-in accounts, not to anonymous visitors.

A free account sees the contract of every module in the catalogue. There is no subscription and nothing to buy - the modules are free to download, and they run under Vizier.

Documentation

azure-monitor-baseline

A central Log Analytics workspace plus the supporting monitoring scaffold: optional workspace-based Application Insights, action groups, a diagnostic-settings-everywhere pattern (ship logs + metrics from any resource into the workspace), and a starter alert pack — static metric alerts and scheduled KQL query alerts wired to your action groups.

Secure defaults & design

  • Entra-only workspace auth (local_authentication_enabled = false).
  • Bounded retention (90 days) and an optional daily ingestion cap (daily_quota_gb) so a runaway log source can't blow up the bill.
  • Diagnostic settings default to the allLogs category group + AllMetrics. Per-resource-type diagnostic categories differ across Azure; using the provider-discovered category group sidesteps the discovery problem and keeps coverage from silently drifting as resource types add categories. You can still pin explicit log_categories per setting.
  • Application Insights is workspace-based (the only non-deprecated model) with local auth disabled by default.
  • Alerts reference action groups by their map key, and a precondition fails the plan if an alert points at an action group you didn't define — no silent no-op alerts.

Works with Terraform and OpenTofu (>= 1.6), azurerm provider >= 4.0, < 5.0.

Requirements

RequirementVersion
Terraform / OpenTofu>= 1.6
hashicorp/azurerm>= 4.0, < 5.0

License

Commercial — LicenseRef-IaCBazaar-Commercial. © IaC Bazaar. Original work (not derived from a third-party module).

Usage code & full reference need an account

The complete copy-paste usage, the full input/output reference, and operational notes are free with an account - shown here and bundled in the download. Sign in and this section fills in.

  • Usage
  • Inputs
  • Outputs
  • Notes

Related modules

Static validatedLive test pending

azure-grafana

API keys are long-lived, unscoped bearer tokens that read every dashboard and end up in CI variables; the login page is public by default; and the Essential SKU is a single instance with no SLA. Keys off, login over a private endpoint, Standard SKU zone-redundant, fixed outbound addresses for data-source allow lists, and the identity it reads with exported for its Monitoring Reader grant.

View module
Static validatedLive test pending

azure-sentinel

retention_in_days defaults to 30, against intrusions usually discovered months later - so the first question, when did this start, gets silence rather than an answer. daily_quota_gb is a trap both ways and has no safe default, so the module makes you choose. And onboarding Sentinel connects no data source at all.

View module
Static validatedLive test pending

azure-flow-logs

enabled = false creates a flow log that logs nothing; a retention policy that is off keeps the JSON blobs until somebody deletes the storage account; and without Traffic Analytics nobody ever opens them. Every target is created enabled, retention defaults to 90 days, and Traffic Analytics is on whenever a workspace is given - raw blobs with no aggregation have to be asked for.

View module
Static validatedLive test pending

azure-application-insights

When the daily cap is hit everything after it is discarded until midnight and the dashboard goes flat, and the one email that says so has its own switch. Ingestion sampling stacks on the SDK's sampling and the metrics rescale. Both are refused without being named, and availability tests are created with the alerts that make an outage reach a person rather than a chart.

View module
Static validatedLive test pending

azure-activity-log

The subscription's Activity Log exported to a Log Analytics workspace, a storage account and/or an Event Hub, because Azure keeps it for ninety days and then forgets. All eight categories go; dropping Administrative, Security or Policy, the three an investigation asks for, is accepted by name. The workspace's retention is the workspace's setting; the years live in the storage account.

View module
Static validatedLive test pending

azure-uptime-check

Application Insights Standard tests with the metric alert that makes them tell somebody. Microsoft says a test without an alert rule only notifies the portal, recommends five locations and alerting at locations minus two, and retires URL ping tests on 30 September 2026. The module follows all three, checks certificate lifetime, and lets content, not only a 200, decide what up means.

View module