This step is a prerequisite for the collector, notification agent and API services. You may use one of the listed database backends below to store Aodh data.
Note
Please notice, MongoDB requires pymongo to be installed on the system. The required minimum version of pymongo is 2.4.
The recommended Aodh storage backend is any SQLAlchemy-supported database (PostgreSQL or MySQL).
In case of SQL-based database backends, you need to create a aodh database first and then initialise it by running:
aodh-dbsyncTo use MySQL as the storage backend, change the ‘database’ section in aodh.conf as follows:
[database] connection = mysql+pymysql://username:password@host/aodh?charset=utf8
Follow the instructions to install the MongoDB package for your operating system, then start the service. The required minimum version of MongoDB is 2.4.
To use MongoDB as the storage backend, change the ‘database’ section in aodh.conf as follows:
[database] connection = mongodb://username:password@host:27017/aodhIf MongoDB is configured in replica set mode, add ?replicaSet= in your connection URL:
[database] connection = mongodb://username:password@host:27017/aodh?replicaSet=foobar
HBase backend is implemented to use HBase Thrift interface, therefore it is mandatory to have the HBase Thrift server installed and running. To start the Thrift server, please run the following command:
${HBASE_HOME}/bin/hbase thrift startThe implementation uses HappyBase, which is a wrapper library used to interact with HBase via Thrift protocol. You can verify the thrift connection by running a quick test from a client:
import happybase conn = happybase.Connection(host=$hbase-thrift-server, port=9090, table_prefix=None) print conn.tables() # this returns a list of HBase tables in your HBase serverNote
HappyBase version 0.5 or greater is required. Additionally, version 0.7 is not currently supported.
In case of HBase, the needed database tables (project, user, resource, meter, alarm, alarm_h) should be created manually with f column family for each one.
To use HBase as the storage backend, change the ‘database’ section in aodh.conf as follows:
[database] connection = hbase://hbase-thrift-host:9090