Skip to content
Get Started for Free

Monitor

Azure Monitor is a platform service for collecting, analyzing, and acting on telemetry from Azure resources and applications. It helps you inspect activity logs and configure diagnostic settings for operational visibility. These capabilities are useful for troubleshooting, auditing, and observability workflows.

LocalStack for Azure provides a local environment for building and testing applications that make use of Azure Monitor. The supported APIs are available on our API Coverage section, which provides information on the extent of Monitor’s integration with LocalStack.

This guide is designed for users new to Azure Monitor and assumes basic knowledge of the Azure CLI and our azlocal wrapper script.

Start your LocalStack container using your preferred method. For more information, see Introduction to LocalStack for Azure.

Create a resource group to contain your Monitor demo resources:

Terminal window
azlocal group create \
--name rg-monitor-demo \
--location westeurope
Output
{
"id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg-monitor-demo",
"location": "westeurope",
"managedBy": null,
"name": "rg-monitor-demo",
"properties": {
"provisioningState": "Succeeded"
},
"tags": null,
"type": "Microsoft.Resources/resourceGroups"
}

Create a storage account to use as a diagnostic settings destination:

Terminal window
azlocal storage account create \
--name stmonitordoc79 \
--resource-group rg-monitor-demo \
--location westeurope \
--sku Standard_LRS
Output
{
...
"id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg-monitor-demo/providers/Microsoft.Storage/storageAccounts/stmonitordoc79",
...
"name": "stmonitordoc79",
...
"primaryEndpoints": {
"blob": "https://stmonitordoc79blob.localhost.localstack.cloud:4566",
...
"table": "https://stmonitordoc79table.localhost.localstack.cloud:4566",
...
},
...
}

List recent activity logs from the subscription:

Terminal window
azlocal monitor activity-log list --max-events 5
Output
[
{
"caller": "00000000-0000-0000-0000-000000000000",
"category": {
"value": "Administrative",
...
},
"eventName": {
"value": "EndRequest",
...
},
"eventTimestamp": "2026-03-17T07:34:43.230050",
"resourceGroupName": "rg-monitor-demo",
"resourceProviderName": {
"value": "Microsoft.Resources",
...
},
...
},
...
]

Get the resource group resource ID:

Terminal window
RESOURCE_ID=$(azlocal group show \
--name rg-monitor-demo \
--query id \
--output tsv)

Create diagnostic settings for the resource group:

Terminal window
azlocal monitor diagnostic-settings create \
--name rg-monitor-demo \
--resource "$RESOURCE_ID" \
--storage-account stmonitordoc79 \
--logs '[{"category":"Administrative","enabled":true}]'
Output
{
"id": "subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg-monitor-demo/providers/microsoft.insights/diagnosticSettings/rg-monitor-demo",
"name": "rg-monitor-demo",
"logs": [
{
"category": "Administrative",
"enabled": true
}
],
"metrics": [],
"storageAccountId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg-monitor-demo/providers/microsoft.Storage/storageAccounts/stmonitordoc79",
"type": "microsoft.insights/diagnosticSettings"
}

Get the diagnostic setting:

Terminal window
azlocal monitor diagnostic-settings show \
--name rg-monitor-demo \
--resource "$RESOURCE_ID"
Output
{
"id": "subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg-monitor-demo/providers/microsoft.insights/diagnosticSettings/rg-monitor-demo",
"name": "rg-monitor-demo",
"logs": [
{
"category": "Administrative",
"enabled": true
}
],
"metrics": [],
...
}

Update diagnostic settings to include an additional category:

Terminal window
azlocal monitor diagnostic-settings update \
--name rg-monitor-demo \
--resource "$RESOURCE_ID" \
--logs '[{"category":"Administrative","enabled":true},{"category":"Security","enabled":false}]'
Output
{
"name": "rg-monitor-demo",
"logs": [
{
"category": "Administrative",
"enabled": true
},
{
"category": "Security",
"enabled": false
}
],
...
}

Delete the diagnostic setting:

Terminal window
azlocal monitor diagnostic-settings delete \
--name rg-monitor-demo \
--resource "$RESOURCE_ID"
OperationImplemented
Page 1 of 0
Was this page helpful?