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