An Azure service that is used to collect, analyze, and act on telemetry data from Azure and on-premises environments.
Hello PawelD
Thank you for posting your query on Microsoft Q&A platform.
It sounds like your Data Collection Rule is heart-beating fine but your custom “% Free Space” performance counter isn’t flowing from most of your VMs.
Please have a look into below provided checklist you can run through:
1. Confirm you’re on the latest AMA extension:
• In the portal, go to each VM’s Extensions blade and enable automatic upgrades for AzureMonitorWindowsAgent.
• If a VM shows “transitioning” or “corrupted,” RDP in, delete the registry key
HKLM\SOFTWARE\Microsoft\AzureMonitorAgent\Secrets\PersistenceKeyCreated
then restart the AzureMonitorAgent service.
• Failing that, remove and reinstall via PowerShell:
#Remove
Remove-AzVMExtension -ResourceGroupName RG -VMName MyVM -Name AzureMonitorWindowsAgent -Force
# Reinstall
Set-AzVMExtension -ResourceGroupName RG -VMName MyVM -Name AzureMonitorWindowsAgent `
-Publisher Microsoft.Azure.Monitor -Type AzureMonitorWindowsAgent -TypeHandlerVersion 1.0 `
-EnableAutomaticUpgrade $true
2. Verify your DCR configuration & VM associations :
• In Azure Portal → Monitor → Data Collection Rules → select your DCR → VM associations
• Make sure all 14 VMs are listed, in the same region as your Log Analytics workspace and (if used) your Data Collection Endpoint.
3. Validate the counter locally On each affected VM, run the below command:
Get-Counter '\LogicalDisk(_Total)\% Free Space'
You want a valid output there with no errors, if that fails, the counter path is wrong or missing.
4. Turn on DCR diagnostics & metrics:
• In your DCR’s Diagnostic settings, send allLogs to a Log Analytics workspace.
• Query the DCRLogErrors table:
DCRLogErrors
| where _ResourceId contains "your-dcr-name"
Look for transformation or ingestion errors.
• In Metrics Explorer, plot Logs Rows Dropped per Min to see if rows are being filtered or dropped.
5. Check network & proxy rules:
Even though heartbeats are passing, confirm there’s no NSG or firewall blocking port 443 to:
• *.monitor.azure.com
• *.ods.opinsights.azure.com
From each VM: Run below commands: If you use private endpoints or a proxy, make sure the AMA traffic (“Arc,AMA”) is bypassed.
Test-NetConnection monitor.azure.com -Port 443
Test-NetConnection <yourRegion>.ods.opinsights.azure.com -Port 443
6. Investigate the “Cannot enable – Unable to determine if OS is supported” message :
• Verify your Windows Server build/version is in the supported list for AMA.
• If these VMs were deployed from a custom image or clone, clear out old persistence keys (see step 1) so each VM reports uniquely.
**7. **Validate ingestion in Log Analytics:
After making changes, wait 5–10 minutes then run: You should see recent timestamps for all your VMs.
Perf
| where TimeGenerated > ago(15m)
| where CounterName == '% Free Space'
| summarize Last = max(TimeGenerated) by Computer
If you still don’t see data, can you share:
• The exact AzureMonitorWindowsAgent version on a working VM vs a non-working VM
• The OS build/version of your VMs
• Any errors you find in the DCRLogErrors table
• The “Logs Rows Dropped per Min” metric for your DCR
• Confirmation that your workspace, DCR and DCE (if used) are all in the same Azure region
That info will help narrow down the root cause. Hope this helps!\
Thanks,
Suchitra.