4

I've been wondering whether there's a tool for monitoring how OpenStack is using physical resources (cluster [cpus, ram], network [interfaces, switches]) for its virtual infrastructures? The virtual infrastructures are visible in Horizon, however how this has been mapped to the physical resources is not. Is there a way to get this information?

Added Monitoring resource utilisation on the physical infrastructure is one thing (thank you Jeroen for showing me the direction), however what also interests me is information such as VM X is running on CPU Y on host Z using interface A and disk B (where Y, Z, A, B are parts of a cluster where OpenStack is running at). OpenStack needs to keep this information somehow, so I'm wondering whether there's any tool for that or a way to extract it or whether it requires some hacking on my own?

Also what interests me is how OpenStack decides which resources should be assigned to a starting vm instances. Let's say that OpenStack is running on some cluster and someone is starting a vm instance. How does it assign physical resources to it from the cluster? Is it using any clever strategy or algorithm or is it random? Could you please list any sources, which could be helpful for the further studies of this problem? Which is resource allocation in IAAS, especially in OpenStack.

030
  • 5,731
  • 12
  • 61
  • 107
Michal
  • 91
  • 4
  • Its all in the Nova database, I don't currently have access to a OS install so cant tell you exact table names. But when I was building/managing an OS cluster 6 months ago it was all there. – Geraint Jones Jul 06 '15 at 08:58
  • @GeraintJones Could you provide me a little more info on that? I would be more than happy to award you the bounty, as that info would basically solve my main problem. – Michal Jul 06 '15 at 18:39

1 Answers1

3

If you want the resource usage per VM/tenant, you could use Ceilometer. If you want to monitor the OpenStack services and not the VMs, you probably have to create something yourself (collectd/diamond + graphite for example).

Information like what volumes are attached to the VM are stored in the database (depending on your set-up it might be the Cinder DB). When you start a VM, the nova-scheduler will try to find a hypervisor that has enough resources left to spawn your VM on. It uses an algorithm to do so.

Jeroen
  • 1,339
  • 7
  • 16