Citrix XenApp
Overview Copied
Geneos provides a monitoring solution for the Citrix XenApp virtualisation architecture and its components. This integration is available through the Toolkit plug-in.
Geneos monitoring for Citrix XenApp produces three samplers, each providing monitoring and dataviews:
- Citrix-Apps — for published applications, as defined by Citrix XenApp.
- Citrix-Processes — for processes running on a virtual machine.
- Citrix-Sessions — for each unique session based on the user, applications used, and virtual machine logged into.
This integration provides a Gateway configuration file that enables monitoring of Citrix XenApp through a set of pre-configured Toolkit samplers.
This guide discusses the steps to set up the Citrix XenApp integration on a Gateway. Once the integration is set up, the samplers providing the dataviews become available to that Gateway.
Prerequisites Copied
The following requirements must be met before the installation and setup of the template:
- Citrix XenApp version 7.x
- PowerShell versions 4.0 or above must be available on the machine where the Netprobe runs.
- PowerShell’s execution policy must be allowed to execute scripts.
- You must have an Active Directory user account with Citrix monitoring privileges configured in the Citrix Delivery Controller.
- Application monitoring must be enabled in the Citrix Delivery Controller.
Integration workflow Copied
The Citrix XenApp integration is largely pre-configured. The integration involves three primary tasks:
- Download the integration files from the Downloads page.
- Load the Citrix monitoring configuration file from the Gateway Setup Editor.
- Associate the Citrix samplers with a managed entity.
The Citrix integration files also include an additional utility for encrypting your configured password via PowerShell.
Download the integration files Copied
- On the Downloads page, download the Citrix integration files (
geneos-integration-citrix-4.9.0.zip
). - As a best practice, save the files on the same machine where your Gateway is running.
The integration files include the following:
include/CitrixMonitoring.xml
— Gateway configuration file containing Toolkit samplers configured for Citrix XenApp monitoring.util/encrypt_pwd.ps1
— Encryption utility for obscuring the password to the integration template.
Load the Citrix configuration file Copied
- On the Gateway Setup Editor, right-click the Includes folder and select New Include.
- Under the Basic tab, type the file path to the Citrix configuration file into the Location field. This is the file path ending in
citrix/include/CitrixMonitoring.xml
. - Update the Priority field. This can be any value except
1
. If you enter a priority of1
, the Gateway Setup Editor will return an error. - Expand the entry for this new inclusion by clicking the “+” symbol next to it.
- Click the child entry, “Click to load…”.
- The Load included file prompt appears. Click “Yes”, or press
Enter
to confirm the action.
After you load the Citrix configuration file, it loads its own Gateway, samplers, and configuration associated with the Citrix XenApp integration.
Associate the Citrix samplers with a managed entity Copied
After you have loaded the Citrix configuration file, the Citrix monitoring samplers become available for use.
- On the Gateway Setup Editor, create a new managed entity by right-clicking the Managed entities folder.
- Under the Basic tab for the new managed entity, click Add new under the Add types field.
- In the text field under Ref, type
Citrix
. - In the text field under Environment, specify the environment associated with the Citrix samplers. By default, this is
Citrix-Defaults
. However, you can create a new environment or modify theCitrix-Defaults
environment variables according to your system. For more information on the environment variables, see the Environment configuration. - Click the save icon to apply your changes.
After you save your changes to the managed entity, the Citrix dataviews appear under the managed entity on the state tree.
Encryption utility Copied
The Citrix XenApp integration files include an encryption utility. Run this utility in PowerShell to encrypt your password for the CITRIX-MONITORING-PASS
environment variable:
- Open the Command Prompt.
- Enter the following command line:
powershell.exe .\encryptPassword.ps1 [plainTextPassword]
When you enter this line command, the utility encrypts the password and displays its encrypted string on the command line.
- Copy the encrypted string for the
CITRIX-MONITORING-PASS
environment variable.
If you enter the line command without the plaintext password, then the utility prompts for a password, encrypts the text you enter, then generates a password.txt
file. Use the contents of this file for the CITRIX-MONITORING-PASS
environment variable.
Environment configuration Copied
When you run the Citrix XenApp integration file, it automatically configures its own sub-folders, files, and samplers in the Includes folder on the Gateway Setup Editor.
In its Environments folder, you can configure the environment variables to ensure that the Citrix XenApp integration monitors your target machine.
Name | Description |
---|---|
POWERSHELL_DIR |
Installation directory where the PowerShell executable file resides. Default value: |
CITRIX_MONITORING_HOST |
OData REST endpoint of the Delivery Controller. Default value: |
CITRIX_MONITORING_USER |
User account with Citrix monitoring privileges. Default value: |
CITRIX_MONITORING_PASS |
Password for the user account with Citrix monitoring privileges. Supplied password should be encrypted. See Encryption utility for more information. Default value: |
CITRIX_SESSION_FILTER |
OData filter for the Citrix-Session dataview. You can modify this variable to fine-tune your session metrics. Default value: |
CITRIX_APPS_FILTER |
OData filter for the Citrix-Apps dataview. You can modify this variable to fine-tune your session metrics. Default value: |
CITRIX_SCRIPTS_DIR |
Designated location for the PowerShell scripts. Default value: |
CITRIX_GROUP |
Group name of the integration samplers. Default value: |
Metrics and dataviews Copied
Note
All date and timestamps follow the ISO 8601 date-time format:yyyy-mm-ddThh:mm:ss+|-hh:mm
Citrix-Apps Copied
Headline field | Description |
---|---|
execDuration |
Elapsed time for the Toolkit plug-in to run the script. Unit: seconds (s) |
appCount | Total number of published applications running. |
Field | Description |
---|---|
ApplicationId | Unique ID assigned by Citrix XenApp on a published application. |
Name | Name of the published application. |
Path | Location of the application on the file directory. |
UserName | User logged in when the application is published. |
MachineName | Virtual machine from where the application is published. |
IP Address | IP address of the virtual machine. |
StartDate | Date and timestamp of when the published application starts running. |
EndDate | Date and timestamp of when the published application is terminated. |
CreatedDate | Date and timestamp of when the instance of the published application is created. |
ModifiedDate | Date and timestamp of when the published application is last accessed. |
Citrix-Processes Copied
Headline field | Description |
---|---|
execDuration |
Elapsed time for the Toolkit plug-in to run the script. Unit: seconds (s) |
Field | Description |
---|---|
ProcessKey | Unique ID assigned by Citrix XenApp on a process. |
ProcessId | Process ID as it appears on the machine. |
ProcessName | Name of the process. |
ProcessCreationDate | Date and timestamp of when the process starts running. |
ApplicationName | Name of the application from where the process runs. |
CurrentConnectionId | Unique connection ID identifying the connection on which the process runs. |
UserName | User logged in when the process starts. |
MachineName | Virtual machine from where the process runs. |
PercentMemory | Percentage of memory consumed by the process. |
PercentCpu | Percentage of the CPU consumed by the process. |
CollectedDate | Date and timestamp of when the metrics shown are collected. |
Citrix-Sessions Copied
Headline field | Description |
---|---|
execDuration |
Elapsed time for the Toolkit plug-in to run the script. Unit: seconds (s) |
serverName | Name of the server from which the sessions are being run. |
Connected | Number of connected sessions. |
Active | Number of active sessions. |
Disconnected | Number of disconnected sessions. |
Terminated | Number of terminated sessions. |
Reconnecting | Number of sessions that are reconnecting. |
PreparingSession | Number of sessions that are in the preparing state. |
NonBrokeredSession | Number of non-brokered sessions. |
Pending | Number of sessions whose connection state is pending. |
Other | Number of sessions whose status do not fall under any of the aforementioned headline fields. |
Unknown | Number of sessions whose statuses are not known. |
Field | Description |
---|---|
CurrentConnectionId | Unique connection ID identifying the connection on which the session runs. |
UserName | User logged in for the session. |
MachineName | Virtual machine from where the session is held. |
SessionType | Indicates if the session is based on a desktop login or a specific application. |
StartDate | Date and timestamp of when the session starts running. |
EndDate | Date and timestamp of when the session ends. |
LogOnDuration | Elapsed time since the start of the session, based on the user login. |
ConnectionState | Indicates if the session is active or disconnected. |
ConnectionStateChangeDate | Date and timestamp of the last change in the connection state. |
SessionIdleTime | Date and timestamp of the most recent inactivity. |
LifecycleState | Lifecycle state for the session. This field is for internal tracking and management. |
IsAnonymous | Indicates if the session is anonymous or not. |
CreatedDate | Date and timestamp of when the session is created. |
ModifiedDate | Date and timestamp of the last activity in the session. |
FailureDate | Date and timestamp of when the connection failed. If the connection has not failed, then this field is empty. |
ExitCode | Session termination exit code. |