Ceilometer和其他OpenStack项目相比,部署中比较不同的是Ceilometer可以选用多种不同的后台数据库来保存测量值和警告器。
目前Ceilometer支持的后台数据库及及其相应的配置如表9-5所示:
表9-5 Ceilometer支持的后台数据库
数据库 |
配置项示例 |
说明 |
MongoDB |
[database] connection = mongodb://user:pass@host:27017/ceilometer |
需要MongDB2.4及以后的版本 |
SqlAlchemy所支持的关系型数据库 |
[database] connection= mysql://user:pass@host/ceilometer?charset=utf8 |
需要运行ceilometer-dbsync来创建数据库 |
HBase |
[database] connection = hbase://hbase-thrift-host:9090 |
Ceilometer使用HappyBase库通过HBase Thrift接口和后台Hbase数据库进行通讯 |
DB2 |
[database] connection = db2://user:pass@host:27017/ceilometer |
|
Juno版本中,支持采用不同的数据库后台分别保存测量值和警告器,管理员可以使用如下的配置项示例:
# 以下是/etc/ceilometer/ceilometer.conf中的部分配置
[database]
# 使用MongoDB保存测量值
metering_connection = mongodb://user:pass@localhost:27017/ceilometer
# 使用PostgreSQL保存警告器
alarm_connection = postgresql://user:pass@localhost/ceilometer
Ceilometer中不同的数据库后台所支持的功能也有所不同,如表9-6所示:
表9-6 Ceilometer支持的后台数据库功能对比
功能 |
MongoDB |
SqlAlchemy所支持的关系型数据库 |
HBase |
DB2 |
|
测量值 |
基本查询 |
ü |
ü |
ü |
ü |
基于metadata的查询 |
ü |
ü |
ü |
ü |
|
测量取样 |
基本查询 |
ü |
ü |
ü |
ü |
基于metadata的查询 |
ü |
ü |
ü |
ü |
|
用户自定义复杂查询 |
ü |
ü |
û |
ü |
|
集合统计 |
基本查询 |
ü |
ü |
ü |
ü |
基于metadata的查询 |
ü |
ü |
ü |
ü |
|
支持groupby操作 |
ü |
ü |
û |
ü |
|
支持基本统计操作: max/min/avg/count/sum |
ü |
ü |
ü |
ü |
|
支持标准方差统计 |
ü |
ü |
û |
û |
|
支持基数(cardinality)操作 |
ü |
ü |
û |
û |
|
支持警告器(Alarm) |
ü |
ü |
ü |
û |
9.2.2 安装
my_mongodb_0:PRIMARY> use ceilometer my_mongodb_0:PRIMARY> db.addUser ( { user: "ceilometer", pwd: "ceilometerpassword" , roles: [ "readWrite", "dbAdmin" ] } )
Restart ceilometer services:
$ sudo service ceilometer-agent-central restart $ sudo service ceilometer-api restart $ sudo service ceilometer-collector restart http://www.severalnines.com/blog/openstack-metering-how-install-ceilometer-mongodb