Based on Ubuntu 14.04 LTS x86_64


we will install Telemetry service on controller node

1. aptitude -y install ceilometer-api ceilometer-collector ceilometer-agent-central ceilometer-agent-notification ceilometer-alarm-evaluator ceilometer-alarm-notifier python-ceilometerclient


2. mysql -uroot -p
mysql> create database ceilometer;
mysql> grant all privileges on ceilometer.* to 'ceilometer'@'localhost' identified by 'CEILOMETER-DBPASS';
mysql> grant all privileges on ceilometer.* to 'ceilometer'@'%' identified by 'CEILOMETER-DBPASS';
mysql> flush privileges;


3. vi /etc/ceilometer/ceilometer.conf
[database]
connection=mysql://ceilometer:ceilometer@MYSQL-SERVER/ceilometer


rm -rf /var/lib/ceilometer/ceilometer.sqlite

ceilometer-dbsync


4. # create ceilometer user
keystone user-create --tenant service --name ceilometer --pass CEILOMETER-USER-PASS

# Add role to the ceilometer user
keystone user-role-add --user=ceilometer --tenant=service --role=admin

# create ceilometer service
keystone service-create --name=ceilometer --type=metering --description="Telemetry Service"

# create ceilometer endpoint
keystone endpoint-create --region RegionOne --service ceilometer --publicurl=http://controller:8777 --internalurl=http://controller:8777 --adminurl=http://controller:8777


5. vi /etc/ceilometer/ceilometer.conf

[publisher]
metering_secret=SECRET-STRING-YOU-SPECIFY

[DEFAULT]

rabbit_host = controller
rabbit_password = GUEST-PASS

log_dir = /var/log/ceilometer

auth_strategy=keystone

[keystone_authtoken]
auth_host = controller
auth_port = 35357
auth_protocol = http
auth_uri = http://controller:5000
admin_tenant_name = service
admin_user = ceilometer
admin_password = CEILOMETER-USER-PASSWORD
[service_credentials]
os_username=ceilometer
os_password=CEILOMETER-USER-PASSWORD
os_tenant_name=service
os_auth_url=http://controller:5000/v2.0

6. chown -R ceilometer:ceilometer /etc/ceilometer /var/log/ceilometer

service ceilometer-agent-central restart
service ceilometer-agent-notification restart
service ceilometer-api restart
service ceilometer-collector restart
service ceilometer-alarm-evaluator restart
service ceilometer-alarm-notifier restart


Install the Compute agent for Telemetry on computer node

1. aptitude -y install ceilometer-agent-compute


2. vi /etc/nova/nova.conf
[DEFAULT]
instance_usage_audit=True
instance_usage_audit_period=hour
notify_on_state_change=vm_and_task_state
notification_driver=nova.openstack.common.notifier.rpc_notifier
notification_driver=ceilometer.compute.nova_notifier


service nova-compute restart


3. vi /etc/ceilometer/ceilometer.conf

[publisher]
metering_secret=SECRET-STRING-YOU-SPECIFY

[DEFAULT]

rabbit_host = controller
rabbit_password = GUEST-PASS

log_dir = /var/log/ceilometer

[keystone_authtoken]
auth_host = controller
auth_port = 35357
auth_protocol = http
auth_uri = http://controller:5000
admin_tenant_name = service
admin_user = ceilometer
admin_password = CEILOMETER-USER-PASSWORD
[service_credentials]
os_username=ceilometer
os_password=CEILOMETER-USER-PASSWORD
os_tenant_name=service
os_auth_url=http://controller:5000/v2.0


4. chown -R ceilometer:ceilometer /etc/ceilometer /var/log/ceilometer

service ceilometer-agent-compute restart


Configure the Image Service for Telemetry

on Glance Image Service node
1. vi /etc/glance/glance-api.conf
notification_driver=messaging

2. service glance-registry restart
service glance-api restart


Config the Block Storage service agent for Telemetry

on the cinder controller and volume nodes

vi /etc/cinder/cinder.conf

[DEFAULT]
control_exchange=cinder
notification_driver=cinder.openstack.common.notifier.rpc_notifier

On the cinder controller node:
service cinder-api restart
service cinder-scheduler restart


On the cinder volume node:
service cinder-volume restart


Configure the Object Storage service for Telemetry

on keystone node:

keystone role-create --name=ResellerAdmin
keystone user-role-add --tenant service --user ceilometer --role ResellerAdmin

on swift proxy node:

vi /etc/swift/proxy-server.conf
# include ceilometer
[pipeline:main]
pipeline = healthcheck cache authtoken keystoneauth ceilometer proxyserver

# add at the last line
[filter:ceilometer]
use = egg:ceilometer#swift

service swift-proxy restart


Verify Telemetry Installation

source ~/adminrc

keystone user-role-add --tenant admin --user admin --role ResellerAdmin

keystone user-role-add --tenant demo1 --user demo1 --role ResellerAdmin

ceilometer meter-list