Documentation forServer & Application Monitor
Monitoring your applications and environment is a key capability of SolarWinds Observability Self-Hosted (formerly Hybrid Cloud Observability) and is available in the Essentials edition. Server & Application Monitor (SAM) is also available in a standalone module.

Citrix XenServer

This SAM application monitor template contains performance and statistics counters to monitor PVS Accelerator metrics implemented in XenServer as a result of the integration of PVS Accelerator and XenServer.

This template was deprecated in SAM 2020.2 but is still available in THWACK.

Portions of this topic are excerpts of Citrix XenServer documentation (© 2019 Citrix Systems, Inc., available at https://docs.citrix.com, obtained on February 14, 2020).

Prerequisites

XenServer 7.5 or 7.6

Credentials

SSH Access to the Linux machine hosting XenServer 7.5 or 7.6.

Notes

Note the following details about this template:

  • Citrix Server is Linux based so this template runs against the Linux agent.
  • Some counters may require manual configuration, such as setting up installation-specific instances, correcting thresholds for the client’s environment, and so forth.

Each metric you want to monitor must be available in rrd2csv command output, executed directly on XenServer. If you don't find the required metric in that command output, then either that metric is not enabled or metric settings are not configured.

To find the list of metrics you can monitor, run the following command directly on the XenServer:

  • For host: xe host-data-source-list hostname=<XenServerHostname>
  • For VM: xe vm-data-source-list vm=<VirtualMachineName>

If the metric is returned in xe-host-data-source output, but not in rrd2csv command output, that indicates you need to enable the metric with the following command:

xe host-data-source-record data-source=metric name host=hostname

After running that command, the metric should appear in rrd2csv command output. If you still don't see the required metric in rrd2csv command output, the metric is not configured. Check with your XenServer/PVS administrator to configure the settings required for that metric.

Component monitors

Click here for an overview about SAM application monitor templates and component monitors. SAM API Poller templates are also available.

Host - Free Memory

This monitor provides the total amount of free memory on XenServer host.

Unit: MB

Input: XenServer host name for which data has to be fetched

Condition: None

Host - Average CPU

This monitor provides the mean utilization of physical CPUs.

Unit: Percent

Input: XenServer host name for which data has to be fetched

Condition: None

Host - Control Domain Load

This monitor provides the Domain0 load average.

Unit: Percent

Input: XenServer host name for which data has to be fetched

Condition: None

Host - Reclaimed Memory

This monitor provides the host memory reclaimed by squeeze.

Unit: MB

Input: XenServer host name for which data has to be fetched

Condition: None

Host - Potential Reclaimed Memory

This monitor provides the host memory available to reclaim with squeeze.

Unit: MB

Input: XenServer host name for which data has to be fetched

Condition: None

Host - Total Memory

This monitor provides the total amount of memory in the host.

Unit: MB

Input: XenServer host name for which data has to be fetched

Condition: None

Host - Total NIC Receive

This monitor provides the Bytes per second received on all physical interfaces.

Unit: Bytes per second

Input: XenServer host name for which data has to be fetched

Condition: None

Host - Total NIC Send

This monitor provides the Bytes per second sent on all physical interfaces.

Unit: Bytes Per Second

Input: XenServer host name for which data has to be fetched

Condition: None

Host - Agent Memory Allocation

This monitor provides the Memory allocation done by the XAPI daemon.

Unit: MB

Input: XenServer host name for which data has to be fetched

Condition: None

Host - Agent Memory Usage

This monitor provides the total memory allocated used by XAPI daemon.

Unit: MB

Input: XenServer host name for which data has to be fetched

Condition: None

Host - Agent Memory Free

This monitor provides the Free memory available to the XAPI daemon.

Unit: MB

Input: XenServer host name for which data has to be fetched

Condition: None

Host - Agent Memory Live

This monitor provides the Live memory used by XAPI daemon.

Unit: MB

Input: XenServer host name for which data has to be fetched

Condition: None

Host - Physical Interface Receive

This monitor provides the Bytes per second received on physical interface (PIF).

Unit: Bytes per Second

Inputs: XenServer host name, Physical Interface Name

Condition: PIF exists

Host - Physical Interface Sent

This monitor provides the Bytes per second sent by physical interface (PIF).

Unit: Bytes per Second

Inputs: XenServer host name, Physical Interface Name

Condition: PIF exists

Host - Physical Interface Receive Error

This monitor provides the errors on physical Interface (PIF).

Unit: Count

Inputs: XenServer host name, Physical Interface Name

Condition: PIF exists

Host - Physical Interface Send Error

This monitor provides the errors by physical Interface (PIF).

Unit: Count

Inputs: XenServer host name, Physical Interface Name

Condition: PIF exists

Host - Storage Repository Cache Size

This monitor provides the cache size of the IntelliCache Storage Repository.

Unit: MB

Inputs: XenServer host name, Storage Repository Name

Condition: IntelliCache Enabled

Host - Storage Repository Cache Hits

This monitor provides the cache hits per second for that given Storage Repository.

Unit: Count

Inputs: XenServer host name, Storage Repository Name

Condition: IntelliCache Enabled

Host - Storage Repository Cache Misses

This monitor provides cache misses per second for the given Storage Repository.

Unit: Count

Inputs: XenServer host name, Storage Repository Name

Condition: IntelliCache Enabled

Host - Storage Repository Inflight Requests

This monitor provides the number of I/O requests currently in flight.

Unit: Count

Inputs: XenServer 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: XenServer 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: XenServer 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: XenServer 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: XenServer 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: XenServer 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: XenServer 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: XenServer 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: XenServer 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: XenServer 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: XenServer 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: XenServer 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: XenServer host name, CPU name, CPU C state

Condition: P-state exists on CPU

Host - CPU Utilization

This monitor provides the utilization for the given CPU.

Unit: Percent

Input: XenServer host name, CPU name

Condition: CPU <CPU Name > exists

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: XenServer 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 - Tapdisks_in_low_memory_mode

This monitor provides the tap disks count in low memory mode.

Unit: Count

Input: XenServer host name for which data has to be fetched

Condition: None

Host - Storage Repository Write

This monitor provides the data Writes from the given storage repository.

Unit: MB/second

Inputs: XenServer 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

This monitor provides the data Read from the given storage repository.

Unit: MB/second

Inputs: XenServer host name, Storage Repository Name

Condition: At least one plugged Virtual Block Disk (VBD) in given Storage Repository on the given host

Host - Xapi Open FDS

This monitor provides the number of open file descriptors held by xapi.

Unit: Count

Inputs: XenServer host name for which data has to be fetched

Condition: None

Host - Pool Task Count

This monitor provides the number of tasks for the given host.

Unit: Count

Inputs: XenServer host name for which data has to be fetched

Condition: None

Host - Pool Session Count

This monitor provides the number of sessions for the given host.

Unit: Count

Inputs: XenServer host name for which data has to 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