diff --git a/doc/install-guide/source/ceilometer-cinder.rst b/doc/install-guide/source/ceilometer-cinder.rst index 5573388a17..c3491092c0 100644 --- a/doc/install-guide/source/ceilometer-cinder.rst +++ b/doc/install-guide/source/ceilometer-cinder.rst @@ -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 `__. diff --git a/doc/install-guide/source/ceilometer-glance.rst b/doc/install-guide/source/ceilometer-glance.rst index c9f985d2ec..6045698540 100644 --- a/doc/install-guide/source/ceilometer-glance.rst +++ b/doc/install-guide/source/ceilometer-glance.rst @@ -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 diff --git a/doc/install-guide/source/ceilometer-controller-install.rst b/doc/install-guide/source/ceilometer-install.rst similarity index 63% rename from doc/install-guide/source/ceilometer-controller-install.rst rename to doc/install-guide/source/ceilometer-install.rst index be4d543ca5..21c04ff15c 100644 --- a/doc/install-guide/source/ceilometer-controller-install.rst +++ b/doc/install-guide/source/ceilometer-install.rst @@ -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 diff --git a/doc/install-guide/source/ceilometer-nova.rst b/doc/install-guide/source/ceilometer-nova.rst index db1317e0b5..d52aadbc7c 100644 --- a/doc/install-guide/source/ceilometer-nova.rst +++ b/doc/install-guide/source/ceilometer-nova.rst @@ -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 `__ 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 diff --git a/doc/install-guide/source/ceilometer-swift.rst b/doc/install-guide/source/ceilometer-swift.rst index 694c350470..02f32c4923 100644 --- a/doc/install-guide/source/ceilometer-swift.rst +++ b/doc/install-guide/source/ceilometer-swift.rst @@ -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 diff --git a/doc/install-guide/source/ceilometer-verify.rst b/doc/install-guide/source/ceilometer-verify.rst index 4975d0929b..25e368fa8a 100644 --- a/doc/install-guide/source/ceilometer-verify.rst +++ b/doc/install-guide/source/ceilometer-verify.rst @@ -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 diff --git a/doc/install-guide/source/ceilometer.rst b/doc/install-guide/source/ceilometer.rst index 19355d00df..6ae0b53120 100644 --- a/doc/install-guide/source/ceilometer.rst +++ b/doc/install-guide/source/ceilometer.rst @@ -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.