A Microsoft cloud service that enables deployment of Azure services across hybrid and multicloud environments.
WDAC code integrity events can be collected into Log Analytics with Azure Monitor Agent on Arc-enabled devices, but only if a valid Data Collection Rule (DCR) is correctly targeting the machines and a supported log source is configured. The behavior described (extension shows Succeeded, AMA service running, but no %ProgramData%\Azure Monitor folder and no data) indicates that AMA is installed but not yet configured by any effective DCR.
Use the following checks and steps:
- Verify AMA and Arc prerequisites
- Confirm the machine is shown as an Azure Arc–enabled server in Azure and is in the same subscription/region scope where the DCR is defined.
- Ensure the Azure Monitor Agent extension status is
Succeededon the Arc resource (already done) and that the Azure Monitor Agent service is running.
- Confirm a DCR is actually applied to the device
- In the Azure portal, open the Data Collection Rule that was created.
- On the Resources tab, verify that the Arc-enabled server is explicitly selected. If not, add it and save.
- If using scope-based association (resource group/subscription), ensure the Arc server is within that scope.
- After saving, allow a few minutes for the agent to contact the Azure Monitor Configuration Service (AMCS) and download the configuration.
- Validate DCR configuration for log collection
- In the DCR Collect tab, confirm that a log data source is configured that matches what is on the device:
- For custom text logs (for example, exported WDAC logs written to a file), configure Custom Logs via AMA and specify the correct File pattern path and table name ending with
_CL. - Ensure the destination is a Log Analytics workspace and that the workspace is reachable.
- For custom text logs (for example, exported WDAC logs written to a file), configure Custom Logs via AMA and specify the correct File pattern path and table name ending with
- For custom logs, first create the destination table in the workspace with the required schema:
-
TimeGenerated(DateTime) -
RawData(String) orMessage(String) if using a forwarder.
-
- Check that AMA has pulled the DCR
- Once the DCR is correctly associated, AMA contacts AMCS to fetch the configuration. When this succeeds, the agent creates its configuration and data directories under
%ProgramData%. - If
%ProgramData%\Azure Monitor(or similar AMA folders) still does not appear after 10–15 minutes, it usually means:- No effective DCR is associated with the Arc resource, or
- The machine cannot reach Azure Monitor endpoints (network/firewall issue).
- Network and connectivity
- Ensure outbound connectivity from the Arc server to Azure Monitor endpoints (logs endpoint and AMCS). If egress is restricted, AMA cannot download DCRs or send data.
- Licensing vs. collection method
- Upgrading to Defender for Endpoint Plan 2 is not required for AMA itself to collect logs into Log Analytics. Plan 2 is needed for advanced Defender features and built-in WDAC reporting, but AMA + Arc + DCR is a valid and supported way to ingest logs into a Log Analytics workspace.
- The key is to ensure that WDAC events are actually written to a source that AMA can read (for example, a text log file configured as a Custom Log via AMA) and that the DCR is correctly configured and applied.
- Troubleshooting AMA on Arc
- Use the Azure Monitor agent troubleshooting guidance for Windows Arc-enabled servers to verify:
- The agent can reach AMCS and the logs endpoint.
- The Arc instance metadata (HIMDS) is available and the resource identity is correct.
- If AMA cannot reach AMCS, it will not initialize fully and no configuration or
%ProgramData%structure will be created.
Once the Arc server is correctly associated with a DCR that collects from a valid WDAC log source and network connectivity is confirmed, AMA will initialize, create its configuration under %ProgramData%, and begin sending data to the Log Analytics workspace. WDAC events will then be queryable in the target table (for example, the custom _CL table configured in the DCR).
References: