In one of our projects we need to understand the energy consumption of our servers. Our initial work in this direction involved collecting energy consumption data using Kwapi and storing it in Ceilometer for further study. The data stored in Ceilometer is valuable; however, it is insufficient to really understand energy consumption in detail. Consequently, we are developing a web application which gives a much greater insight into energy consumption in our cloud resources. This is very much a work in progress, so this post just highlights a few points relating to the application as well as a video which shows the current version of the application.

The tool was developed to be totally integrated with Openstack. Users log in with their Openstack credentials (using Keystone authentication) and are  redirected to the overview page where they can see  the total energy consumed by the VMs in their projects for the the previous month as well as some  general information regarding virtual machines; a line chart displays how energy consumed varies over time.

The user interface also displays break downs of energy consumed by virtual machines, projects and the total energy consumption during a specified time range (with a granularity of 1 month). The tool supports a system administrator view which has a slightly different perspective from the users; the structure is almost the same but the administrator can see physical server energy consumption as well as consumption per VM and projects.

Disaggregating energy consumption in this manner is, of course, not an exact science – there are multiple ways in which it can be done. At present our tool divides energy consumption amongst the active VMs without really accounting for either variation in usage or the idle energy consumption of the physical servers. As it is developed, it will support different modes of disaggregating the energy.

The video below shows the current status of our development efforts.

There is still a lot of work to do but we hope this basic variant gives some ideas on what is possible with a detailed understanding of energy data. The focus of our work is on understanding the energy consumption in detail and this tool helps us to clarify what is happening inside our servers (regarding energy consumption) when a VM is being loaded, migrated or simply doing nothing.

Update:  If you are interested in this tool check out our git repository.

If you’re interested in this topic, you may be interested in some of our other blog posts: