I am trying to develop a cloud-bursting solution for our cluster. What I need is a way to monitor the VM's on the openNebula cluster and turn off those vm's whose cpu consumption is less then 10% for a certain amount of time. I am stuck at monitoring part.
I am not able to find any way via which I can timely monitor the VM's for the CPU/Memory consumption status.
I am writing code on python. I am also using libcloud to access the openNebula from my code.
Any ideas? Thanks.
You should use the OpenNebula XMLRPC API instead of libcloud, since libcloud does not include monitoring information of the VMs.
You can use any of the available binding to interact with the OpenNebula XMLRPC API (ruby & java)
Calling the info method on a Virtual Machine instance will retrieve the Virtual Machine information including the monitoring values for CPU and MEMORY