openstack-manuals/doc/install-guide/source/ceilometer-swift.rst

3.2 KiB

Enable Object Storage meters

Telemetry uses a combination of polling and notifications to collect Object Storage meters.

Note

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.

  1. Source the admin credentials to gain access to admin-only CLI commands.

    $ . admin-openrc
  2. Create the ResellerAdmin role:

    $ openstack role create ResellerAdmin
    +-----------+----------------------------------+
    | Field     | Value                            |
    +-----------+----------------------------------+
    | domain_id | None                             |
    | id        | 462fa46c13fd4798a95a3bfbe27b5e54 |
    | name      | ResellerAdmin                    |
    +-----------+----------------------------------+
  3. Add the ResellerAdmin role to the ceilometer user:

    $ openstack role add --project service --user ceilometer ResellerAdmin

    Note

    This command provides no output.

Install components

  • Install the packages:

    ubuntu or debian

    # apt-get install python-ceilometermiddleware

    rdo

    # yum install python-ceilometermiddleware

    obs

    # 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.

  • Edit the /etc/swift/proxy-server.conf file and complete the following actions:
    • In the [filter:keystoneauth] section, add the ResellerAdmin role:

      [filter:keystoneauth]
      ...
      operator_roles = admin, user, ResellerAdmin
    • In the [pipeline:main] section, add ceilometer:

      [pipeline:main]
      pipeline = ceilometer catch_errors gatekeeper healthcheck proxy-logging cache container_sync bulk ratelimit authtoken keystoneauth container-quotas account-quotas slo dlo versioned_writes proxy-logging proxy-server
    • In the [filter:ceilometer] section, configure notifications:

      [filter:ceilometer]
      paste.filter_factory = ceilometermiddleware.swift:filter_factory
      ...
      control_exchange = swift
      url = rabbit://openstack:RABBIT_PASS@controller:5672/
      driver = messagingv2
      topic = notifications
      log_level = WARN

      Replace RABBIT_PASS with the password you chose for the openstack account in RabbitMQ.

Finalize installation

rdo or obs

  • Restart the Object Storage proxy service:

    # systemctl restart openstack-swift-proxy.service

ubuntu or debian

  • Restart the Object Storage proxy service:

    # service swift-proxy restart