Overview
The Azure Monitor AI connector lets Rootly AI investigate Azure resources with Microsoft’s public Azure Monitor, Log Analytics, Resource Manager, Resource Graph, and Resource Health APIs. Rootly calls those APIs directly; you don’t need to deploy or operate an MCP server.Before You Start
You’ll need:- A Microsoft Entra administrator who can grant tenant-wide admin consent to the Rootly enterprise application.
- Permission to look up the Rootly enterprise application in Microsoft Entra, or its tenant-specific service-principal object ID from your Entra administrator.
- Permission to assign Azure roles at the scopes Rootly AI will investigate.
- Rootly admin permission to manage AI connectors.
- The tenant ID and subscription IDs for the Azure environment.
- The workspace ID and full Azure Resource Manager ID for each Log Analytics workspace.
- The full Azure Resource Manager ID for every resource Rootly AI may inspect.
- A decision about which Azure evidence capabilities to enable.
Connect Azure Monitor
Grant Microsoft Entra admin consent
Collect the Azure scope
az account set and resource-discovery commands for every selected subscription in the configured tenant.Keep these IDs for the self-serve Rootly form; you don’t need to send them to Rootly. Share them with your Rootly account team only if you request help validating a narrower RBAC assignment or troubleshooting setup.A workspace requires both identifiers. The workspace ID selects the Logs API endpoint; the full resource ID authorizes table and schema discovery through Azure Resource Manager.The v0 Deployments capability supports resource-group-scoped deployments. az deployment group list returns the required deployment IDs; subscription- and management-group-scoped deployment IDs aren’t supported.Assign read-only Azure access
az ad sp show reads the tenant’s service-principal directory through Microsoft Graph. If your signed-in account can’t perform that lookup, ask an Entra administrator to provide the Rootly enterprise application’s Object ID, then set ROOTLY_SERVICE_PRINCIPAL_ID to that value directly. The application ID and object ID are different.Subscription scope supports the complete connector, including subscription-level alerts and Resource Graph changes. For narrower resource-group or resource assignments, tell your Rootly account team which capabilities you need so the reduced scope can be tested before activation.Monitoring Reader grants read access without configuration changes. Don’t grant Monitoring Contributor. Microsoft documents the permissions in Roles, permissions, and security in Azure Monitor.Choose capabilities
Configure the connector in Rootly
- Microsoft Entra tenant ID — the tenant where you granted consent.
- Authorized subscription IDs — one subscription UUID per line.
- Log Analytics workspaces — one
workspace UUID | full workspace resource IDpair per line. - Authorized Azure resource IDs — one full resource ID per line, including each resource-group-scoped deployment ID Rootly AI may inspect.
- Data the agent may read — select only the capabilities responders need. At least one is required.
Run a smoke investigation
- “Which service had the highest failed-request rate in the last hour?”
- “What changed on this resource in the 15 minutes before the first failure?”
- “Did an Azure deployment operation fail before the latency increase?”
- “Azure logs are missing for this resource. Where are its diagnostic settings routing telemetry?”
- “Do Azure Monitor alerts, Resource Health, logs, and metrics agree about the impact?”
- “Why didn’t this Azure alert page anyone? Check whether the rule, processing rules, and action-group delivery path are configured.”
- “Trace this Application Insights operation ID across requests, dependencies, exceptions, and traces. Which service failed?”
- “Are this AKS workload’s pods restarting, emitting warning events, or logging errors?”
- “Could a Service Health incident or planned maintenance explain the symptoms?”
What Rootly AI Can Read
The connector exposes these read-only operations:- List the subscriptions, resources, and Log Analytics workspaces in the Rootly allowlist.
- Discover live Log Analytics tables and retrieve the exact schema for one table.
- Run KQL against one authorized workspace.
- Discover metric definitions and query metric series for one authorized resource.
- List Azure Monitor alert instances.
- Inspect alert rules, referenced action groups, receiver counts, and alert processing rules without returning receiver addresses or webhook URLs.
- List Activity Log events and Resource Graph changes.
- Correlate Activity Log events and resource changes before an event.
- List deployment operations for an explicitly authorized deployment ID.
- Read current Resource Health.
- List subscription-scoped Azure Service Health events.
- Read diagnostic settings.
- Inspect AKS pod state, restart counts, warning events, and container logs from Container Insights telemetry.
- Trace one Application Insights operation across requests, dependencies, exceptions, and traces, prioritizing failures over routine trace messages.
Scope and Safety Limits
Azure RBAC remains authoritative. Rootly adds the following limits before making a request:Interpreting Empty Results
An empty Azure response is evidence about the query, not proof that a service is healthy.- No alerts means Azure Monitor returned no matching alert instances for that filter and time range.
- No Service Health events means Azure returned no matching subscription events in the selected window; it isn’t proof that the platform or every dependency was healthy.
- No Activity Log events means no matching control-plane events were visible in that window.
- No Resource Graph changes is inconclusive because Azure may omit or delay some change details.
- No diagnostic settings means that resource has no resource-level diagnostic export. Telemetry can still arrive through another path, including Application Insights.
- A table definition confirms that the table exists, not that it contains recent rows.
- An unknown or absent Resource Health state is inconclusive.
- No AKS workload rows can mean there was no matching activity, Container Insights wasn’t configured, or telemetry wasn’t available. This connector doesn’t query the live Kubernetes API.
- No rows for an Application Insights operation ID can mean the ID or time window was wrong, sampling omitted telemetry, or the workspace didn’t receive that operation.
Troubleshooting
Microsoft Entra authentication fails
Microsoft Entra authentication fails
Logs fail but metrics work
Logs fail but metrics work
Microsoft.OperationalInsights/workspaces/query/*/read as the permission required to query a workspace.A workspace or resource is rejected
A workspace or resource is rejected
A query returns too much data
A query returns too much data
Frequently Asked Questions
Do I need to host an Azure MCP server?
Do I need to host an Azure MCP server?
Does Rootly store my Azure client secret?
Does Rootly store my Azure client secret?
Can Rootly AI change Azure resources?
Can Rootly AI change Azure resources?
Is this the same as configuring an alert source?
Is this the same as configuring an alert source?
Can I connect multiple Azure tenants?
Can I connect multiple Azure tenants?