When I monitor a Citrix XenServer, for example, with PRTG’s Xen server host sensor, the return values in channels like network send and receive seem to be very odd. Could you please clarify what these numbers mean?
This article applies to PRTG Network Monitor 12 or later
How to Understand the Values of Citrix XenServer Sensors
PRTG displays values for traffic as these are extracted from Xen devices. For example, the Citrix XenServer Host Sensor can show network traffic for an interface IF. The data is extracted from the variable pif_IF_rx (bytes per second received on physical interface IF) and pif_IF_tx (bytes per second sent on physical interface IF).
Unfortunately, you cannot use this data to generate reports in PRTG. It is only possible to get snapshots in time; there are not any counters. These values cannot be processed in reports.
However, you can review the data manually:
- Xen API stores persistent performance data in round robin databases (RRDs) using a fixed structure.
- You can review the raw data read by PRTG with your browser via /rrd_updates: https://<host>/rrd_updates?start=<timestamp>&host=true
- Replace the placeholder <host> in the address with your Xen server’s IP or FQDN.
- The parameter start needs to be provided using Unix-type timestamp; replace the placeholder <timestamp>. We recommend using the timestamp “five minutes ago” (see Epoch & Unix Timestamp Conversion Tools). Then you will receive report data for the last five minutes.
- The query parameter host=true enables to obtain not only VM data, but host data as well.
- You will have to enter your Xen server credentials to access this data.
- This will provide data for the queried host in an XML format with RRDtool ‘xport’ style. Because this format is hardly readable, you can use a tool to view the results in a table (for example, DSreport).
- To find the values of your interest, look for the specific counter. For example, if you want to know the received traffic on the interface eth0 of your Xen server, look for the entry pif_eth0_rx.
- You can find an overview of counter definitions on Xen Wiki.
Here is an overview about the RRD values PRTG uses (CAPS in values are placeholders):
|cpuN||CPU N Usage|
|pif_IF_rx /vif_IF_rx||Network IF received|
|pif_IF_tx/vif_IF_tx||Network IF sent|
|pif_IF_rx_errors/vif_IF_rx_errors||Network IF errors received|
|pif_IF_tx_errors/vif_IF_tx_errors||Network IF errors sent|
|sr_SR_cache_size||IntelliCache size SR|
|sr_SR_cache_hits||IntelliCache hits on SR|
|sr_SR_cache_misses||IntelliCache misses on SR|
|vbd_DEV_write||Writes to DEV|
|vbd_DEV_read||Reads from DEV|
|vbd_DEV_write_latency||Latency write DEV|
|vbd_DEV_read_latency||Latency read DEV|
|memory_target||VM balloon driver target|
|memory_total_kib||Total Memory used|
|memory_free_kib||Total Memory free|
|xapi_memory_usage_kib||Total Memory XAPI|
|xapi_free_memory_kib||Memory free XAPI daemon|
|xapi_live_memory_kib||Memory live XAPI daemon|
|xapi_allocation_kib||Memory allocation XAPI daemon|
|runstate_fullrun||All VCPUs running|
|runstate_full_contention||All VCPUs runnable|
|runstate_concurrency_hazard||VCPUs running or runnable|
|runstate_blocked||VCPUs blocked or offline|
|runstate_partial_run||VCPUs running or blocked|
|runstate_partial_contention||VCPUs runnable or blocked|