This change updates all fo the names that we were using to the post openstack migration name for openstack-ansible. Change-Id: I6524af53ed02e19a0f56908e42a65d2dae8b71e3
5.3 KiB
Home OpenStack Ansible Installation Guide
Configuring the Ceilometer service (optional)
The Telemetry module(Ceilometer) performs the following functions:
- Efficiently polls metering data related to OpenStack services.
- Collects event and metering data by monitoring notifications sent from services.
- Publishes collected data to various targets including data stores and message queues.
- Creates alarms when collected data breaks defined rules.
Ceilometer on OSA requires a monogodb backend to be configured prior
to running the ceilometer playbooks. A connection string will then need
to be given in the user_variables.yml
file(See section
Configuring User Data below).
Setting up a Mongodb database for ceilometer
- 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 ceilometer database
# mongo --host controller --eval ' db = db.getSiblingDB("ceilometer"); db.addUser({user: "ceilometer", pwd: "CEILOMETER_DBPASS", roles: [ "readWrite", "dbAdmin" ]})' MongoDB shell version: 2.4.x connecting to: controller:27017/test { "user" : "ceilometer", "pwd" : "72f25aeee7ad4be52437d7cd3fc60f6f", "roles" : [ "readWrite", "dbAdmin" ], "_id" : ObjectId("5489c22270d7fad1ba631dc3") }
NOTE: The CEILOMETER_DBPASS
must match the
ceilometer_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
ceilometer configuration files.
Configuring the hosts
Ceilometer can be configured by specifying the
metering-compute_hosts
and
metering-infra_hosts
directives in the
/etc/openstack_deploy/conf.d/ceilometer.yml
file. Below is
the example included in the
etc/openstack_deploy/conf.d/ceilometer.yml.example
file:
# The compute host that the ceilometer compute agent will be running on.
metering-compute_hosts:
compute1:
ip: 172.20.236.110
# The infra nodes that the central agents will be running on
metering-infra_hosts:
infra1:
ip: 172.20.236.111
infra2:
ip: 172.20.236.112
infra3:
ip: 172.20.236.113
The metering-compute_hosts
houses the
ceilometer-agent-compute
service. It runs on each compute
node and pools for resource utilization statistics. The
metering-infra_hosts
houses serveral services:
- A central agent (ceilometer-agent-central): Runs on a central management server to poll for resource utilization statistics for resources not tied to instances or compute nodes. Multiple agents can be started to scale service horizontally.
- A notification agent (ceilometer-agent-notification): Runs on a central management server(s) and consumes messages from the message queue(s) to build event and metering data.
- A collector (ceilometer-collector): Runs on central management server(s) and dispatches collected telemetry data to a data store or external consumer without modification.
- An alarm evaluator (ceilometer-alarm-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.
- An alarm notifier (ceilometer-alarm-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.
- An API server (ceilometer-api): Runs on one or more central management servers to provide data access from the data store.
Configuring the user data
In addtion to adding these hosts in the
/etc/openstack_deploy/conf.d/ceilometer.yml
file, other
configurations must be specified in the
/etc/openstack_deploy/user_variable.yml
file. These
configurations are listed below, along with a description:
The type of database backend ceilometer will use. Currently only
mongodb is supported: ceilometer_db_type: mongodb
The IP address of the MonogoDB host:
ceilometer_db_ip: localhost
The port of the Mongodb service:
ceilometer_db_port: 27017
This configures swift to send notifications to the message bus:
swift_ceilometer_enabled: False
This configures heat to send notifications to the message bus:
heat_ceilometer_enabled: False
This configures cinder to send notifications to the message bus:
cinder_ceilometer_enabled: False
This configures glance to send notifications to the message bus:
glance_ceilometer_enabled: False
This configures nova to send notifications to the message bus:
nova_ceilometer_enabled: False
Once all of these steps are complete, you are ready to run the os-ceilometer-install.yml playbook! Or, if deploying a new stack, simply run setup-openstack.yml. The ceilometer playbooks will run as part of this playbook.