Citrix XenServer

This template contains performance & statistics counters for monitoring Citrix XenServer.

Some of the counters may require manual configuration, such as setting up installation-specific instances, correcting thresholds for the client’s environment, and so forth.

  • Prerequisites: XenServer 7.5 or 7.6
  • Credentials: SSH Access to the Linux machine hosting XenServer 7.5 or 7.6. 

Portions of this document were originally created by and are excerpted from the following source:

Notes:

  1. Whatever metric you are putting on monitoring, that metric must be available in rrd2csv command output executed directly on Xen Server.  If you don't find the required metric in above command output, then there must be 2 reasons. Either that metric is not enabled or that metric settings are not configured.
  2. To find the list of metrics which you can monitor, you need to run the below commands directly on the XenServer.
    • For Host: xe host-data-source-list hostname=<XenServerHostname>
    • For VM: xe vm-data-source-list vm=<VirtualMachineName>

        If you see the required metric in point above command output but not in rrd2csv command output, then it means you need to enable that metric. Here is how you can enable that metric:

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

        Once the above command is successful, that metric should be seen in rrd2csv command output.

     3. If you don't see the required metric in point 2 commands output then that metric is not configured. You need to check with your XenServer administrator to configure the settings required for that metric.

     4. As Citrix Server itself is Linux based, this template will be running against the Linux agent.


MONITORED COMPONENTS

  • 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 P 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
    • Statefile UUID can be found out after executing the below 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