Simple Way to Keep an eye on top VM usage: virt-top

Sort by top memory:
Sort by top net out:
Sort by top net in: 
Sort by top CPU usage 
virt-top -o mem
virt-top -o nettx
virt-top -o netrx
You can also use just: virt-top and use the numerical: 0 (cpu usage),  2 (network usage), and  3 (disk usage) for fast access. 
Example of flags passed to view disk usage and network usage in bytes:
virt-top -3 --block-in-bytes (who's abusing the disk?)
virt-top -o nettx --block-in-bytes (who's outbound DoS?)

Output 1 minute of the Top Memory users via CSV output for use in graphing (ONLY MEMORY) 
[~]# virt-top --end-time +00:01:00 -o mem --script --no-csv-cpu --no-csv-block --no-csv-net --csv x.txt

CSV output 3 minutes of the of ONLY the top Network inbound, output to CSV for graphing (Only NET IN)
[~]# virt-top --end-time +00:03:00 -o netrx --script --no-csv-cpu --no-csv-mem --no-csv-block --csv top-inbound.txt


Advanced, CSV output the top block device usage (by read and write bytes for easy reading instead of cycles) and output after a 3 minute query. (ONLY BLK USAGE)


[~]# virt-top -3 --block-in-bytes --end-time +00:03:00 --script --no-csv-cpu --no-csv-mem --no-csv-net --csv drive-io.txt