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




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.
| Mode | Deployment | Description | 
|---|---|---|
| Virtual Delivery Agent (VDA) | OneAgent | This 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 SDK | OneAgent | This 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) | ActiveGate | You 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) | ActiveGate | Connect to a local Delivery Controller of a Citrix Virtual Apps and Desktops Citrix Site via the REST API. | 
The use cases of the Citrix DaaS & Virtual Apps and Desktops extension depend on the deployment configuration you choose.
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
Get-WmiObject -Class Citrix_Euem_RoundTrip -Namespace root\citrix\euemGet-WmiObject -Class Citrix_Sessions -Namespace root\citrix\hdxThe VDA can be monitored by the extension if the commands return data about the user session.
Citrix DaaS (any version) or Citrix Virtual Apps and Desktops (formerly Citrix XenApp/XenDesktop) version 7.5+
Install OneAgent on the Golden (or Master) Image.
Make sure to set the Host ID source, for example you can set it to fqdn.
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.
Create a new custom application.
Create a 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.
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.
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 name | Metric key | Description | 
|---|---|---|
| Session State | citrix.broker_desktop.session_state | Valid values are null, Other, PreparingSession, Connected, Active, Disconnected, Reconnecting, NonBrokeredSession, and Unknown. Session properties are always null for multi-session machines. | 
| Power State | citrix.broker_desktop.power_state | Gets 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 State | citrix.broker_desktop.registration_state | Gets machines in a specific registration state. Valid values are Unregistered (0), Initializing (1), Registered (2), and AgentError (3). | 
| Summary State | citrix.broker_desktop.summary_state | Indicates 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 Mode | citrix.broker_desktop.in_maintenance_mode | Denotes if the machine is in maintenance mode. | 
| Sessions | citrix.broker_desktop.sessions | Count of number of sessions on the machine. | 
| Fault State | citrix.broker_desktop.fault_state | Summary 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 Index | citrix.broker_desktop.load_index | Gives 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 name | Metric key | Description | 
|---|---|---|
| Desktops Available | citrix.broker_group.desktops_available | The number of machines in the delivery group in state Available; this is the number of machines with no sessions present. | 
| Desktops Faulted | citrix.broker_group.desktops_faulted | The number of machines in the delivery group whose FaultState is not None. | 
| Desktops Preparing | citrix.broker_group.desktops_preparing | The number of machines in the delivery group whose PvD disk image is being prepared. | 
| Desktops Unregistered | citrix.broker_group.desktops_unregistered | The number of machines in the delivery group that are currently unregistered. | 
| Desktops In Use | citrix.broker_group.desktops_in_use | The number of machines in the delivery group in state InUse; this is the number of machines with at least one session present. | 
| Desktops Disconnected | citrix.broker_group.desktops_disconnected | The number of disconnected sessions present on machines in the delivery group. | 
| Desktops Total | citrix.broker_group.total_desktops | Total number of machines in the delivery group. | 
| Desktops Never Registered | citrix.broker_group.desktops_never_registered | The number of machines in the delivery group that have never registered with the current site | 
| Sessions | citrix.broker_group.sessions | The total number of user sessions currently running on all of the machines in the delivery group. | 
| Applications | citrix.broker_group.total_applications | Total number of applications associated with the delivery group. | 
| Application Groups | citrix.broker_group.total_application_groups | Total number of application groups associated with the delivery group. | 
| Metric name | Metric key | Description | 
|---|---|---|
| Assigned | citrix.broker_catalog.assigned | The number of assigned machines (machines that have been assigned to a user/users or a client name/address). | 
| Available | citrix.broker_catalog.available | The number of available machines (those not in any delivery group). | 
| Available Unassigned | citrix.broker_catalog.available_unassigned | The number of available machines (those not in any delivery group) that are not assigned to users. | 
| Unassigned | citrix.broker_catalog.unassigned | The number of unassigned machines (machines not assigned to users). | 
| Used | citrix.broker_catalog.used | The number of machines in the catalog that are in a delivery group. | 
| Metric name | Metric key | Description | 
|---|---|---|
| Active Sessions | citrix.broker_site.licensed_sessions_active | The count of active licensed sessions | 
| Unique Users | citrix.broker_site.total_unique_license_users | The total count of license users | 
| License Model | citrix.broker_site.license_model | The licensing model in use. Values can be 0 - 'Concurrent' or 1 - 'UserDevice' | 
| Broker Service Status | citrix.broker_site.service_status | Enables 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 name | Metric key | Description | 
|---|---|---|
| VDAs Registered | citrix.broker_controller.desktops_registered | The number of VDA machines registered with the Broker service on the controller | 
| Licensing Server State | citrix.broker_controller.licensing_server_state | The 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) | 
| State | citrix.broker_controller.state | The state of the Broker service on the controller (0) Failed, (1) Off, (2) On, (3) Active. | 
| Licensing Server Last Event Time | citrix.broker_controller.last_licensing_server_time | Time at which the last significant licensing server event was reported | 
| Active Services | citrix.broker_controller.active_services | The Broker site services active on the controller | 
To obtain a detailed error log, create an Activegate Diagnosis.