Introduction
Citrix VDI are virtualization solutions that give IT control of virtual machines, applications, licensing, and security while providing access for any device.
Citrix Virtual Applications and Desktops allow:
- End users to run applications and desktops independently of the device’s operating system and interface.
- Administrators to manage the network and control access from selected devices or all devices.
- Administrators to manage an entire network from a single data center.
Citrix Virtual Applications and Desktops share a unified architecture called FlexCast Management Architecture (FMA). FMA’s key feature is to run multiple versions of Citrix Virtual Applications or Citrix Virtual Desktops from a single site and integrated provisioning.

Discovery Use cases
Discovery Citrix VDI elements delivery groups and machines.
Monitoring Use cases
Using the REST APIs of the Citrix Monitor Service to collect, analyze, and categorize data from Citrix Virtual Applications and Desktops.
Hierarchy of Citrix VDI
Hypervisor (Xen server)
- Delivery Groups
- Machines(desktops)
Pre-requisites
- OpsRamp Classic Gateway Version 12.0.1 and above.
Default monitoring configurations
Citrix VDI has default Global Device Management Policies, Global Templates, Global Monitors and Global Metrics in OpsRamp. You can customize these default monitoring configurations as per your business use cases by cloning respective Global Templates and Global Device Management Policies. OpsRamp recommends doing this activity before installing the application to avoid noise alerts and data.
Default Global Device Management Policies
OpsRamp has a Global Device Management Policy for each Native Type of Citrix Onprem VDI. You can find those Device Management Policies at Setup -> Resources -> Device Management Policies -> Search with suggested names in global scope. Each Device Management Policy follows below naming convention:
{appName nativeType - version}
Ex: citrix-onprem-vdi Citrix Hypervisors - 1 (i.e, appName = citrix-onprem-vdi, nativeType = Citrix Hypervisors, version = 1)
Default Global Templates
OpsRamp has a Global Template for each Native Type of Citrix VDI. You can find those templates at Setup -> Monitoring -> Templates -> Search with suggested names in global scope. Each template follows below naming convention:
{appName nativeType 'Template' - version}
Ex: citrix-onprem-vdi Citrix Hypervisors Template - 1 (i.e, appName = citrix-onprem-vdi, nativeType = Citrix Hypervisors Template, version = 1)
Default Global Monitors
OpsRamp has a Global Monitors for each Native Type which has monitoring support. You can find those monitors at Setup -> Monitoring -> Monitors -> Search with suggested names in global scope. Each Monitors follows below naming convention:
{monitorKey appName nativeType - version}
Ex: Citrix Hypervisors Monitor citrix-onprem-vdi Citrix Hypervisors 1(i.e, monitorKey = Citrix Hypervisors Monitor, appName = citrix-onprem-vdi, nativeType = Citrix Hypervisors, version = 1)
Configure and install the integration
- From All Clients, select a client
- Go to Setup > Integrations and Apps.
- Click Manage Apps.
Notes:- If there are already installed applications, it will redirect to the INSTALLED APPS page, where all the installed applications are displayed.
- If there are no installed applications, it will navigate to the ADD APP page.

- Click + ADD on the INSTALLED APP page. The ADD APP page displays all the available applications along with the newly created application with the version.
Note: You can even search for the application using the search option available. Also you can use the All Categories option to search.

- Click ADD in the Citrix OnPrem VDI application.
- In the Configurations page, click + ADD. The Add Configuration page appears.
- Enter the below mentioned BASIC INFORMATION:
Functionality | Description |
---|---|
Name | Enter the name for the configuration. |
Host Name / IP Address | Host name / IP address of the target |
Port | Port Note: By default 80 is added. |
Credentials | Select the credentials from the drop-down list. Note: Click + Add to create a credential. |
Notes:
- Select the isSecure checkbox.
- Select App Failure Notifications; if turned on, you will be notified in case of an application failure that is, Connectivity Exception, Authentication Exception.
- In the Custom Attributes section, select the custom attribute key and value from the dropdown boxes.
Note:- The custom attribute that you add here will be assigned to all the resources that are created by the configuration.
- You can add a maximum of 5 custom attributes (key and value pair).
- The custom attribute that you add should be created at the client level.
- In the RESOURCE TYPE section, select:
- ALL: All the existing and future resources will be discovered.
- SELECT: You can select one or multiple resources to be discovered.
- In the DISCOVERY SCHEDULE section, select Recurrence Pattern to add one of the following patterns:
- Minutes
- Hourly
- Daily
- Weekly
- Monthly
- Click ADD.
Now the configuration is saved and displayed on the configurations page after you save it.
Note: From the same page, you may Edit and Remove the created configuration.
- Click NEXT
- In the Installation page, select an existing registered gateway profile, and click FINISH.

