Extend the platform,
empower your team.
Gain insight into your Citrix Virtual Apps and Desktops environments
ExtensionThe Citrix Virtual Apps and Desktops extensions allows you to monitor your Citrix environment.
You can choose to have a holistic view of your Citrix environment, monitor individual Virtual Delivery Agent machines or both.
The extension can be deployed from an OneAgent or an Activegate:
When running from an OneAgent, the extension can be configured in one of two ways:
Citrix VDA - Monitor the individual user sessions, by activating the extension on each Virtual Delivery Agent, this will not collect environment wide metrics, only RUM data for the individual sessions, and a couple of perfmon counters.
Citrix Powershell SDK - Monitor the entire Citrix Environment, by activating the extension on a machine that has the Citrix Powershell SDK installed. Usually where Citrix Studio is installed or a Delivery Controller.
DAAS - Connect to Citrix DAAS via the REST API, collects the same metrics as in "Powershell SDK" mode, with the exception of licensing and delivery controllers metrics which don't apply to DAAS.
Managed - Connect to a local Delivery Controller via the REST API
This mode captures Real User Monitoring data from the individual VDAs. Some Windows Performance Counters are also collected.
In this scenario, you must have an OneAgent deployed to each VDA. The recommmended activation flow for this scenario is:
fqdn
Citrix Extension
on that machine, by creating a Monitoring Configuration
in your Dynatrace environment that targets that host and selecting the Citrix VDA
monitoring mode
You can check that a certain VDA can be monitored by the extension by:
ICA Session
on that VDA via the Citrix Receiver
(Desktop or individual Application works)Get-WmiObject -Class Citrix_Euem_RoundTrip -Namespace root\citrix\euem
Get-WmiObject -Class Citrix_Sessions -Namespace root\citrix\hdx
These commands must return some data about the user session.
Deploy Dynatrace > Monitor a custom application
Monitor custom application
.Instrumentation wizard
and keep a note of the Application ID
that is generated for your custom application.Under Infrastructure -> Extensions
chose Citrix Virtual Apps and Desktops
and click Create monitoring configuration
Select which hosts you want to monitor, these are your Citrix VDAs.
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.
This mode captures metrics about your entire Citrix Environment using the Citrix Powershell SDK
In this mode the extension runs from a single machine where Citrix Studio (or the Powershell SDK) is installed.
Citrix Studio
To test that a machine can run this mode, execute commands below on powershell (as a user that can run Citrix Studio):
# replace localhost with the address of your delivery controller if necessary
Add-PSSnapin Citrix.*.Admin.V*
Get-BrokerSite -AdminAddress localhost
Under Infrastructure -> Extensions
chose Citrix Virtual Apps and Desktops
and click Create monitoring configuration
Select which host you want the extension to run from, the one where the Powershell SDK is available
Monitoring Mode: Citrix Powershell SDK
Username: an user that can run the citrix powershell sdk commands, it can include a domain example: my.company\my.user
Password: for the user defined above
Metric collection frequency: how often metrics should collect data
After a couple of minutes, metrics should be ingested for your Citrix environment. You can use the built in dashboard to access these metrics
This mode captures metrics about your entire Citrix Environment using the Citrix DAAS Rest API. This mode can only be activated when running from an Activegate.
In Dynatrace create a monitoring configuration and select Monitor remotely, choose an Activegate group that is capable of reaching the DAAS endpoints, note that you can also configure a proxy later.
The credentials can be stored directly in the extension settings, or using the Dynatrace Credential Vault
Metrics will arrive to your environment and can be seen in the overview dashboard that comes with the extension.
For the VDA mode, we ingest Real User Monitoring data, each Citrix ICA Session corresponds roughly to one Dynatrace User Session, although long ICA Sessions (2+ hours) can be split into multiple User Sessions
The formula for the DDUs consumed is the sum of:
4 * <sites>
5 * <controllers>
11 * <groups>
5 * <catalogs>
9 * <desktops>
multiplied by 525.6
DDUS per year.
Example:
Will consume: (4) + (5) + (11*20) + (5*12) + (9*160) * 525.6
= 908,762.4
DDUs per year.
DAAS has a similar fomula except it doesn't have metrics for the Delivery Controllers:
4 * <sites>
11 * <groups>
5 * <catalogs>
9 * <desktops>
Example:
Will consume: ((4) + (11*20) + (5*12) + (9*160)) * 525.6
= 906,134.4
DDUs per year.
Below is a complete list of the feature sets provided in this version. To ensure a good fit for your needs, individual feature sets can be activated and deactivated by your administrator during configuration.
Metric name | Metric key | Description | Unit |
---|---|---|---|
Active Sessions | citrix.broker_site.licensed_sessions_active | The count of active licensed sessions | Count |
Unique Users | citrix.broker_site.total_unique_license_users | The total count of license users | Count |
License Model | citrix.broker_site.license_model | The licensing model in use. Values can be 0 - 'Concurrent' or 1 - 'UserDevice' | State |
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 | State |
Metric name | Metric key | Description | Unit |
---|---|---|---|
Assigned | citrix.broker_catalog.assigned | The number of assigned machines (machines that have been assigned to a user/users or a client name/address). | Count |
Available | citrix.broker_catalog.available | The number of available machines (those not in any delivery group). | Count |
Available Unassigned | citrix.broker_catalog.available_unassigned | The number of available machines (those not in any delivery group) that are not assigned to users. | Count |
Unassigned | citrix.broker_catalog.unassigned | The number of unassigned machines (machines not assigned to users). | Count |
Used | citrix.broker_catalog.used | The number of machines in the catalog that are in a delivery group. | Count |
Metric name | Metric key | Description | Unit |
---|---|---|---|
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. | Count |
Desktops Faulted | citrix.broker_group.desktops_faulted | The number of machines in the delivery group whose FaultState is not None. | Count |
Desktops Preparing | citrix.broker_group.desktops_preparing | The number of machines in the delivery group whose PvD disk image is being prepared. | Count |
Desktops Unregistered | citrix.broker_group.desktops_unregistered | The number of machines in the delivery group that are currently unregistered. | Count |
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. | Count |
Desktops Disconnected | citrix.broker_group.desktops_disconnected | The number of disconnected sessions present on machines in the delivery group. | Count |
Desktops Total | citrix.broker_group.total_desktops | Total number of machines in the delivery group. | Count |
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 | Count |
Sessions | citrix.broker_group.sessions | The total number of user sessions currently running on all of the machines in the delivery group. | Count |
Applications | citrix.broker_group.total_applications | Total number of applications associated with the delivery group. | Count |
Application Groups | citrix.broker_group.total_application_groups | Total number of application groups associated with the delivery group. | Count |
Metric name | Metric key | Description | Unit |
---|---|---|---|
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. | State |
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). | State |
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). | State |
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). | State |
In Maintenance Mode | citrix.broker_desktop.in_maintenance_mode | Denotes if the machine is in maintenance mode. | State |
Sessions | citrix.broker_desktop.sessions | Count of number of sessions on the machine. | Count |
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. | State |
Load Index | citrix.broker_desktop.load_index | Gives current effective load index for multi-session machines | Percent |
Load Indexes | citrix.broker_desktop.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 | Percent |
Metric name | Metric key | Description | Unit |
---|---|---|---|
VDAs Registered | citrix.broker_controller.desktops_registered | The number of VDA machines registered with the Broker service on the controller | Count |
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 |
State | citrix.broker_controller.state | The state of the Broker service on the controller (0) Failed, (1) Off, (2) On, (3) Active. | State |
Licensing Server Last Event Time | citrix.broker_controller.last_licensing_server_time | Time at which the last significant licensing server event was reported | Second |
Active Services | citrix.broker_controller.active_services | The Broker site services active on the controller | Second |
citrix:hypervisor
citrix.hypervisor.fault_state
citrix.application.num_associated_delivery_groups
hypervisor_id
and hypervisor_name
to the VDAsCALLS
relationship between the VDA and the HypervisorThe extension can now remotely monitor Citrix DAAS, or a managed Citrix installation via the Citrix REST API.
Note: Monitoring configurations must be recreated because the extension can now optionally run from an Activegate.
Added the following dimensions to all VDA metrics:
in_maintenance_mode
session_support
power_state
session_state
registration_state
fault_state
Added new tiles to the dashboard:
No release notes