OpenStack监控组件Ceilometer与Folsom结合部署心得
之前项目一直在使用OpenStack的Folsom版本进行二次开发,对nova等模块都有着不小的改动,因此当新版本的OpenStack(Grizzly)发布之后,一些新的功能模块不能够很快的移植到新开发的项目之中。由于之前版本的OpenStack的系统监控功能相对较薄弱,所以一直采用kanyun + ganglia再加上openstack提供的简单监控功能进行系统监控,颇为山寨,因此在G版本发布带来监控功能模块ceilometer之后,需要将其同原有系统相结合,以下为结合部署心得:
1. 到github下载最新的ceilometer代码
2.安装mongodb, 由于ceilometer采用mongodb作为默认数据持久化数据库,所以需要先安装mongodb
apt-get install mongodb
3.在keystone中添加ceilometer用户
需注意:添加的ceilometer账户需要属于admin tenant否则会出现不能获取实例监控信息的情况,并且将此账户添加为ResellerAdmin角色中便于获取swift监控信息。
4.安装ceilometer
1)首先查看模块所依赖的包
vim ceilometer/requirements.txt
d2to1>=0.2.10,<0.3
pbr>=0.5,<0.6
WebOb>=1.2
kombu
iso8601
argparse
SQLAlchemy>=0.7,<=0.7.99
sqlalchemy-migrate>=0.7.2
pymongo>=2.2
eventlet
anyjson>=0.2.4
Flask==0.9
pecan>=0.2.0
stevedore>=0.7
msgpack-python
python-glanceclient
python-novaclient>=2.6.10
python-keystoneclient>=0.2.3
python-swiftclient
lxml
requests>=1.1
wsme>=0.5b2
pyyaml
oslo.config>=1.1.0
happybase>=0.4
此版本ceilometer使用G版本Openstack中新加的oslo.config模块完成配置文件读取模块。
此外要求WebOb的版本要在1.2以上,查看F版本Openstack使用的此库版本为1.0.8,这是比较大的冲突,并且发现有很多人反映此库与之前的库不兼容的情况(https://bugs.launchpad.net/ceilometer/+bug/1092227),在我实际的安装过程中也发现此库不能被python-novaclient, python-glanceclient等库所使用。于是我使用virtualenv(https://pypi.python.org/pypi/virtualenv)建立了一个隔离的python环境来安装运行ceilometer及相关依赖。