Enable Object Storage meters

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.

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

    $ openstack role create ResellerAdmin
    +-------+----------------------------------+
    | Field | Value                            |
    +-------+----------------------------------+
    | 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:

    # 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 = 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:

      [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

  • Restart the Object Storage proxy service:

    # systemctl restart openstack-swift-proxy.service
    
Creative Commons Attribution 3.0 License

Except where otherwise noted, this document is licensed under Creative Commons Attribution 3.0 License. See all OpenStack Legal Documents.