Ceilometer 数据库比较
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
 
                    
                 
                
            
         
 浙公网安备 33010602011771号
浙公网安备 33010602011771号