Ceilometer部署文档

Ceilometer简介

Ceilometer是由Openstack的计量模块,用于统计Openstack的资源与用量,并提供监控告警等功能。

本文介绍了Ceilometer的安装部署过程、服务的配置与启动。

环境说明

操作系统是Centos6.3,openstack组件的版本:ceilometer-2013.1.4,nova-2012.2.4,glance-2012.2.4,keystone-2012.2.4,quantum-2013.1,horizon-2013.1,cinder-2013.1

在keystone里添加ceilometer用户

创建keystone_bash.sh,参考keystone_data.sh

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
SERVICE_PASSWORD=${SERVICE_PASSWORD:-service_pass}
SERVICE_TENANT=${SERVICE_TENANT:-service}

function get_id () {
echo `$@ | awk '/ id / { print $4 }'`
}

RESELLERADMIN_ROLE=$(get_id keystone role-create --name=ResellerAdmin)

CEILOMETER_USER=$(get_id keystone user-create --name=ceilometer \
--pass="$SERVICE_PASSWORD" --tenant-id $SERVICE_TENANT \
--email=ceilometer@domain.com)

keystone user-role-add --tenant-id $SERVICE_TENANT --user-id $CEILOMETER_USER \
--role-id $RESELLERADMIN_ROLE

添加ceilometer的endpoint信息

我的endpoint是以default_catalog.templates为后端存储的,如果是数据库的话需要使用keystone_endpoint.sh来导入

1
2
3
4
catalog.RegionOne.metering.publicURL = http://$SERVICE_HOST:8777
catalog.RegionOne.metering.adminURL = http://$SERVICE_HOST:8777
catalog.RegionOne.metering.internalURL = http://$SERVICE_HOST:8777
catalog.RegionOne.metering.name = Ceilometer Service

下载ceilometer源码包

1
wget https://launchpad.net/ceilometer/grizzly/2013.1.4/+download/ceilometer-2013.1.4.tar.gz

备份python的依赖包目录

1
2
3
4
cd /usr/lib/python2.6/
cp -r site-packages/ site-packages.bak/
cd /usr/lib64/python2.6/
cp -r site-packages/ site-packages.bak/

安装ceilometer

创建配置、日志及相关目录:

1
2
3
4
mkdir -p /etc/ceilometer
mkdir -p /var/log/ceilometer
mkdir -p /var/run/ceilometer
chmod 777 -R /var/run/ceilometer

进入源码包,查看ceilometer的python依赖包

1
2
cat tools/pip-requires
pip install -r tool/pip-requires

安装完依赖包之后安装ceilometer

1
2
python setup.py build
python setup.py install

查看python的依赖包目录,如果与备份中的相比有缺失,需要从备份中拷贝过来

将etc目录下的文件拷贝到/etc/ceilometer/目录下

将ceilometer.conf.sample重命名ceilometer.conf

配置ceilometer

参照ceilometer.conf

计算节点配置ceilometer

在nova.conf中加入:

1
2
3
4
5
6
# Ceilometer
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

安装ceilometer,ceilometer.conf中的metering_secret参数,计算节点要与控制节点的一致

绑定api到mod_wsgi

参考http://docs.openstack.org/developer/ceilometer/install/mod_wsgi.html

启动ceilometer

控制节点:

ceilometer-collector

ceilometer-api

ceilometer-agent-central

计算节点:

ceilometer-agent-compute