Documentation forServer & Application Monitor

Citrix Hypervisor template

This SAM 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>
  • 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