[install] Liberty updates for ceilometer

Update ceilometer configuration for Liberty.

Changes and testing specific to distribution packages
primarily involve Ubuntu. Other distributions may require
additional patches.

Implements: bp installguide-liberty
Change-Id: Ie0c2449bad5c780b02b1d76f78665ae501668c20
This commit is contained in:
Matthew Kassawara 2015-11-04 14:19:50 -07:00
parent 910cf0d14a
commit b4e78e0888
7 changed files with 200 additions and 268 deletions

View File

@ -1,13 +1,15 @@
===================================
Configure the Block Storage service
===================================
Enable Block Storage meters
~~~~~~~~~~~~~~~~~~~~~~~~~~~
To retrieve volume-oriented events and samples, you must configure
the Block Storage service to send notifications to the message bus.
Perform these steps on the controller and storage nodes.
Telemetry uses notifications to collect Block Storage service meters.
Perform these steps on the controller and Block Storage nodes.
To configure prerequisites
~~~~~~~~~~~~~~~~~~~~~~~~~~
.. note::
Your environment must include the Block Storage service.
Configure Cinder to use Telemetry
---------------------------------
Edit the ``/etc/cinder/cinder.conf`` file and complete the
following actions:
@ -18,18 +20,20 @@ following actions:
[DEFAULT]
...
control_exchange = cinder
notification_driver = messagingv2
Finalize installation
---------------------
.. only:: obs or rdo
2. Restart the Block Storage services on the controller node:
#. Restart the Block Storage services on the controller node:
.. code-block:: console
# systemctl restart openstack-cinder-api.service openstack-cinder-scheduler.service
3. Restart the Block Storage services on the storage nodes:
#. Restart the Block Storage services on the storage nodes:
.. code-block:: console
@ -37,21 +41,21 @@ following actions:
.. only:: ubuntu
2. Restart the Block Storage services on the controller node:
#. Restart the Block Storage services on the controller node:
.. code-block:: console
# service cinder-api restart
# service cinder-scheduler restart
3. Restart the Block Storage services on the storage nodes:
#. Restart the Block Storage services on the storage nodes:
.. code-block:: console
# service cinder-volume restart
4. Use the ``cinder-volume-usage-audit`` command to retrieve meters
on demand. For more information, see `Block Storage audit script
setup to get notifications <http://docs.openstack.org/admin-guide-cloud/
3. Use the ``cinder-volume-usage-audit`` command on Block Storage nodes
to retrieve meters on demand. For more information, see the
`Cloud Administrator Guide <http://docs.openstack.org/admin-guide-cloud/
telemetry-data-collection.html#block-storage-audit-script-setup-to-get-
notifications>`__.

View File

@ -1,10 +1,11 @@
===========================
Configure the Image service
===========================
Enable Image service meters
~~~~~~~~~~~~~~~~~~~~~~~~~~~
To retrieve image-oriented events and samples, configure
the Image service to send notifications to the message bus.
Perform these steps on the controller node.
Telemetry uses notifications to collect Image service meters. Perform
these steps on the controller node.
Configure the Image service to use Telemetry
--------------------------------------------
Edit the ``/etc/glance/glance-api.conf`` and
``/etc/glance/glance-registry.conf`` files and
@ -26,9 +27,12 @@ complete the following actions:
Replace ``RABBIT_PASS`` with the password you chose for
the ``openstack`` account in ``RabbitMQ``.
Finalize installation
---------------------
.. only:: obs or rdo
2. Restart the Image service:
#. Restart the Image service:
.. code-block:: console
@ -36,7 +40,7 @@ complete the following actions:
.. only:: ubuntu
2. Restart the Image service:
#. Restart the Image service:
.. code-block:: console

View File

@ -1,14 +1,13 @@
=====================================
Install and configure controller node
=====================================
Install and configure
~~~~~~~~~~~~~~~~~~~~~
This section describes how to install and configure the Telemetry
service, code-named ceilometer, on the controller node. The Telemetry
service uses separate agents to collect measurements from each OpenStack
service in your environment.
service collects measurements from most OpenStack services and
optionally triggers alarms.
To configure prerequisites
~~~~~~~~~~~~~~~~~~~~~~~~~~
Prerequisites
-------------
Before you install and configure the Telemetry service, you must
create a database, service credentials, and API endpoints. However,
@ -73,30 +72,27 @@ MongoDB before proceeding further.
.. code-block:: console
$ openstack user create --password-prompt ceilometer
$ openstack user create --domain default --password-prompt ceilometer
User Password:
Repeat User Password:
+----------+----------------------------------+
| Field | Value |
+----------+----------------------------------+
| email | None |
| enabled | True |
| id | b7657c9ea07a4556aef5d34cf70713a3 |
| name | ceilometer |
| username | ceilometer |
+----------+----------------------------------+
+-----------+----------------------------------+
| Field | Value |
+-----------+----------------------------------+
| domain_id | default |
| enabled | True |
| id | c859c96f57bd4989a8ea1a0b1d8ff7cd |
| name | ceilometer |
+-----------+----------------------------------+
* Add the ``admin`` role to the ``ceilometer`` user.
.. code-block:: console
$ openstack role add --project service --user ceilometer admin
+-------+----------------------------------+
| Field | Value |
+-------+----------------------------------+
| id | cd2cb9a39e874ea69e5d4b896eb16128 |
| name | admin |
+-------+----------------------------------+
.. note::
This command provides no output.
* Create the ``ceilometer`` service entity:
@ -109,65 +105,65 @@ MongoDB before proceeding further.
+-------------+----------------------------------+
| description | Telemetry |
| enabled | True |
| id | 3405453b14da441ebb258edfeba96d83 |
| id | 5fb7fd1bb2954fddb378d4031c28c0e4 |
| name | ceilometer |
| type | metering |
+-------------+----------------------------------+
6. Create the Telemetry service API endpoint:
6. Create the Telemetry service API endpoints:
.. code-block:: console
$ openstack endpoint create --region RegionOne \
metering public http://controller:8777
+--------------+----------------------------------+
| Field | Value |
+--------------+----------------------------------+
| enabled | True |
| id | 340be3625e9b4239a6415d034e98aace |
| interface | public |
| region | RegionOne |
| region_id | RegionOne |
| service_id | 8c2c7f1b9b5049ea9e63757b5533e6d2 |
| service_name | celiometer |
| service_type | metering |
| url | http://controller:8777 |
+--------------+----------------------------------+
+--------------+----------------------------------+
| Field | Value |
+--------------+----------------------------------+
| enabled | True |
| id | b808b67b848d443e9eaaa5e5d796970c |
| interface | public |
| region | RegionOne |
| region_id | RegionOne |
| service_id | 5fb7fd1bb2954fddb378d4031c28c0e4 |
| service_name | ceilometer |
| service_type | metering |
| url | http://controller:8777 |
+--------------+----------------------------------+
$ openstack endpoint create --region RegionOne \
metering internal http://controller:8777
+--------------+----------------------------------+
| Field | Value |
+--------------+----------------------------------+
| enabled | True |
| id | 340be3625e9b4239a6415d034e98aace |
| interface | internal |
| region | RegionOne |
| region_id | RegionOne |
| service_id | 8c2c7f1b9b5049ea9e63757b5533e6d2 |
| service_name | celiometer |
| service_type | metering |
| url | http://controller:8777 |
+--------------+----------------------------------+
+--------------+----------------------------------+
| Field | Value |
+--------------+----------------------------------+
| enabled | True |
| id | c7009b1c2ee54b71b771fa3d0ae4f948 |
| interface | internal |
| region | RegionOne |
| region_id | RegionOne |
| service_id | 5fb7fd1bb2954fddb378d4031c28c0e4 |
| service_name | ceilometer |
| service_type | metering |
| url | http://controller:8777 |
+--------------+----------------------------------+
$ openstack endpoint create --region RegionOne \
metering admin http://controller:8777
+--------------+----------------------------------+
| Field | Value |
+--------------+----------------------------------+
| enabled | True |
| id | 340be3625e9b4239a6415d034e98aace |
| interface | admin |
| region | RegionOne |
| region_id | RegionOne |
| service_id | 8c2c7f1b9b5049ea9e63757b5533e6d2 |
| service_name | celiometer |
| service_type | metering |
| url | http://controller:8777 |
+--------------+----------------------------------+
+--------------+----------------------------------+
| Field | Value |
+--------------+----------------------------------+
| enabled | True |
| id | b2c00566d0604551b5fe1540c699db3d |
| interface | admin |
| region | RegionOne |
| region_id | RegionOne |
| service_id | 5fb7fd1bb2954fddb378d4031c28c0e4 |
| service_name | ceilometer |
| service_type | metering |
| url | http://controller:8777 |
+--------------+----------------------------------+
To install and configure the Telemetry service components
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Install and configure components
--------------------------------
.. only:: obs
@ -204,13 +200,7 @@ To install and configure the Telemetry service components
ceilometer-alarm-evaluator ceilometer-alarm-notifier \
python-ceilometerclient
2. Generate a random value to use as the telemetry secret:
.. code-block:: console
$ openssl rand -hex 10
3. Edit the ``/etc/ceilometer/ceilometer.conf`` file and complete
2. Edit the ``/etc/ceilometer/ceilometer.conf`` file and complete
the following actions:
* In the ``[database]`` section, configure database access:
@ -255,20 +245,18 @@ To install and configure the Telemetry service components
[keystone_authtoken]
...
auth_uri = http://controller:5000/v2.0
identity_uri = http://controller:35357
admin_tenant_name = service
admin_user = ceilometer
admin_password = CEILOMETER_PASS
auth_uri = http://controller:5000
auth_url = http://controller:35357
auth_plugin = password
project_domain_id = default
user_domain_id = default
project_name = service
username = ceilometer
password = CEILOMETER_PASS
Replace ``CEILOMETER_PASS`` with the password you chose for
the ``ceilometer`` user in the Identity service.
.. note::
Comment out any ``auth_host``, ``auth_port``, and ``auth_protocol``
options because the ``identity_uri`` option replaces them.
* In the ``[service_credentials]`` section, configure service credentials:
.. code-block:: ini
@ -285,17 +273,6 @@ To install and configure the Telemetry service components
Replace ``CEILOMETER_PASS`` with the password you chose for
the ``ceilometer`` user in the Identity service.
* In the ``[publisher]`` section, configure the telemetry secret:
.. code-block:: ini
[publisher]
...
telemetry_secret = TELEMETRY_SECRET
Replace TELEMETRY_SECRET with the telemetry secret
that you generated in a previous step.
.. only:: obs
* In the ``[collector]`` section, configure the dispatcher:
@ -306,7 +283,7 @@ To install and configure the Telemetry service components
...
dispatcher = database
* (Optional) To assist with troubleshooting, enable verbose
* (Optional) To assist with troubleshooting, enable verbose
logging in the ``[DEFAULT]`` section:
.. code-block:: ini
@ -315,19 +292,9 @@ To install and configure the Telemetry service components
...
verbose = True
.. only:: rdo or ubuntu
Finalize installation
---------------------
* (Optional) To assist with troubleshooting, enable verbose
logging in the ``[DEFAULT]`` section:
.. code-block:: ini
[DEFAULT]
...
verbose = True
To finalize installation
~~~~~~~~~~~~~~~~~~~~~~~~
.. only:: obs
#. Start the Telemetry services and configure them to start when the

View File

@ -1,12 +1,11 @@
=============================
Configure the Compute service
=============================
Enable Compute service meters
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Telemetry uses a combination of notifications and an agent to
collect Compute meters. Perform these steps on each compute node.
Telemetry uses a combination of notifications and an agent to collect
Compute meters. Perform these steps on each compute node.
To install and configure the agent
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Install and configure components
--------------------------------
.. only:: obs
@ -35,17 +34,6 @@ To install and configure the agent
2. Edit the ``/etc/ceilometer/ceilometer.conf`` file and
complete the following actions:
* In the ``[publisher]`` section, configure the telemetry secret:
.. code-block:: ini
[publisher]
...
telemetry_secret = TELEMETRY_SECRET
Replace ``TELEMETRY_SECRET`` with the telemetry secret you
chose for the Telemetry service.
* In the ``[DEFAULT]`` and ``[oslo_messaging_rabbit]`` sections,
configure ``RabbitMQ`` message queue access:
@ -64,28 +52,29 @@ To install and configure the agent
Replace ``RABBIT_PASS`` with the password you chose for the
``openstack`` account in ``RabbitMQ``.
* In the ``[keystone_authtoken]`` section,
* In the ``[DEFAULT]`` and ``[keystone_authtoken]`` sections,
configure Identity service access:
.. code-block:: ini
[DEFAULT]
...
auth_strategy = keystone
[keystone_authtoken]
...
auth_uri = http://controller:5000/v2.0
identity_uri = http://controller:35357
admin_tenant_name = service
admin_user = ceilometer
admin_password = CEILOMETER_PASS
auth_uri = http://controller:5000
auth_url = http://controller:35357
auth_plugin = password
project_domain_id = default
user_domain_id = default
project_name = service
username = ceilometer
password = CEILOMETER_PASS
Replace ``CEILOMETER_PASS`` with the password you chose for the
Telemetry service database.
.. note::
Comment out any ``auth_host``, ``auth_port``, and
``auth_protocol`` options because the ``identity_uri``
option replaces them.
* In the ``[service_credentials]`` section, configure service
credentials:
@ -112,56 +101,23 @@ To install and configure the agent
...
verbose = True
To configure notifications
~~~~~~~~~~~~~~~~~~~~~~~~~~
Configure Compute to use Telemetry
----------------------------------
Configure the Compute service to send notifications to the message bus.
* Edit the ``/etc/nova/nova.conf`` file and configure
notifications in the ``[DEFAULT]`` section:
Edit the ``/etc/nova/nova.conf`` file and configure
notifications in the ``[DEFAULT]`` section:
.. code-block:: ini
.. code-block:: ini
[DEFAULT]
...
instance_usage_audit = True
instance_usage_audit_period = hour
notify_on_state_change = vm_and_task_state
notification_driver = messagingv2
[DEFAULT]
...
instance_usage_audit = True
instance_usage_audit_period = hour
notify_on_state_change = vm_and_task_state
notification_driver = messagingv2
The Nova notification_driver creates alerts and sends system state
updates to administrators and users. The notification_driver
sends this information to users in a manner as close to real-time
as possible.
Notifications in real-time allow administrators to observe and resolve
emergencies when the cloud environment experiences errors or faults.
Administrators can also restrict notification delivery to certain
tenant groups. Users can view notifications through a web browser,
without using a specific interface.
Messages arrive in a specific format which includes: Message ID,
Publisher ID, Event type, Timestamp, Priority, and Payload. See the
`Notification System information <https://wiki.openstack.org/wiki/
NotificationSystem#General_Notification_Message_Format>`__ for an
example message format.
Notification messages are placed on the OpenStack messaging system,
which recruits AMQP to send information when an event triggers alerts.
The ``nova.conf`` file uses the nova_notification driver by defualt.
.. warning::
While you can use a customised notification_driver, we
recommend using the default settings. Using stable web hooks
for events, such as creating new instances, and using custom
notification drivers are not guaranteed to
deliver notifications in real-time.
To finalize installation
~~~~~~~~~~~~~~~~~~~~~~~~
Finalize installation
---------------------
.. only:: obs

