A set of tools intended to ease the collection, processing, visualisation and analysis of performance data generated by XenServer.
These tools automate the visualisation of RRD data stored in XenServer. They provide a facility to extract the RRD data and apply filters to visualise specific variables of interest.
The xsrrd2gnuplot tool is a shortcut for xsrrd2dat + xsdat2gnuplot.
- Generate graphs for cpus, vifs, vbds, memory in guests
xsrrd2gnuplot <path_to>/var/xapi/blobs/rrds
The output will be gnuplot files in the current directory:
./guests_rrd_data_cpu*_600.gnuplot
./guests_rrd_data_cpu*_7200.gnuplot
./guests_rrd_data_cpu*_604800.gnuplot
./guests_rrd_data_cpu*_31622400.gnuplot
etc
where the numbers 600, 7200 etc indicate the granularity of the RRD data, in seconds.
To visualise the resulting graph, you can either run
gnuplot ./guests_rrd_data_cpu*_600.gnuplot
or
./guests_rrd_data_cpu*_600.gnuplot
- Generate graphs for vifs in guests
xsrrd2gnuplot <path_to>/var/xapi/blobs/rrds guests vif*
- Generate graphs for cpu usage in host
xsrrd2gnuplot <path_to>/var/xapi/blobs/rrds dom0 cpu*
- Generate graphs for loadavg in dom0
xsrrd2gnuplot <path_to>/var/xapi/blobs/rrds dom0 loadavg
- Generate graphs for pifs in dom0
xsrrd2gnuplot <path_to>/var/xapi/blobs/rrds dom0 pif*
- Parse an existing set of XenServer RRD files into /tmp/dat:
mkdir /tmp/dat
xsrrd2dat <path>/var/xapi/blobs/rrds /tmp/dat
Each vm will have its own dat- directory inside /tmp/dat.
The resulting *.dat files can be loaded eg. in a spreadsheet to create graphs or be further processed using xsdat2gnuplot. The first column of the *.dat files corresponds to the timestamp of the measurement in posix time, and the second column corresponds to the value of the measurement.
- Create gnuplot files from data for all cpus:
./xsdat2gnuplot dom0 "cpu*" /tmp/dat /tmp/dat
- The quotes are important:
./xsdat2gnuplot guests "cpu*" /tmp/dat /tmp/dat
- Create gnuplot files from data for specific guest cpus:
./xsdat2gnuplot guests "cpu{0,2}" /tmp/dat /tmp/dat
- Output the gnuplot files from data in the current directory:
./xsdat2gnuplot guests "cpu{0,2}" /tmp/dat
- Create gnuplot files from data for all guest vifs:
./xsdat2gnuplot guests "vif*" /tmp/dat
- Create gnuplot files from data for guest memory usage:
./xsdat2gnuplot guests "memory*" /tmp/dat
- Create gnuplot files from data for a specific guest vbd:
./xsdat2gnuplot guests "vbd_hda_write" /tmp/dat
- Create gnuplot files from data for dom0 pifs:
./xsdat2gnuplot dom0 "pif_eth*" /tmp/dat