Citrix DaaS & Virtual Apps and Desktops extension

  • Latest Dynatrace
  • Extension
  • Published Oct 27, 2025

Gain insight into your Citrix DaaS & Virtual Apps and Desktops environments

Citrix Overview DashboardCitrix Group OverviewDesktop PropertiesCitrix Waterfall
1 of 4Citrix Overview Dashboard

Get started

Overview

Monitor Citrix DaaS and CVAD with Python-powered extension for virtual apps and desktops visibility.

The all-in-one Citrix DaaS & Citrix Virtual Apps and Desktops extensions allows you to monitor your Citrix environments. You can choose to have a holistic view of your Citrix site, monitor individual Virtual Delivery Agent (Citrix VDA) equipped machines, or both.

You can deploy the extension in four different modes, either locally, via OneAgent, or remotely, via ActiveGate.

ModeDeploymentDescription
Virtual Delivery Agent (VDA)OneAgentThis mode captures Real User Monitoring data from the individual Virtual Delivery Agents (VDAs). Relevant Windows Performance Counters are also collected. You can monitor the individual user sessions by activating the extension on each Virtual Delivery Agent (VDA). Note that this mode will not collect environment-wide metrics, only real user monitoring (RUM) data for the individual sessions and perform counters.
Powershell SDKOneAgentThis mode captures metrics about your entire Citrix Environment, including the Citrix Site, using the Citrix Powershell SDK. In this mode the extension runs from a single machine where Citrix Studio (or the Powershell SDK) is installed, usually where Citrix Studio is installed or directly on the Delivery Controller. We recommend using the newer Activegate remote options instead of Powershell SDK.
REST API (DaaS)ActiveGateYou can connect to Citrix via the REST API and capture metrics about your entire Citrix Environment using the Citrix Rest API. The metrics collected in this mode are the same as in the Powershell SDK configuration, with the exception of licensing and Delivery Controller metrics which don't apply to Citrix DaaS sites.
Managed (On-premise)ActiveGateConnect to a local Delivery Controller of a Citrix Virtual Apps and Desktops Citrix Site via the REST API.

Use cases

The use cases of the Citrix DaaS & Virtual Apps and Desktops extension depend on the deployment configuration you choose.

  • Monitor indivisual user sessions by monitoring Citrix VDAs.
  • Monitor your entire Citrix environment using the Citrix Powershell SDK.
  • Monitor your Citrix Environment using the Citrix Rest API.

Requirements

  • You must have an OneAgent deployed to each VDA.

  • Your Citrix VDA has the Citrix End User Experience Monitoring service enabled and running.

  • Your Citix VDA can be monitored by the extension.

    To check if a certain VDA can be monitored by the extension

    1. Start a ICA Session on the VDA via the Citrix Receiver (Desktop or individual Application works).
    2. Run these powershell commands on the VDA:
      • Get-WmiObject -Class Citrix_Euem_RoundTrip -Namespace root\citrix\euem
      • Get-WmiObject -Class Citrix_Sessions -Namespace root\citrix\hdx

    The VDA can be monitored by the extension if the commands return data about the user session.

Compatibility information

Citrix DaaS (any version) or Citrix Virtual Apps and Desktops (formerly Citrix XenApp/XenDesktop) version 7.5+

Activation and setup

  1. Install OneAgent on the Golden (or Master) Image.

  2. Make sure to set the Host ID source, for example you can set it to fqdn.

  3. Activate the Citrix Extension on that machine.

    This will distribute the extension binary to that machine, making the deployment much faster later since the extension binary will be available on all VDAs created by this machine.

    1. Create a new custom application.

      1. Navigate to Deploy Dynatrace > Monitor a custom application.
      2. Define your application.
        • Give your application a descriptive name
        • Choose an icon.
      3. Select Monitor custom application.
      4. Select Instrumentation wizard.
      5. Keep a note of the Application ID that is generated for your custom application.
    2. Create a monitoring configuration

      1. Go to Infrastructure > Extensions > Citrix Virtual Apps and Desktops and select Create monitoring configuration.
      2. Define your monitoring configuration.
        • Select which hosts you want to monitor. These are your Citrix VDAs.

          We recommend you make use of host groups, management zones**, or tags to make this easier to manage. For example all VDAs of a farm could have their own Host Group

        • Monitoring Mode: Citrix VDA

        • Custom Application ID The ID of the custom application you created in the previous step

        • Capture User Data: whether to capture Usernames and IP Addresses or not

After a couple minutes, if ICA Sessions are running on these VDAs, you should see data being captured in the custom application you created.

Details

Licensing and cost

The extension ingests Real User Monitoring data. Each Citrix ICA Session corresponds roughly to one Dynatrace user session, although ICA Sessions longer than 2 hours can be split into multiple user sessions.

Feature sets

When activating your extension using monitoring configuration, you can limit monitoring to one of the feature sets. To work properly the extension has to collect at least one metric after the activation.

In highly segmented networks, feature sets can reflect the segments of your environment. Then, when you create a monitoring configuration, you can select a feature set and a corresponding ActiveGate group that can connect to this particular segment.

All metrics that aren't categorized into any feature set are considered to be the default and are always reported.

A metric inherits the feature set of a subgroup, which in turn inherits the feature set of a group. Also, the feature set defined on the metric level overrides the feature set defined on the subgroup level, which in turn overrides the feature set defined on the group level.

