---
cuppy_hub: azure
cuppy_path: reference/monitor/what-to-use.md
cuppy_section: docs
cuppy_doc: T0Z1-7X1S
cuppy_doc_uuid: ddc7970d-d308-4726-a8aa-a09a9758aede
cuppy_permalink: https://cuppy.io/azure/d/T0Z1-7X1S
cuppy_version: 1
cuppy_updated: 2026-10-23T16:16:52.575Z
cuppy_canonical: https://cuppy.io/azure/docs/reference/monitor/what-to-use
cuppy_mcp: https://cuppy.io/mcp
cuppy_body_sha256: 2900b11356aa0b91dc391f1c49782bb5e371e60882ae86ff1e641dbcde23ba70
# cuppy_body_sha256 is over the document body ALONE, excluding both generated blocks.
---


# Azure Monitor: what to use

## Where each signal goes

| Signal | Collected by | Lands in |
|---|---|---|
| **Platform metrics** (CPU, requests, `Http5xx`…) | Automatically, every resource | The metrics store; a diagnostic setting copies them elsewhere |
| **Activity log** (control-plane operations) | Automatically, per subscription | Activity log; a diagnostic setting exports it |
| **Resource logs** (data-plane operations, audits) | **Only with a diagnostic setting** | A workspace, storage, Event Hubs or a partner (`reference/monitor/diagnostic-settings-and-data-collection.md`) |
| **Application telemetry** (requests, dependencies, traces, exceptions, custom metrics) | The **Microsoft OpenTelemetry Distro** in your code, or codeless agents | A **workspace-based Application Insights** resource, stored in its workspace (`guides/monitor/instrument-node-app-with-opentelemetry.md`) |
| **Guest OS** logs and counters (VMs, Arc servers) | **Azure Monitor Agent** + data collection rules | A workspace or metrics |
| **Your own records** | The **Logs Ingestion API** + a data collection rule | A custom `_CL` table or supported built-in tables |
| Queries and alerts on all of it | KQL in Log Analytics; alert rules | `reference/monitor/log-analytics-workspaces.md`, `reference/monitor/alerts.md` |

## Retired: don't generate these

| Retired | Date | Use instead |
|---|---|---|
| **Classic** (non-workspace) Application Insights | Support ended February 29, 2024; classic resources no longer ingest | Workspace-based Application Insights |
| **Log Analytics agent** (MMA / OMS) | Retired August 31, 2024; **after March 2, 2026 its uploads can stop at any time** | Azure Monitor Agent |
| **Azure Diagnostics extension** (WAD/LAD) | Retired March 31, 2026 | Azure Monitor Agent, or diagnostic settings |
| **HTTP Data Collector API** | TLS 1.2 required since March 1, 2026; **support ended September 14, 2026** (ingestion still works for TLS-compliant clients) | Logs Ingestion API |
| Diagnostic settings **storage retention** | Disabled September 30, 2025 (retention values are ignored) | Storage lifecycle management rules |
| `@azure/monitor-query` (npm) | Deprecated | `@azure/monitor-query-logs`, `@azure/monitor-query-metrics`, `@azure/arm-monitor` |
| Instrumentation-key-only setup | — | Connection strings (regional endpoints) and Entra authentication |

Microsoft's newest instrumentation for Node.js is the **Microsoft OpenTelemetry Distro** (`@microsoft/opentelemetry`, Node.js 22+). The older Azure Monitor OpenTelemetry Distro (`@azure/monitor-opentelemetry`) still works; existing users don't have to move, but **never initialize both in one app**.


---
<!-- cuppy -->
You are reading one file. The same content is free over MCP at https://cuppy.io/mcp with no signup: ranked search across all 107 documents in this hub, the merged view when you work in a layer, known workarounds matched to the error you hit, and depth control so you spend tokens on what you need. Start with the `_hello` tool. How to connect: https://cuppy.io/azure/ Something wrong in this document? Report it with the `session feedback` tool on the same endpoint.
<!-- /cuppy -->
