之前项目一直在使用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,首先查看模块所依赖的包:
- 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,这是比较大的冲突,并且发现有很多人反映此库与之前的库不兼容的情况,在我实际的安装过程中也发现此库不能被python-novaclient, python-glanceclient等库所使用。于是我使用virtualenv建立了一个隔离的python环境来安装运行ceilometer及相关依赖。