Metric nameMetric keyDescription
Session Statecitrix.broker_desktop.session_stateValid values are null, Other, PreparingSession, Connected, Active, Disconnected, Reconnecting, NonBrokeredSession, and Unknown. Session properties are always null for multi-session machines.
Power Statecitrix.broker_desktop.power_stateGets machines with a specific power state. Valid values are Unmanaged (0), Unknown (1), Unavailable (2), Off (3), On (4), Suspended (5), TurningOn (6), TurningOff (7), Suspending (8), and Resuming (9).
Registration Statecitrix.broker_desktop.registration_stateGets machines in a specific registration state. Valid values are Unregistered (0), Initializing (1), Registered (2), and AgentError (3).
Summary Statecitrix.broker_desktop.summary_stateIndicates the overall state of the desktop associated with the machine. The overall state is a result of other more specific states such as session state, registration state and power state. Possible values: Off (0), Unregistered (1), Available (2), Disconnected (3), InUse (4), Preparing (5).
In Maintenance Modecitrix.broker_desktop.in_maintenance_modeDenotes if the machine is in maintenance mode.
Sessionscitrix.broker_desktop.sessionsCount of number of sessions on the machine.
Fault Statecitrix.broker_desktop.fault_stateSummary state of any current fault state of the machine. Can be one of the following: (0) None - No fault; machine is healthy. (1) FailedToStart - Last power-on operation for machine failed. (2) StuckOnBoot - Machine does not seem to have booted following power on. (3) Unregistered - Machine has failed to register within expected period, or its registration has been rejected. (4) MaxCapacity - Machine is reporting itself at maximum capacity.
Load Indexcitrix.broker_desktop.load_indexGives current effective load index for multi-session machines
Load Indexes "Gives the last reported individual load indexes that were used in the calculation of the LoadIndex value. Note that the LoadIndex value may have been subsequently adjusted due to session brokering operations. This value is only set for multi-session machines"citrix.broker_desktop.load_indexes
Metric nameMetric keyDescription
Desktops Availablecitrix.broker_group.desktops_availableThe number of machines in the delivery group in state Available; this is the number of machines with no sessions present.
Desktops Faultedcitrix.broker_group.desktops_faultedThe number of machines in the delivery group whose FaultState is not None.
Desktops Preparingcitrix.broker_group.desktops_preparingThe number of machines in the delivery group whose PvD disk image is being prepared.
Desktops Unregisteredcitrix.broker_group.desktops_unregisteredThe number of machines in the delivery group that are currently unregistered.
Desktops In Usecitrix.broker_group.desktops_in_useThe number of machines in the delivery group in state InUse; this is the number of machines with at least one session present.
Desktops Disconnectedcitrix.broker_group.desktops_disconnectedThe number of disconnected sessions present on machines in the delivery group.
Desktops Totalcitrix.broker_group.total_desktopsTotal number of machines in the delivery group.
Desktops Never Registeredcitrix.broker_group.desktops_never_registeredThe number of machines in the delivery group that have never registered with the current site
Sessionscitrix.broker_group.sessionsThe total number of user sessions currently running on all of the machines in the delivery group.
Applicationscitrix.broker_group.total_applicationsTotal number of applications associated with the delivery group.
Application Groupscitrix.broker_group.total_application_groupsTotal number of application groups associated with the delivery group.
Metric nameMetric keyDescription
Assignedcitrix.broker_catalog.assignedThe number of assigned machines (machines that have been assigned to a user/users or a client name/address).
Availablecitrix.broker_catalog.availableThe number of available machines (those not in any delivery group).
Available Unassignedcitrix.broker_catalog.available_unassignedThe number of available machines (those not in any delivery group) that are not assigned to users.
Unassignedcitrix.broker_catalog.unassignedThe number of unassigned machines (machines not assigned to users).
Usedcitrix.broker_catalog.usedThe number of machines in the catalog that are in a delivery group.
Metric nameMetric keyDescription
Active Sessionscitrix.broker_site.licensed_sessions_activeThe count of active licensed sessions
Unique Userscitrix.broker_site.total_unique_license_usersThe total count of license users
License Modelcitrix.broker_site.license_modelThe licensing model in use. Values can be 0 - 'Concurrent' or 1 - 'UserDevice'
Broker Service Statuscitrix.broker_site.service_statusEnables the status of the Broker Service on the controller to be determined. If the service has multiple data stores it will return the overall state as an aggregate of all the data store states. 1 - DBUnconfigured 2 - DBRejectedConnection 3 - InvalidDBConfigured 4 - DBNotFound 5 - DBMissingOptionalFeature 6 - DBMissingMandatoryFeature 7 - DBNewerVersionThanService 8 - DBOlderVersionThanService 9 - DBVersionChangeInProgress 10 - OK 11 - PendingFailure 12 - Failed 13 - Unknown
Metric nameMetric keyDescription
VDAs Registeredcitrix.broker_controller.desktops_registeredThe number of VDA machines registered with the Broker service on the controller
Licensing Server Statecitrix.broker_controller.licensing_server_stateThe licensing server state currently in effect in the Broker service on the controller ServerNotSpecified (0), NotConnected (1), OK (2), LicenseNotInstalled (3), LicenseExpired (4), Incompatible (5), Failed (6)
Statecitrix.broker_controller.stateThe state of the Broker service on the controller (0) Failed, (1) Off, (2) On, (3) Active.
Licensing Server Last Event Timecitrix.broker_controller.last_licensing_server_timeTime at which the last significant licensing server event was reported
Active Servicescitrix.broker_controller.active_servicesThe Broker site services active on the controller

FAQ and Troubleshooting

To obtain a detailed error log, create an Activegate Diagnosis.

Related tags
ComputePythonVirtual desktopCitrixInfrastructure Observability