OpenStack Havana Ceilometer安装指导
题记
由于我们的系统在很早之前就部署完成了。当时Ceilomter刚刚在Havana版本中发布,我们主要专注于网络和虚拟化部分,所以当时就没有在我们的Havana版本环境中安装Ceilomter,但是现在由于需要,开始研究OpenStack的监控功能, 所以就需要在我们现有的系统上补上Ceilomter了。利用了网上的各种教程,但是发现都有些问题,最终不得不依靠官方的Havana部署教程,利用其Ceilometer安装那一节的教程,完成了Ceilometer的完美部署。
教程
我们的系统是依据OpenStack Havana版本部署的,整个系统采用网络集中式部署,也就是说我们的系统分为三个部分:控制节点,网络节点和计算节点。具体的系统相关信息可以参照该篇教程。
所有节点
我们需要在所有的节点安装以下的安装包,这个是Ceilometer的实现基础:
sudo apt-get install python-ceilometer ceilometer-common
控制节点
1.在控制节点安装以下的包:
sudo apt-get install ceilometer-api ceilometer-collector ceilometer-agent-central python-ceilometerclient
2.如此之后,控制节点上就已经完成了Ceilometer大部分安装了,接下来就是安装mogodb数据库,这个是Ceilometer默认的数据存储的仓库:
sudo apt-get install mongodb
3.接着我们开始配置mongodb监听所有的网络接口请求:
sudo sed -i 's/127.0.0.1/0.0.0.0/g' /etc/mongodb.conf
4.重启mongodb服务,让配置生效:
service mongodb restart
5.创建数据库ceilometer和对应的用户:
首先进入mongodb:
mongo
接着执行创建用户命令:
>use ceilometer
>db.addUser( { user: "ceilometer", pwd: "CEILOMETER_DBPASS", roles: [ "readWrite", "dbAdmin" ]} )
6.编辑/etc/ceilometer/ceilometer.conf文件,配置数据库参数:1
2
3
4[database]
# The SQLAlchemy connection string used to connect to the
# database (string value)
connection = mongodb://ceilometer:CEILOMETER_DBPASS@controller:27017/ceilometer
7.利用openssl生成一个随机token密钥,该密钥用于Ceilometer各个组件之间通信加密使用:
openssl rand -hex 10
cefafd2288d0e4e43005 (注:这是命令生成的随机token)
编辑/etc/ceilometer/ceilometer.conf文件,修改中间的 [publisher_rpc]
选项,配置token
:1
2
3
4[publisher_rpc]
# Secret value for signing metering messages (string value)
metering_secret = cefafd2288d0e4e43005
...
8.编辑/etc/ceilometer/ceilometer.conf,修改RabbitMQ
配置选项:1
rabbit_host = controller_ip_address(自行修改)
9.编辑/etc/ceilometer/ceilometer.conf,修改日志打印目录:1
2[DEFAULT]
log_dir = /var/log/ceilometer
10.Keystone相关信息创建:
keystone user-create --name=ceilometer --pass=CEILOMETER_PASS --email=ceilometer@example.com
keystone user-role-add --user=ceilometer --tenant=service --role=admin
keystone service-create --name=ceilometer --type=metering --description="Ceilometer Telemetry Service"
keystone endpoint-create --service-id=the_service_id_above --publicurl=http://controller_ip_address:8777 --internalurl=http://controller_ip_address:8777 --adminurl=http://controller_ip_address:8777
11.编辑/etc/ceilometer/ceilometer.conf,修改相关配置:1
2
3
4
5
6
7
8
9
10
11
12
13[keystone_authtoken]
auth_host = controller_ip_address
auth_port = 35357
auth_protocol = http
auth_uri = http://controller_ip_address:5000
admin_tenant_name = service
admin_user = ceilometer
admin_password = CEILOMETER_PASS
[service_credentials]
os_username = ceilometer
os_tenant_name = service
os_password = CEILOMETER_PASS
12.重启Ceilometer相关服务,使其生效:
service ceilometer-agent-central restart
service ceilometer-api restart
service ceilometer-collector restart
13.编辑/etc/glance/glance-api.conf,修改Glance
配置:1
2notifier_strategy = rabbit
rabbit_host = controller
重启相关服务:
service glance-registry restart
service glance-api restart
14.编辑/etc/cinder/cinder.conf,修改Cinder
配置:1
2control_exchange = cinder
notification_driver = cinder.openstack.common.notifier.rpc_notifier
重启相关服务:
service cinder-volume restart
service cinder-api restart
注:由于我们的环境中没有安装Swift,所以有关Swift配置的部分就省略了。需要的话,请查看本教程中的参考资料。
计算节点
1.安装计算节点所需服务:
sudo apt-get install ceilometer-agent-compute
2.编辑 /etc/nova/nova.conf文件,配置Nova相关选项:1
2
3
4
5
6
7[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
3.编辑/etc/ceilometer/ceilometer.conf,配置计算节点上Ceilometer的选项:1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23[publisher_rpc]
# Secret value for signing metering messages (string value)
metering_secret = cefafd2288d0e4e43005
[DEFAULT]
rabbit_host = controller
[keystone_authtoken]
auth_host = controller_ip_address
auth_port = 35357
auth_protocol = http
admin_tenant_name = service
admin_user = ceilometer
admin_password = CEILOMETER_PASS
[service_credentials]
os_auth_url = http://controller_ip_address:5000/v2.0
os_username = ceilometer
os_tenant_name = service
os_password = CEILOMETER_PASS
[DEFAULT]
log_dir = /var/log/ceilometer
4.重启服务使得配置生效:
service ceilometer-agent-compute restart
参考资料
1.Install the Telemetry module - OpenStack Installation Guide for Ubuntu 12.04 (LTS) - havana
2.Ubuntu 12.04 Server OpenStack Havana多节点(OVS+GRE)安装
3.部署Ceilometer到已有环境中