Ceilometer out of the box is configured to start publishing CPU metrics [cpu_util] for the virtual machines.
Nova has a lot of configuration options for enabling needed components in the service. Refer the following OpenStack documentation to see a list of all the available options:
The one we will be interested in will be 'compute_monitors' to enable the compute driver to get the CPU metrics. The following entry needs to be added to the /etc/nova/nova.conf on the Compute nodes:
compute_monitors = ComputeDriverCPUMonitor
Restarting the nova compute service should start pushing the host CPU metrics to the controller.