From Fedora Project Wiki

 sudo yum install *ceilometer*

The mongoDB store also must be installed and started:

 sudo yum install mongodb-server
 sudo sed -i '/--smallfiles/!s/OPTIONS=\"/OPTIONS=\"--smallfiles /' /etc/sysconfig/mongod
 sudo service mongod start

Create the appropriate users and roles:

 SERVICE_TENANT=$(keystone tenant-list | grep service | awk '{print $2}')
 ADMIN_ROLE=$(keystone role-list | grep ' admin ' | awk '{print $2}')
 CEILOMETER_USER=$(keystone user-create --name=ceilometer \
   --pass="$SERVICE_PASSWORD" \
   --tenant_id $SERVICE_TENANT \ | awk '/ id / {print $4}')
 RESELLER_ROLE=$(keystone role-create --name=ResellerAdmin | awk '/ id / {print $4}')
 ADMIN_ROLE=$(keystone role-list | awk '/ admin / {print $2}')
 for role in $RESELLER_ROLE $ADMIN_ROLE ; do
   keystone user-role-add --tenant_id $SERVICE_TENANT \
     --user_id $CEILOMETER_USER --role_id $role

Set the authtoken config appropriately in the ceilometer config file:

 sudo openstack-config --set /etc/ceilometer/ceilometer.conf keystone_authtoken auth_host
 sudo openstack-config --set /etc/ceilometer/ceilometer.conf keystone_authtoken auth_port 35357
 sudo openstack-config --set /etc/ceilometer/ceilometer.conf keystone_authtoken auth_protocol http
 sudo openstack-config --set /etc/ceilometer/ceilometer.conf keystone_authtoken admin_tenant_name services
 sudo openstack-config --set /etc/ceilometer/ceilometer.conf keystone_authtoken admin_user ceilometer
 sudo openstack-config --set /etc/ceilometer/ceilometer.conf keystone_authtoken admin_password $SERVICE_PASSWORD

Set the user credentials config appropriately in the ceilometer config file:

 sudo openstack-config --set /etc/ceilometer/ceilometer.conf DEFAULT os_auth_url
 sudo openstack-config --set /etc/ceilometer/ceilometer.conf DEFAULT os_tenant_name services
 sudo openstack-config --set /etc/ceilometer/ceilometer.conf DEFAULT os_password $SERVICE_PASSWORD
 sudo openstack-config --set /etc/ceilometer/ceilometer.conf DEFAULT os_username ceilometer

Then start the services:

 for svc in compute central collector api ; do
     sudo service openstack-ceilometer-$svc start

Finally, register an appropriate endpoint with the service catalog:

 keystone service-create --name=ceilometer \
   --type=metering --description="Ceilometer Service"
 CEILOMETER_SERVICE=$(keystone service-list | awk '/ceilometer/ {print $2}')
 keystone endpoint-create \
   --region RegionOne \
   --service_id $CEILOMETER_SERVICE \
   --publicurl "http://localhost:8777/" \
   --adminurl "http://localhost:8777/" \
   --internalurl "http://localhost:8777/"