Azure Monitor — which pieces to use in 2026, where each signal goes, and what has been retired
The current Azure Monitor building blocks and the retired ones an agent must not reach for — workspaces, workspace-based Application Insights with the Microsoft OpenTelemetry Distro, metrics, diagnostic settings, Azure Monitor Agent and DCRs, Logs Ingestion, alerts — and the retirements of classic Application Insights, the Log Analytics agent, the Azure Diagnostics extension, the HTTP Data Collector API, diagnostic settings storage retention and the @azure/monitor-query package.
markdownreferencev1T0Z1-7X1Sstage: designtrust: officialservice: monitorinterface: anyAzure Monitor overviewwhich Azure Monitor serviceLog Analytics workspaceApplication Insights workspace-basedclassic Application Insights retired February 29 2024Microsoft OpenTelemetry Distro@microsoft/opentelemetry@azure/monitor-opentelemetryLog Analytics agent MMA retired August 31 2024MMA upload may stop after March 2 2026Azure Diagnostics extension retired March 31 2026HTTP Data Collector API end of support September 14 2026Data Collector API TLS 1.2 March 1 2026diagnostic settings storage retention disabled September 30 2025@azure/monitor-query deprecated@azure/monitor-query-logs@azure/monitor-query-metricsAzure Monitor Agentdata collection ruleLogs Ingestion APIplatform metricsresource logsactivity log
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.