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