The application is now installed and displayed on the Installed Integration page. Use the search field to find the installed application.
Modify the Configuration
See Modify an Installed Integration or Application article.
Note: Select the Citrix OnPrem VDI application.
View the Citrix OnPrem VDI details
The Citrix OnPrem VDI integration is displayed in the Infrastructure > Resources > Xen Server. You can navigate to the Attributes tab to view the discovery details, and the Metrics tab to view the metric details for Citrix OnPrem VDI.


Supported Alert Custom Macros
Customize the alert subject and description with below macros then it will generate alert based on customisation.
Supported macros keys:
${resource.name}
${resource.ip}
${resource.mac}
${resource.aliasname}
${resource.os}
${resource.type}
${resource.dnsname}
${resource.alternateip}
${resource.make}
${resource.model}
${resource.serialnumber}
${resource.systemId}
${Custome Attributes in the resource}
${parent.resource.name}
Supported metrics
Native Type | Metric Name | Display Name | Units | Description |
---|---|---|---|---|
Hypervisor | citrix_onprem_hypervisor_state | Citrix Onprem Hypervisor State | Hypervisor Availability. Possible values 0,1,2,3 Active, Deleted, RequiresResolution, Stub. | |
Delivery Group | citrix_onprem_desktops_in_maintenancemode | Citrix Onprem Desktops In Maintenance Mode | Citrix Onprem Desktops In Maintenance Mode. | |
citrix_onprem_desktops_in_maintenancemode_percent | Citrix Onprem Desktops In Maintenance Mode Percent | % | Citrix Onprem Desktops In Maintenance Mode Percent. | |
citrix_onprem_desktops_total_count | Citrix Onprem Desktop Total Count | Citrix Onprem Desktop Total Count. | ||
citrix_onprem_desktops_preparing | Citrix Onprem Desktop Preparing | Citrix Onprem Desktop Preparing | ||
citrix_onprem_desktops_preparing_percent | Citrix Onprem Desktop Preparing Percent | % | Citrix Onprem Desktop Preparing Percent | |
citrix_onprem_desktops_failure_count | Citrix Onprem Desktops Failure Count | Citrix Onprem Desktops Failure Count | ||
Desktop | citrix_onprem_desktop_power_state | Citrix Onprem Desktop Power State | Citrix Onprem Desktop Power State. Possible values: 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10. Unknown, Unavailable, Off, On, Suspended, TurningOn, TurningOff, Suspending, Resuming, Unmanaged, NotSupported. | |
citrix_onprem_desktop_registration_state | Citrix Onprem Desktop Registration State | Citrix Onprem Desktop Registration State.Possible values: 0, 1, 2. Unknown, Registered, Unregistered. | ||
citrix_onprem_desktop_unregisteredpoweronstate | Citrix Onprem Desktop UnRegistered PowerOn State | Citrix Onprem Desktop UnRegistered PowerOn State. | ||
citrix_onprem_desktop_cpu_usage_percent | Citrix Onprem Desktop CPU Usage Percent | % | Citrix Onprem Desktop CPU Usage Percent. | |
citrix_onprem_desktop_memory_usage | Citrix Onprem Desktop Memory Usage | MB | Citrix Onprem Desktop Memory Usage. | |
citrix_onprem_desktop_memory_available_in_mb | Citrix Onprem Desktop Memory Available In MB | MB | Citrix Onprem Desktop Memory Available In MB. |
Risks, Limitations & Assumptions
Application can handle Critical/Recovery failure notifications for below two cases when user enables App Failure Notifications in configuration:
- Connectivity Exception (ConnectTimeoutException, HttpHostConnectException, UnknownHostException)
- Authentication Exception(UnauthorizedException)
Application will not send any duplicate/repeat failure alert notification until the already existed critical alert is recovered.
Application cannot control monitoring pause/resume actions based on above alerts.
Metrics can be used to monitor Citrix resources and can generate alerts based on the threshold values.
We are not providing these following requested metrics as we are not getting any response in the API’s:
DesktopConditions_ICALatency,ICASessionLatency,DatabaseConnected,DesktopsAvailable, DesktopsAvailablePercent, BrokerServiceStatus, PercentProcessorTime, PhysicalDiskCurrentQueueLength, PhysicalDiskTotalDiskBytesPerSec, DesktopsNeverRegistered, DesktopsNeverRegisteredPercent.
Application is not compatible with Cluster Gateway.
Support for Macro replacement for threshold breach alerts (i.e, customisation for threshold breach alert’s subject, description).
Component level thresholds can be configured on each resource level.
No support of showing activity log and applied time.
Support for the option to get Latest snapshot metric.