Skip to content

Latest commit

 

History

History
220 lines (179 loc) · 5.52 KB

File metadata and controls

220 lines (179 loc) · 5.52 KB
title Monitor
description Get started with Azure Monitor on LocalStack
template doc

import AzureFeatureCoverage from "../../../../components/feature-coverage/AzureFeatureCoverage";

Introduction

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.

Getting started

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.

:::note As an alternative to using the azlocal CLI, users can run:

azlocal start-interception

This command points the az CLI away from the public Azure management REST API and toward the LocalStack for Azure emulator API. To revert this configuration, run:

azlocal stop-interception

This reconfigures the az CLI to send commands to the official Azure management REST API. At this time, there is no full parity between azlocal and az commands after running az start-interception. Therefore, this technique is not fully interchangeable. :::

Create a resource group

Create a resource group to contain your Monitor demo resources:

azlocal group create \
  --name rg-monitor-demo \
  --location westeurope
{
  "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

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

azlocal storage account create \
  --name stmonitordoc79 \
  --resource-group rg-monitor-demo \
  --location westeurope \
  --sku Standard_LRS
{
  ...
  "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 activity logs

List recent activity logs from the subscription:

azlocal monitor activity-log list --max-events 5
[
  {
    "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",
      ...
    },
    ...
  },
  ...
]

Create and inspect diagnostic settings

Get the resource group resource ID:

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

Create diagnostic settings for the resource group:

azlocal monitor diagnostic-settings create \
  --name rg-monitor-demo \
  --resource "$RESOURCE_ID" \
  --storage-account stmonitordoc79 \
  --logs '[{"category":"Administrative","enabled":true}]'
{
  "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:

azlocal monitor diagnostic-settings show \
  --name rg-monitor-demo \
  --resource "$RESOURCE_ID"
{
  "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 and delete diagnostic settings

Update diagnostic settings to include an additional category:

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

Delete the diagnostic setting:

azlocal monitor diagnostic-settings delete \
  --name rg-monitor-demo \
  --resource "$RESOURCE_ID"

API Coverage