Verify Component Configuration

Telemetry-Based Components

For all components that use the Telemetry Service (DDC, StoreFront™, VDA, PVS, FAS, Session Recording, WEM), the configuration is written to the same registry location and can be verified using the following methods.

Registry Path

All Telemetry-based components share this registry path, managed exclusively by the Telemetry Service:

HKEY_LOCAL_MACHINE\SOFTWARE\Citrix\Telemetry\AOT
<!--NeedCopy-->

Registry Query Commands

Windows-based components (DDC, StoreFront, Windows VDA, PVS, FAS, Session Recording, WEM):

Get-ItemProperty -Path "HKLM:\SOFTWARE\Citrix\Telemetry\AOT"
<!--NeedCopy-->

Linux VDA and Mac VDA:

/opt/Citrix/VDA/bin/ctxreg dump | grep -i AOT
<!--NeedCopy-->

Expected Registry Values

Registry Value Type Expected Value Description
EnableAotDataCollection DWORD 1 AOT is enabled. 0 means AOT is disabled.
AotDataStoreEndpoint REG_SZ : The log server endpoint. Must not be empty.
Role REG_SZ See table below Identifies which Citrix component role(s) are active on this machine.

Expected Role Values by Component

Machine Type Expected Role Value
Delivery Controller only DDC
StoreFront only StoreFront
DDC + StoreFront on the same machine DDC,StoreFront
Windows VDA WVDA
Linux VDA LVDA
Mac VDA MVDA
PVS Server PVS
FAS Server FAS
Session Recording Server SessionRecording
WEM Server WEM

Verify via Telemetry Service Log

In addition to registry checks, confirm that the Telemetry Service has successfully initialized AOT log collection by inspecting the AOT Listener log file.

Log File Location:

C:\ProgramData\Citrix\TelemetryService\AotListener.log
<!--NeedCopy-->

Verification Command:

Select-String -Path "C:\ProgramData\Citrix\TelemetryService\AotListener.log" `
    -Pattern "Adding provider|Start RealTimeAOTTraceSession"
<!--NeedCopy-->

Key Log Entries to Look For:

Log Entry Description
Adding provider [GUID] for AOT Uploading A specific component provider has been successfully registered for AOT log collection.
Start RealTimeAOTTraceSession for [Role] The real-time AOT trace session has been started for the specified component role (e.g., DDC, StoreFront, VDA).

Direct-Upload Components

The following components bypass the Telemetry Service and upload AOT logs directly to the log server. Verification must be performed using component-specific methods.

License Server

Run the following command to confirm the AotServerURL value is populated in the License Server config file:

Select-String -Path "C:\Program Files (x86)\Citrix\Licensing\WebServicesForLicensing\SimpleLicenseServiceConfig.xml" `
    -Pattern "AotServerURL"
<!--NeedCopy-->

Expected Output:

<AotServerURL>https://<log-server-ip>:<port>/ctxlogserver/UploadCitrixLogStream</AotServerURL>
<!--NeedCopy-->

Citrix Workspace App (CWA) for Windows

CWA uses a native registry key to control the AOT collection switch. Verify it is set correctly on the client machine:

Registry Path:

HKEY_LOCAL_MACHINE\SOFTWARE\WOW6432Node\Citrix\Dazzle
<!--NeedCopy-->

Verification Command:

Get-ItemPropertyValue -Path "HKLM:\SOFTWARE\WOW6432Node\Citrix\Dazzle" `
    -Name "AotLogCollectionEnabled"
<!--NeedCopy-->

Expected Output: True

Note:

Even when this registry key is correctly set, CWA AOT logs are only uploaded when a user actively launches a resource. If no uploads are observed, confirm that AOT is enabled on the Delivery Controller side first, and verify that StoreFront has a valid log server address synchronized from Web Studio.

NetScaler® / Citrix Gateway

Verification is performed through the NetScaler CLI.

Step 1 — Verify the Syslog Action exists and is correctly configured:

show audit syslogAction <ActionName>
<!--NeedCopy-->
Field Expected Value
Server IP or FQDN of the AOT log server
serverPort Configured log server port
Transport HTTP
httpEndpointUrl AOT log server URL
httpAuthToken AuthKey value (non-empty)
httpSchemaFile Path to the generated schema file

Step 2 — Verify the Syslog Policy is bound:

show audit syslogPolicy <PolicyName>
<!--NeedCopy-->

Expected Output:

Name: <PolicyName>    Rule: TRUE    Action: <ActionName>
<!--NeedCopy-->
Verify Component Configuration