35ec780515
This change updates all fo the names that we were using to the post openstack migration name for openstack-ansible. Change-Id: I6524af53ed02e19a0f56908e42a65d2dae8b71e3
138 lines
5.3 KiB
ReStructuredText
138 lines
5.3 KiB
ReStructuredText
`Home <index.html>`__ 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
|
|
############################################
|
|
|
|
1. Install the MongoDB package:
|
|
|
|
.. code-block:: shell
|
|
|
|
apt-get install mongodb-server mongodb-clients python-pymongo
|
|
|
|
2. Edit the ``/etc/mongodb.conf`` file and change the bind_ip to the management interface of the node your running this on.
|
|
|
|
.. code-block:: shell
|
|
|
|
bind_ip = 10.0.0.11
|
|
|
|
3. Edit the ``/etc/mongodb.conf`` file and enable smallfiles
|
|
|
|
.. code-block:: shell
|
|
|
|
smallfiles = true
|
|
|
|
4. Restart the mongodb service
|
|
|
|
.. code-block:: shell
|
|
|
|
service mongodb restart
|
|
|
|
5. Create the ceilometer database
|
|
|
|
.. code-block:: shell
|
|
|
|
# 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:
|
|
|
|
.. code-block:: yaml
|
|
|
|
# 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.
|