Citrix Hypervisor template
This SAM application monitor template contains performance and statistic counters for monitoring Citrix Hypervisor. It was tested with Citrix Hypervisor 8.0. You can create copies of this template and then customize each copy for individual machines, for use with multiple VMs and CPUs in different hypervisor installations.
Portions of this topic are excerpts from Citrix XenServer documentation (© 2019 Citrix Systems, Inc., available at https://docs.citrix.com, obtained on February 14, 2020).
This template, released in SAM 2020.2, can be used to replace the following deprecated templates:
- Citrix PVS Accelerator for XenServer
- Citrix XenApp 5.0 Core WMI Counters
- Citrix XenApp 5.0 ICA Session WMI Counters
- Citrix XenApp 5.0 Presentation Server WMI Counters
- Citrix XenApp 5.0 Services
- Citrix XenServer
Prerequisites
Citrix Hypervisor 8.0
Some counters may require manual configuration, such as setting up installation-specific instances, enabling metrics, and correcting thresholds for the client environment.
Credentials
SSH Access to the Linux machine hosting hosting Citrix Hypervisor.
Notes
- Metrics you want to monitor must be available in rrd2csv command output, as executed directly on the Linux server. If a required metric does not appear in command output, check metric settings and make sure it is enabled.
- For a list of available metrics, execute the following commands directly on the Linux server.
- For Host:
xe host-data-source-list hostname=<XenServerHostname>
- For VM:
xe vm-data-source-list vm=<VirtualMachineUuid>
- For Host:
- If a required metric appears in the command output for either of the two commands listed above but not in rrd2csv command output, the metric is not enabled. To enable that metric, execute this command on the Linux server:
xe host-data-source-record data-source=metric name host=hostname
If this command succeeds in enabling the metric, the metric will appear in rrd2csv command output.
- If you use the above commands but a required metric still doesn't appear in rrd2csv command output, the metric is not configured properly. Consult your Linux administrator.
Component monitors
Host - Free Memory
This monitor provides the total amount of free memory on the server host.
Unit: MB
Input: Server host name for which data is fetched
Condition: None
Host - Average CPU
This monitor provides the mean utilization of physical CPUs.
Unit: Percent
Input: Server host name for which data is fetched
Condition: None
Host - Control Domain Load
This monitor provides the Domain0 load average.
Unit: Percent
Input: Server host name for which data is fetched
Condition: None
Host - Reclaimed Memory
This monitor provides the host memory reclaimed by squeeze.
Unit: MB
Input: Server host name for which data is fetched
Condition: None
Host - Potential Reclaimed Memory
This monitor provides the host memory available to reclaim with squeeze.
Unit: MB
Input: Server host name for which data is fetched
Condition: None
Host - Total Memory
This monitor provides the total amount of memory in the host.
Unit: MB
Input: Server host name for which data is fetched
Condition: None
Host - Total NIC Receive
This monitor provides the Bytes per second received on all physical interfaces.
Unit: Bytes per second
Input: Server host name for which data is fetched
Condition: None
Host - Total NIC Send
This monitor provides the Bytes per second sent on all physical interfaces.
Unit: Bytes Per Second
Input: Server host name for which data is fetched
Condition: None
Host - Agent Memory Allocation
This monitor provides the Memory allocation done by the XAPI daemon.
Unit: MB
Input: Server host name for which data is fetched
Condition: None
Host - Agent Memory Usage
This monitor provides the total memory allocated used by XAPI daemon.
Unit: MB
Input: Server host name for which data is fetched
Condition: None
Host - Agent Memory Free
This monitor provides the Free memory available to the XAPI daemon.
Unit: MB
Input: Server host name for which data is fetched
Condition: None
Host - Agent Memory Live
This monitor provides the Live memory used by XAPI daemon.
Unit: MB
Input: Server host name for which data is fetched
Condition: None
Host - Physical Interface Receive
This monitor provides the Bytes per second received on the Physical Interface (PIF).
Unit: Bytes per Second
Inputs: Server host name, Physical Interface Name
Condition: PIF exists
Host - Physical Interface Sent
This monitor provides the Bytes per second sent by the PIF.
Unit: Bytes per Second
Inputs: Server host name, Physical Interface Name
Condition: PIF exists
Host - Physical Interface Receive Error
This monitor provides the Receive errors on the PIF.
Unit: Count
Inputs: Server host name, Physical Interface Name
Condition: PIF exists
Host - Physical Interface Send Error
This monitor provides Send errors for the PIF.
Unit: Count
Inputs: Server host name, Physical Interface Name
Condition: PIF exists
Host - Storage Repository Inflight Requests
This monitor provides the number of I/O requests currently in flight.
Unit: Count
Inputs: Server host name, Storage Repository Name
Condition: At least one plugged Virtual Block Disk (VBD) in given Storage Repository on the given host
Host - Storage Repository Read Throughput
This monitor provides the data read from the given storage repository.
Unit: MiB/Second
Inputs: Server host name, Storage Repository Name
Condition: At least one plugged Virtual Block Disk (VBD) in given Storage Repository on the given host
Host - Storage Repository Write Throughput
This monitor provides the data written to the given storage repository.
Unit: MiB/Second
Inputs: Server host name, Storage Repository Name
Condition: At least one plugged Virtual Block Disk (VBD) in given Storage Repository on the given host
Host Storage Repository Total Throughput
This monitor provides the all data(read/write) for the given storage repository.
Unit: MiB/Second
Inputs: Server host name, Storage Repository Name
Condition: At least one plugged Virtual Block Disk (VBD) in given Storage Repository on the given host
Host Storage Repository Write IOPS
This monitor provides the Write requests per second.
Unit: Count
Inputs: Server host name, Storage Repository Name
Condition: At least one plugged Virtual Block Disk (VBD) in given Storage Repository on the given host
Host - Storage Repository Read IOPS
This monitor provides the Read requests per second.
Unit: Count
Inputs: Server host name, Storage Repository Name
Condition: At least one plugged Virtual Block Disk (VBD) in given Storage Repository on the given host
Host - Storage Repository Total IOPS
This monitor provides the total (Read/Write) I/O requests per second.
Unit: Count
Inputs: Server host name, Storage Repository Name
Condition: At least one plugged Virtual Block Disk (VBD) in given Storage Repository on the given host
Host - Storage Repository I/O Wait
This monitor provides the percentage of the time waiting for I/O.
Unit: Percent
Inputs: Server host name, Storage Repository Name
Condition: At least one plugged Virtual Block Disk (VBD) in given Storage Repository on the given host
Host - Storage Repository Read Latency
This monitor provides the read latency for the given Storage Repository.
Unit: Milliseconds
Inputs: Server host name, Storage Repository Name
Condition: At least one plugged Virtual Block Disk (VBD) in given Storage Repository on the given host
Host - Storage Repository Write Latency
This monitor provides the write latency for the given Storage Repository.
Unit: Milliseconds
Inputs: Server host name, Storage Repository Name
Condition: At least one plugged Virtual Block Disk (VBD) in given Storage Repository on the given host
Host - Storage Repository Total Latency
This monitor provides the total (Read/Write) latency for the given Storage Repository.
Unit: Milliseconds
Inputs: Server host name, Storage Repository Name
Condition: At least one plugged Virtual Block Disk (VBD) in given Storage Repository on the given host
Host - CPU C State
This monitor provides the time during which the given CPU spent in the given C-state.
Unit: Milliseconds
Input: Server host name, CPU name, CPU C state
Condition: C-state exists on CPU
Host - CPU P State
This monitor provides the time during which the given CPU spent in the given P-state.
Unit: Milliseconds
Input: Server host name, CPU name, CPU C state
Condition: P-state exists on CPU
Host - HA Statefile Latency
This monitor provides the Turn-around time in seconds of the latest State-File access from the local host.
Unit: Seconds
Input: Server host name, Statefile UUID
Condition: HA Enabled
To find the Statefile UUID, run the following command on the XenServer: xe host-param-list uuid=<uuid of the XenServer host resting statefile>
Host - CPU Utilization
This monitor provides the utilization for the given CPU.
Unit: Percent
Input: Server host name, CPU name
Condition: CPU <CPU Name > exists
Host - Tapdisks_in_low_memory_mode
This monitor provides the tap disks count in low memory mode.
Unit: Count
Input: Server host name for which data will be fetched
Condition: None
Host - Xapi Open FDS
This monitor provides the number of open file descriptors held by xapi.
Unit: Count
Inputs: Server host name for which data will be fetched
Condition: None
Host - Pool Task Count
This monitor provides the number of tasks for the given host.
Unit: Count
Inputs: Server host name for which data will be fetched
Condition: None
Host - Pool Session Count
This monitor provides the number of sessions for the given host.
Unit: Count
Inputs: Server host name for which data will be fetched
Condition: None
VM - CPU Utilization
This monitor provides the CPU utilization of the given vCPU for the given VM.
Unit: Percent
Inputs: Virtual Machine Name, CPU Name
Condition: vCPU <CPU Name> exists
VM - Total Memory
This monitor provides the Memory currently allocated to the given VM.
Unit: MB
Inputs: Virtual Machine Name
Condition: None
VM - Memory Target
This monitor provides the Target of VM balloon driver.
Unit: MB
Inputs: Virtual Machine Name
Condition: None
VM - Free Memory
This monitor provides the Memory used as reported by the guest agent.
Unit: MB
Inputs: Virtual Machine Name
Condition: None
VM - vCPUs Full Run
This monitor provides the fraction of time that all vCPUs are running.
Unit: Fraction
Inputs: Virtual Machine Name
Condition: None
VM - vCPUs Full Contention
This monitor provides the fraction of time that all vCPUs are runnable (that is, waiting for CPU).
Unit: Fraction
Inputs: Virtual Machine Name
Condition: None
VM - vCPUs Concurrency Hazard
This monitor provides the fraction of time that some vCPUs are running and some are runnable.
Unit: Fraction
Inputs: Virtual Machine Name
Condition: None
VM - vCPUs Idle
This monitor provides the fraction of time that all vCPUs are blocked or offline.
Unit: Fraction
Inputs: Virtual Machine Name
Condition: None
VM - vCPUs Partial Run
This monitor provides the fraction of time that some vCPUs are running, and some are blocked.
Unit: Fraction
Inputs: Virtual Machine Name
Condition: None
VM - vCPUs Partial Contention
This monitor provides the fraction of time that some vCPUs are runnable and some are blocked.
Unit: Fraction
Inputs: Virtual Machine Name
Condition: None
VM - Disk Write
This monitor provides the speed with which data is written to the given disk.
Unit: Bytes Per Second
Inputs: Virtual Machine Name, Disk Name
Condition: Virtual Block Disk exists
VM - Disk Read
This monitor provides the speed with which data is read from the given disk.
Unit: Bytes Per Second
Inputs: Virtual Machine Name, Disk Name
Condition: Virtual Block Disk exists
VM - Disk Write Latency
This monitor provides the Write time to the given disk.
Unit: Milliseconds
Inputs: Virtual Machine Name, Disk Name
Condition: Virtual Block Disk exists
VM - Disk Read Latency
This monitor provides the Read time from the given disk.
Unit: Milliseconds
Inputs: Virtual Machine Name, Disk Name
Condition: Virtual Block Disk exists
VM - Disk Read IOPs
This monitor provides the Read requests per second for the given disk.
Unit: Count Per Second
Inputs: Virtual Machine Name, Disk Name
Condition: At least one plugged Virtual Block Disk for non-ISO VDI on the host
VM - Disk Write IOPs
This monitor provides the Write requests per second for the given disk.
Unit: Count Per Second
Inputs: Virtual Machine Name, Disk Name
Condition: At least one plugged Virtual Block Disk for non-ISO VDI on the host
VM - Disk Total IOPs
This monitor provides the Total (Read/Write) requests per second for the given disk.
Unit: Count Per Second
Inputs: Virtual Machine Name, Disk Name
Condition: At least one plugged Virtual Block Disk for non-ISO VDI on the host
VM - Disk IO Wait
This monitor provides the Percentage of time waiting for I/0 for the given disk.
Unit: Percent
Inputs: Virtual Machine Name, Disk Name
Condition: At least one plugged Virtual Block Disk for non-ISO VDI on the host
VM - Disk Inflight Requests
This monitor provides the number of I/O requests currently in flight for the given disk.
Unit: Count
Inputs: Virtual Machine Name, Disk Name
Condition: At least one plugged Virtual Block Disk for non-ISO VDI on the host
VM - Disk IO Throughput Total
This monitor provides the All I/O for the given Virtual Disk Image (VDI).
Unit: MiB/s
Inputs: Virtual Machine Name, Disk Name
Condition: At least one plugged Virtual Block Disk for non-ISO VDI on the host
VM - Disk IO Throughput Write
This monitor provides the Data written to the given Virtual Disk Image (VDI).
Unit: MiB/s
Inputs: Virtual Machine Name, Disk Name
Condition: At least one plugged Virtual Block Disk for non-ISO VDI on the host
VM - Disk IO Throughput Read
This monitor provides the Data read from the given Virtual Disk Image (VDI).
Unit: MiB/s
Inputs: Virtual Machine Name, Disk Name
Condition: At least one plugged Virtual Block Disk for non-ISO VDI on the host
VM – VIF Receive
This monitor provides the Bytes per second received on the given virtual interface number.
Unit: Bytes Per Second
Inputs: Virtual Machine Name, Interface ID
Condition: VIF ID exists
VM – VIF Send
This monitor provides the Bytes per second transmitted on given virtual interface.
Unit: Bytes Per Second
Inputs: Virtual Machine Name, Interface ID
Condition: VIF ID exists
VM – VIF Receive Errors
This monitor provides the Receive errors per second on the given virtual interface.
Unit: Count Per Second
Inputs: Virtual Machine Name, Interface ID
Condition: VIF ID exists
VM – VIF Send Errors
This monitor provides the Transmitted errors per second on the given virtual interface.
Unit: Count Per Second
Inputs: Virtual Machine Name, Interface ID
Condition: VIF ID exists