Microsoft Sentinel Data Connector Shows Disconnected But Is Sending Logs: How to Diagnose It
A troubleshooting guide for when the Azure portal reports a Sentinel data connector as disconnected while data is actually landing in the workspace

Proactive Security for the AI Era
NodeZero continuously and autonomously pentests infrastructure, identity, cloud, and now web applications, chaining weaknesses across every domain the way real attackers do. Every finding ships with replayable proof showing exploitable business impact, not theoretical risk.
A Microsoft Sentinel data connector shows disconnected in the Azure portal, or expected logs look delayed or missing, but the workspace is actually still receiving data. This is a documented, confirmed-by-Microsoft pattern, not a rare edge case: the portal's connector health check and the actual state of your log tables are two different signals that can disagree, and treating a disconnected badge as proof that ingestion has stopped leads teams to chase the wrong problem. This guide separates the two most common explanations documented by Microsoft, a health check that looks at the wrong signal versus genuine but normal ingestion delay, and gives you the specific KQL and portal steps to tell which one you actually have before you touch any configuration.
Causes: why the portal and the data can disagree
Microsoft's own Q&A and documentation point to a small set of realistic explanations, and they are not mutually exclusive; you can have more than one at once.
- The connector's health check evaluates a different signal than actual ingestion. For Azure Monitor Agent (AMA) based connectors, such as Common Event Format via AMA, the connected status is tied to whether the connector has an associated Data Collection Rule (DCR), not to whether events are actually arriving in the destination table. If the DCR is missing, misconfigured, or was never linked correctly, the portal reports disconnected even while logs land in the workspace, for example through a separate legacy connector still running in parallel against the same table.
- A permission or API-level change breaks the health check without breaking ingestion. A role assignment change on the Data Collection Rule, Data Collection Endpoint, or workspace, or an API change on Microsoft's side, can cause the connector page's own status query to fail or return an unhealthy result, while the underlying pipeline, the AMA extension on the source machine, the syslog daemon feeding it, keeps functioning independently of that status check.
- Normal ingestion delay is being mistaken for a connector failure. Every data type has its own ingestion delay between when an event is generated and when it is actually queryable in the workspace. If you are checking for "recent" data using a narrow time window right after setup, or during a period of high volume, you can see what looks like a gap or a stalled connector when the pipeline is simply behind by its normal margin, not broken.
- The portal's own status display is cached and slow to refresh. The connector health widget polls periodically rather than reading live state on every page load, so a real but already-resolved blip, or a DCR association you just fixed, can continue to display as disconnected for a period after the underlying problem is gone.
Diagnostics: confirm what the data is actually doing, then check the health check itself
Do these in order. The point is to establish ground truth in the data tables first, before you trust or distrust what the portal's status badge is telling you.
- Query the actual destination table directly. For a CEF or Syslog connector:
CommonSecurityLog | where TimeGenerated > ago(1h) | summarize count() by DeviceVendor, DeviceProduct(orSyslogfor the raw table). For AMA-based heartbeat or agent health signals:Heartbeat | where TimeGenerated > ago(1h) | summarize count() by Computer. If rows are coming in, ingestion is not actually stopped, whatever the portal badge says. - Check whether a Data Collection Rule is actually associated with the connector. In the Sentinel Data connectors page, open the connector's configuration and confirm a DCR is linked; if you are running an AMA-based connector, this is the specific check Microsoft's own support staff pointed to as the cause of a disconnected-but-sending-logs report.
- Measure real ingestion delay instead of guessing. Use the Kusto
ingestion_time()function against the table in question:TableName | extend delay = ingestion_time() - TimeGenerated | summarize avg(delay), percentile(delay, 95). Compare this against the connector's expected delay rather than assuming any lag means a broken pipeline. - Check the Workspace Usage Report's End-to-End Latency dashboard, built into Sentinel/Log Analytics, which shows measured latency by table across your workspace without you having to hand-write the query yourself.
- Check for a duplicate or parallel legacy connector. If both a legacy agent-based connector and an AMA-based connector are configured against the same data type, one can be actively sending data while the other's status check independently reports disconnected, which is exactly the scenario Microsoft's Q&A thread describes.
- Check the source-side agent extension health directly, not just the portal. On the VM sending logs: for Linux,
systemctl status azuremonitoragent; in the Azure portal, the VM's Extensions blade should show the AzureMonitorAgent (or AzureMonitorLinuxAgent/AzureMonitorWindowsAgent) extension in a provisioning-succeeded, running state.
Briefings like this, every morning before 9am.
Threat intel, active CVEs, and campaign alerts, distilled for practitioners. 50,000+ subscribers. No noise.
Fixes: resolving the actual mismatch
Apply whichever fix matches what your diagnostics actually found; do not apply all of these speculatively.
- If the DCR is missing or misconfigured: create and associate the correct Data Collection Rule with the connector following Microsoft's own "Connect CEF and Syslog via AMA" documentation. This is the specific fix Microsoft support gave for the disconnected-but-sending-logs report, and it directly addresses a health check that was looking at the wrong signal.
- If permissions were the break: verify and restore the role assignments the health check depends on (typically Monitoring Contributor or a DCR-specific role) on the Data Collection Rule, Data Collection Endpoint, and workspace, rather than only re-checking the connector's own settings blade.
- If it is genuine ingestion delay, not a broken connector: do not treat this as a connector outage at all. Instead, adjust the look-back period on any scheduled analytics rules reading that table, and apply the ingestion-time filter pattern Microsoft documents:
TableName | where TimeGenerated >= ago(ingestion_delay + rule_look_back) | where ingestion_time() > ago(rule_look_back). This prevents both missed events (from too-short a look-back) and duplicate alerts (from an extended look-back that overlaps the previous run). - If a legacy connector is redundant: once you have confirmed the AMA-based connector is the sole active pipeline for that data type, retire the legacy connector so its independent status check stops producing a confusing, contradictory reading going forward.
- If the portal status is simply stale: wait out one polling cycle after confirming the underlying fix (DCR association, permission restore) took effect, rather than assuming the fix failed just because the badge has not refreshed yet.
Validation: confirming ingestion is actually healthy, not just that the badge changed
The connector page turning green is not itself proof the underlying problem is resolved; the data table is the source of truth.
- Re-run the direct table query (
CommonSecurityLog,Syslog, or the relevant table) over a rolling recent window, for example the last 15 minutes, at two or three points over the following hour, to confirm continuous rather than one-off ingestion. - Confirm the connector page itself now shows connected, and note how long it took to refresh after your fix, so you have a baseline for how much lag to expect from the status display itself next time.
- If the original trigger was a scheduled analytics rule that seemed to be missing events, check that rule's run history and any incidents around the previously affected window to confirm the gap is actually closed, not just that new data is arriving.
- Re-measure ingestion delay with the
ingestion_time()query a day or two later and compare it against the Workspace Usage Report's latency dashboard, to confirm the delay has settled back into its normal range for that data type rather than continuing to grow.
Failure cases: when the connector status stays wrong, or the data really is missing
Be precise about which of these you are actually looking at, since they call for different next steps.
- DCR is correctly associated and the data table confirms continuous ingestion, but the portal still shows disconnected after 24 hours. This points to a portal display or caching issue rather than a real pipeline problem; it is worth reporting to Microsoft, but it does not require further changes to your data pipeline.
- The direct table query shows genuinely no data, or a real gap, even after your fixes. This means ingestion actually did stop, and you are no longer looking at a false-disconnected scenario. Redirect your troubleshooting to the source side: AMA extension health on the sending host, network connectivity from that host to the Azure Monitor ingestion endpoints, and any firewall or private link configuration that could be blocking the path.
- Measured ingestion delay is far outside the documented norm and keeps growing rather than stabilizing. This is no longer a look-back-period tuning problem; it can indicate throttling, a quota limit, or a genuine upstream processing bottleneck, and needs to be treated as its own investigation rather than solved with a bigger look-back window.
- Two connectors both claim ownership of the same table and give contradictory status. Until you retire the redundant one, expect the status badge to remain an unreliable signal for that data type regardless of what you fix on either connector individually.
Escalation criteria: when to open a case with Microsoft
Escalate to Microsoft support when:
- You have confirmed, with a direct KQL query against the destination table, that ingestion is genuinely healthy, and you have confirmed the DCR association and permissions are correct, but the connector status in the portal still reports disconnected after more than 24 hours.
- The measured ingestion delay from the
ingestion_time()query is significantly outside the range shown in the Workspace Usage Report's own latency dashboard for that table, and it is not trending back down. - You suspect the health check logic itself, not your configuration, is at fault (for example, an AMA connector whose DCR is confirmed correctly associated but whose status still will not clear), which is closer to a product-side issue than something you can fix from your own tenant.
Have ready: the workspace ID, the exact connector name and type, the DCR and Data Collection Endpoint resource IDs, the KQL query and its results showing the destination table's actual state over the affected window, a screenshot or export from the Workspace Usage Report's End-to-End Latency dashboard, and the timestamp when the discrepancy between the portal status and the actual data first appeared.
Once you have confirmed the logs really are landing and the connector status was the misleading signal, the next question, whether the alerts firing on top of that data are worth an analyst's time or are mostly noise, is a separate detection engineering problem. How to Score, Tune, and Retire Noisy SIEM and EDR Detection Rules covers that triage process.
The bottom line
A Microsoft Sentinel connector showing disconnected while logs keep arriving is a confirmed, documented pattern, not a sign your imagination is running away with you. Establish ground truth in the actual data table first with a direct KQL query, then check whether the mismatch is a Data Collection Rule or permissions problem behind the health check, or simply normal ingestion delay for that data type. Fix whichever one your diagnostics actually show, validate against the table itself rather than the portal badge, and escalate to Microsoft only once you have confirmed the data is genuinely fine and the status display itself is the thing that will not clear.
Frequently asked questions
Why does my Microsoft Sentinel connector show disconnected when logs are still arriving?
Microsoft's own support has documented that Azure Monitor Agent based connectors, such as Common Event Format via AMA, check for an associated Data Collection Rule to determine connected status, which is a different signal than whether events are actually reaching the destination table, so the two can disagree.
How do I confirm whether a Sentinel connector is actually sending data, regardless of its portal status?
Query the destination table directly, for example `CommonSecurityLog | where TimeGenerated > ago(1h) | summarize count() by DeviceVendor, DeviceProduct`. If rows are returned, ingestion is happening regardless of what the connector status badge in the portal shows.
What is ingestion delay in Microsoft Sentinel, and can it look like a disconnected connector?
Ingestion delay is the normal gap between when an event is generated and when it becomes queryable in the workspace, and it varies by data type. If you check for very recent data with a narrow time window, this normal delay can look like a stalled or disconnected connector when the pipeline is simply behind by its usual margin.
How do I measure actual ingestion delay for a specific table in Sentinel?
Use the Kusto `ingestion_time()` function: `TableName | extend delay = ingestion_time() - TimeGenerated | summarize avg(delay), percentile(delay, 95)`. You can also check the built-in Workspace Usage Report, which includes an End-to-End Latency dashboard by table.
What fixes a Data Collection Rule related disconnected status in Sentinel?
Create and correctly associate a Data Collection Rule with the affected connector, following Microsoft's Connect CEF and Syslog via AMA documentation. This directly addresses the specific cause Microsoft support identified for a disconnected-but-sending-logs Common Event Format via AMA connector.
When should I open a support case for a Sentinel connector stuck showing disconnected?
Escalate once you have confirmed with a direct KQL query that the destination table is receiving data, confirmed the Data Collection Rule and permissions are correctly configured, and the portal status still will not clear after more than 24 hours, since that points to a display or health-check issue rather than something fixable from your own configuration.
Sources & references
Free resources
Critical CVE Reference Card 2025–2026
25 actively exploited vulnerabilities with CVSS scores, exploit status, and patch availability. Print it, pin it, share it with your SOC team.
Ransomware Incident Response Playbook
Step-by-step 24-hour IR checklist covering detection, containment, eradication, and recovery. Built for SOC teams, IR leads, and CISOs.
Get threat intel before your inbox does.
50,000+ security professionals read Decryption Digest for early warnings on zero-days, ransomware, and nation-state campaigns. Free, daily, no spam.
Unsubscribe anytime. We never sell your data.

Founder & Cybersecurity Evangelist, Decryption Digest
Cybersecurity professional with expertise in threat intelligence, vulnerability research, and enterprise security. Covers zero-days, ransomware, and nation-state operations for 50,000+ security professionals every morning.
