You must be happy with the benefits of Director for troubleshooting and monitoring the Citrix XenDesktop. I will give some tips on how to troubleshoot the Director issues with help of logs. Supportability is very important aspect of the Citrix. Director has enabled logging at its components. Logs give better idea on what went wrong when the specific operation is performed. Director captures various logs like CDF, Events and Power-Shell commands for below components

  1. Director Web Service
  2. Director VDA Plugin


Web Service

  1. Open Internet Information Services (IIS) Manager using inetmgr command.
  2. Go to Director website and open Application Settings.

  3. Log.FileName indicates the log file path.
    Log.IncludeLocation flag enables the source code file name and line numbers to be included in log file.
    Log.FileOverWrite flag will overwrite the existing log file for first time.
    Log.LogToCdfwill enable logs to be collected by CDF Control tool.

  4. Restart the Internet Information Services(IIS) to apply the above settings.

Virtual Desktop Agent

  1. Go to VDA install location. Default path is %SystemDrive%\ Program Files\Citrix\Virtual Desktop Agent.
  2. Open the DirectorVDAPlugin.config.
  3. Configure the File logging/CDF logging settings.

Capture/Collect logs

  1. File logs are collected automatically in log file.
  2. CDF logs are collected using the CDF Control.
  3. Open CDF Control and Select the modules for the logs to be collected.
  4. For Director web service choose DirectorService.
  5. On VDI/RDS sessions choose DirectorPlugin. These logs can be collected remotely.
  6. Director depends upon Broker and Monitoring service for getting information. It is better to collect the logs for those components as well.
  7. Click on Start tracing and reproduce the scenario.
  8. After reproduction, click on “Start Consuming” to stop the trace.
  9. Now open the trace using Parse trace menu shortcut.
  10. Select the Event tracing file from file system

Analyse Logs and Troubleshoot

Event logs show catastrophic errors and high severe errors.

Event logs

  1. You can open the “Event Viewer” from Start menu.
  2. Event log is formatted on columns {Level, Time, Source etc.}. Level can be Information, Warning and Error.
  3. Event Detail shows the message for event.
  4. It shows that there is an error while connecting to core services. It gives information that web service is not able to reach the machine. It helps you to troubleshoot whether Server machine is online and able to reach the machine from Director Machine.
  5. You will see similar event logs on Virtual machine where it is unable to register with Controller.

File Logs/CDF Logs

  1. Firebug tool helps you to find which API has failed from UI.  For more information on Firebug, find here.
  2. Find the API name from firebug UI and search in Web service logs/traces.
  3. Logs contains information about Time,  ThreadId, Message etc.
  4. Search API failure and find the log snippet in Director Logs. For every UI API, there is an Entry log message and Exit log message. You can find the latest API log snippet by searching from bottom to top in log file.After you find the Entry message, follow the thread from top to bottom. ThreadId is 12 in below log snippet.
  5. Log contains error information which is useful for troubleshooting.
  6. PowerShell allows you to access the Controller objects and analyze the information. Director logs also print PowerShell equivalent commands for all the Controller APIs.
  7. Load the PowerShell snapins and run the PowerShell commands. Run Get-Command to know the list of commands.
  8. Find the list of running sessions with Get-BrokerSession command
  9. Many of the APIs are going to OData Web service where the OData URI is being printed in logs. You can execute the URI inside browser and check results. You can find more help here.
  10. Some of the data is coming from WMI sources. WMI queries are printed in logs. WMI queries can be debugged by wbemtest tool from Start Menu.
  11. Profiles data can be debugged by running WMI queries.