
The alarming function of Telemetry has been seperated out by design. This patchset creates new containers for these alarming services and deploys them accordingly. See: http://lists.openstack.org/pipermail/openstack-dev/2015-September/073897.html DocImpact UpgradeImpact Implements: blueprint liberty-release Change-Id: I25294a25afa76d4d8bddad0a51c48485f33a6d20
3.9 KiB
Home OpenStack-Ansible Installation Guide
Configuring the Aodh service (optional)
The Alarming services of the Telemetry perform the following functions:
- Creates an API endpoint for controlling alarms.
- Alows you to set alarms based on threshold evaluation for a collection of samples.
Aodh on OSA requires a monogodb backend to be configured prior to
running the aodh playbooks. The connection data will then need to be
given in the user_variables.yml
file(See section
Configuring User Data below).
Setting up a Mongodb database for Aodh
- Install the MongoDB package:
apt-get install mongodb-server mongodb-clients python-pymongo
- Edit the
/etc/mongodb.conf
file and change the bind_ip to the management interface of the node your running this on.
bind_ip = 10.0.0.11
- Edit the
/etc/mongodb.conf
file and enable smallfiles
smallfiles = true
- Restart the mongodb service
service mongodb restart
- Create the aodh database
# mongo --host controller --eval ' db = db.getSiblingDB("aodh"); db.addUser({user: "aodh", pwd: "AODH_DBPASS", roles: [ "readWrite", "dbAdmin" ]})' MongoDB shell version: 2.4.x connecting to: controller:27017/test { "user" : "aodh", "pwd" : "72f25aeee7ad4be52437d7cd3fc60f6f", "roles" : [ "readWrite", "dbAdmin" ], "_id" : ObjectId("5489c22270d7fad1ba631dc3") }
NOTE: The AODH_DBPASS
must match the
aodh_container_db_password
in the
/etc/openstack_deploy/user_secrets.yml
file. This is how
ansible knows how to configure the connection string within the aodh
configuration files.
Configuring the hosts
Aodh can be configured by specifying the
metering-alarm_hosts
directive in the
/etc/openstack_deploy/conf.d/aodh.yml
file. Below is the
example included in the
etc/openstack_deploy/conf.d/aodh.yml.example
file:
# The infra nodes that the aodh services will run on.
metering-alarm_hosts:
infra1:
ip: 172.20.236.111
infra2:
ip: 172.20.236.112
infra3:
ip: 172.20.236.113
The metering-alarm_hosts
houses serveral services:
- An API server (aodh-api). Runs on one or more central management servers to provide access to the alarm information stored in the data store.
- An alarm evaluator (aodh-evaluator). Runs on one or more central management servers to determine when alarms fire due to the associated statistic trend crossing a threshold over a sliding time window.
- A notification listener (aodh-listener). Runs on a central management server and fire alarms based on defined rules against event captured by the Telemetry module's notification agents.
- An alarm notifier (aodh-notifier). Runs on one or more central management servers to allow alarms to be set based on the threshold evaluation for a collection of samples.
These services communicate by using the OpenStack messaging bus. Only the API server has access to the data store.
Configuring the user data
In addtion to adding these hosts in the
/etc/openstack_deploy/conf.d/aodh.yml
file, other
configurations must be specified in the
/etc/openstack_deploy/user_variables.yml
file. These
configurations are listed below, along with a description:
The type of database backend aodh will use. Currently only mongodb is
supported: aodh_db_type: mongodb
The IP address of the MonogoDB host:
aodh_db_ip: localhost
The port of the Mongodb service: aodh_db_port: 27017
Once all of these steps are complete, you are ready to run the os-aodh-install.yml playbook! Or, if deploying a new stack, simply run setup-openstack.yml. The aodh playbooks will run as part of this playbook.