Se você quiser o uso de recursos por VM / locatário, você pode usar o Ceilometer . Se você quiser monitorar os serviços do OpenStack e não as VMs, você provavelmente terá que criar algo você mesmo (collectd / diamond + graphite por exemplo).
Informações como quais volumes estão anexados à VM são armazenados no banco de dados (dependendo da configuração, pode ser o Cinder DB). Quando você inicia uma VM, o nova-scheduler tentará encontrar um hipervisor que tenha recursos suficientes para gerar sua VM. Ele usa um algoritmo para fazer isso.