View File

@ -1,16 +1,19 @@
====================================
Configure the Object Storage service
====================================
Enable Object Storage meters
~~~~~~~~~~~~~~~~~~~~~~~~~~~~
To retrieve storage-oriented events and samples, configure the
Object Storage service to send notifications to the message bus.
Telemetry uses a combination of polling and notifications to collect
Object Storage meters.
To configure prerequisites
~~~~~~~~~~~~~~~~~~~~~~~~~~
.. note::
The Telemetry service requires access to the Object Storage
service using the ``ResellerAdmin`` role. Perform
these steps on the controller node.
Your environment must include the Object Storage service.
Prerequisites
-------------
The Telemetry service requires access to the Object Storage service
using the ``ResellerAdmin`` role. Perform these steps on the controller
node.
#. Source the ``admin`` credentials to gain access to admin-only
CLI commands.
@ -31,21 +34,41 @@ these steps on the controller node.
| name | ResellerAdmin |
+-------+----------------------------------+
#. Add the ``ResellerAdmin`` role to the ``service`` tenant and
``ceilometer`` user:
#. Add the ``ResellerAdmin`` role to the ``ceilometer`` user:
.. code-block:: console
$ openstack role add --project service --user ceilometer ResellerAdmin
+-------+----------------------------------+
| Field | Value |
+-------+----------------------------------+
| id | 462fa46c13fd4798a95a3bfbe27b5e54 |
| name | ResellerAdmin |
+-------+----------------------------------+
To configure notifications
~~~~~~~~~~~~~~~~~~~~~~~~~~
.. note::
This command provides no output.
Install components
------------------
* Install the packages:
.. only:: ubuntu or debian
.. code-block:: console
# apt-get install python-ceilometermiddleware
.. only:: rdo
.. code-block:: console
# yum install python-ceilometermiddleware
.. only:: obs
.. code-block:: console
# zypper install python-ceilometermiddleware
Configure Object Storage to use Telemetry
-----------------------------------------
Perform these steps on the controller and any other nodes that
run the Object Storage proxy service.
@ -60,23 +83,25 @@ run the Object Storage proxy service.
[filter:keystoneauth]
...
operator_roles = admin,user,ResellerAdmin
operator_roles = admin, user, ResellerAdmin
* In the ``[pipeline:main]`` section, add ``ceilometer``:
.. code-block:: ini
[pipeline:main]
...
pipeline = authtoken cache healthcheck keystoneauth proxy-logging ceilometer proxy-server
pipeline = catch_errors gatekeeper healthcheck proxy-logging cache
container_sync bulk ratelimit authtoken keystoneauth container-quotas
account-quotas slo dlo versioned_writes proxy-logging ceilometer
proxy-server
* In the ``[filter:ceilometer]`` section, configure notifications:
.. code-block:: ini
[filter:ceilometer]
...
paste.filter_factory = ceilometermiddleware.swift:filter_factory
...
control_exchange = swift
url = rabbit://openstack:RABBIT_PASS@controller:5672/
driver = messagingv2
@ -86,34 +111,12 @@ run the Object Storage proxy service.
Replace ``RABBIT_PASS`` with the password you chose for the
``openstack`` account in ``RabbitMQ``.
#. Add the ``swift`` system user to the ``ceilometer`` system group
to permit access to the Telemetry configuration files by the
Object Storage service:
Finalize installation
---------------------
.. code-block:: console
.. only:: rdo or obs
# usermod -a -G ceilometer swift
.. only:: obs
3. Restart the Object Storage proxy service:
.. code-block:: console
# systemctl restart openstack-swift-proxy.service
.. only:: rdo
3. Install the ``ceilometermiddleware`` package:
.. Workaround for https://bugzilla.redhat.com/show_bug.cgi?id=1214928
.. code-block:: console
# pip install ceilometermiddleware
4. Restart the Object Storage proxy service:
#. Restart the Object Storage proxy service:
.. code-block:: console
@ -121,7 +124,7 @@ run the Object Storage proxy service.
.. only:: ubuntu
3. Restart the Object Storage proxy service:
#. Restart the Object Storage proxy service:
.. code-block:: console

View File

@ -1,8 +1,9 @@
=================================
Verify the Telemetry installation
=================================
Verify operation
~~~~~~~~~~~~~~~~
This section describes how to verify operation of the Telemetry service.
Verify operation of the Telemetry service. These steps only include the
Image service meters to reduce clutter. Environments with ceilometer
integration for additional services contain more meters.
.. note::
@ -27,7 +28,7 @@ This section describes how to verify operation of the Telemetry service.
| image.size | gauge | B | acafc7c0-40aa-4026-9673-b879898e1fc2 | None | cf12a15... |
+--------------+-------+-------+--------------------------------------+---------+------------+
#. Download an image from the Image service:
#. Download the CirrOS image from the Image service:
.. code-block:: console

View File

@ -7,13 +7,10 @@ Add the Telemetry service
.. toctree::
common/get_started_telemetry.rst
ceilometer-controller-install.rst
ceilometer-nova.rst
ceilometer-install.rst
ceilometer-glance.rst
ceilometer-nova.rst
ceilometer-cinder.rst
ceilometer-swift.rst
ceilometer-verify.rst
ceilometer-next-steps.rst
Telemetry provides a framework for monitoring and metering the
OpenStack cloud. It is also known as the ceilometer project.