Install and configure for Red Hat Enterprise Linux and CentOS

Install and configure for Red Hat Enterprise Linux and CentOS

This section describes how to install and configure the Telemetry service, code-named ceilometer, on the controller node.

Prerequisites

Before you install and configure the Telemetry service, you must configure a target to send metering data to. The recommended endpoint is Gnocchi. To enable Gnocchi, please see its install guide.

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

    $ . admin-openrc
    
  2. To create the service credentials, complete these steps:

    • Create the ceilometer user:

      $ openstack user create --domain default --password-prompt ceilometer
      User Password:
      Repeat User Password:
      +-----------+----------------------------------+
      | Field     | Value                            |
      +-----------+----------------------------------+
      | domain_id | e0353a670a9e496da891347c589539e9 |
      | enabled   | True                             |
      | id        | c859c96f57bd4989a8ea1a0b1d8ff7cd |
      | name      | ceilometer                       |
      +-----------+----------------------------------+
      
    • Add the admin role to the ceilometer user.

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

      Note

      This command provides no output.

    • Create the ceilometer service entity:

      $ openstack service create --name ceilometer \
        --description "Telemetry" metering
      +-------------+----------------------------------+
      | Field       | Value                            |
      +-------------+----------------------------------+
      | description | Telemetry                        |
      | enabled     | True                             |
      | id          | 5fb7fd1bb2954fddb378d4031c28c0e4 |
      | name        | ceilometer                       |
      | type        | metering                         |
      +-------------+----------------------------------+
      
  3. Register Gnocchi service in Keystone:

    • Create the gnocchi user:

      $ openstack user create --domain default --password-prompt gnocchi
      User Password:
      Repeat User Password:
      +-----------+----------------------------------+
      | Field     | Value                            |
      +-----------+----------------------------------+
      | domain_id | e0353a670a9e496da891347c589539e9 |
      | enabled   | True                             |
      | id        | 8bacd064f6434ef2b6bbfbedb79b0318 |
      | name      | gnocchi                          |
      +-----------+----------------------------------+
      
    • Create the gnocchi service entity:

      $ openstack service create --name gnocchi \
        --description "Metric Service" metric
      +-------------+----------------------------------+
      | Field       | Value                            |
      +-------------+----------------------------------+
      | description | Metric Service                   |
      | enabled     | True                             |
      | id          | 205978b411674e5a9990428f81d69384 |
      | name        | gnocchi                          |
      | type        | metric                           |
      +-------------+----------------------------------+
      
    • Create the Metric service API endpoints:

      $ openstack endpoint create --region RegionOne \
        metric public http://controller:8041
      +--------------+----------------------------------+
      | Field        | Value                            |
      +--------------+----------------------------------+
      | enabled      | True                             |
      | id           | b808b67b848d443e9eaaa5e5d796970c |
      | interface    | public                           |
      | region       | RegionOne                        |
      | region_id    | RegionOne                        |
      | service_id   | 205978b411674e5a9990428f81d69384 |
      | service_name | gnocchi                          |
      | service_type | metric                           |
      | url          | http://controller:8041           |
      +--------------+----------------------------------+
      
      $ openstack endpoint create --region RegionOne \
        metric internal http://controller:8041
      +--------------+----------------------------------+
      | Field        | Value                            |
      +--------------+----------------------------------+
      | enabled      | True                             |
      | id           | c7009b1c2ee54b71b771fa3d0ae4f948 |
      | interface    | internal                         |
      | region       | RegionOne                        |
      | region_id    | RegionOne                        |
      | service_id   | 205978b411674e5a9990428f81d69384 |
      | service_name | gnocchi                          |
      | service_type | metric                           |
      | url          | http://controller:8041           |
      +--------------+----------------------------------+
      
      $ openstack endpoint create --region RegionOne \
        metric admin http://controller:8041
      +--------------+----------------------------------+
      | Field        | Value                            |
      +--------------+----------------------------------+
      | enabled      | True                             |
      | id           | b2c00566d0604551b5fe1540c699db3d |
      | interface    | admin                            |
      | region       | RegionOne                        |
      | region_id    | RegionOne                        |
      | service_id   | 205978b411674e5a9990428f81d69384 |
      | service_name | gnocchi                          |
      | service_type | metric                           |
      | url          | http://controller:8041           |
      +--------------+----------------------------------+
      

Install and configure components

  1. Install the packages:

    # yum install
      openstack-ceilometer-collector openstack-ceilometer-notification \
      openstack-ceilometer-central python-ceilometerclient
    
  1. Edit the /etc/ceilometer/ceilometer.conf file and complete the following actions:

    • Configure Gnocchi connection:

      [DEFAULT]
      ...
      meter_dispatchers=gnocchi
      event_dispatchers=gnocchi
      
      [dispatcher_gnocchi]
      # filter out Gnocchi-related activity meters (Swift driver)
      filter_service_activity = False
      # default metric storage archival policy
      archive_policy = low
      

      Note

      It is possible forego the collector service by modifying the pipeline.yaml to use the gnocchi:// publisher rather than notifier://. Doing so will minimise resource requirements. In this case, dispatchers do not need to be added to conf file.

    • In the [DEFAULT] section, configure RabbitMQ message queue access:

      [DEFAULT]
      ...
      transport_url = rabbit://openstack:RABBIT_PASS@controller
      

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

    • In the [service_credentials] section, configure service credentials:

      [service_credentials]
      ...
      auth_type = password
      auth_url = http://controller:5000/v3
      project_domain_name = default
      user_domain_name = default
      project_name = service
      username = ceilometer
      password = CEILOMETER_PASS
      interface = internalURL
      region_name = RegionOne
      

      Replace CEILOMETER_PASS with the password you chose for the ceilometer user in the Identity service.

  2. Edit the /etc/gnocchi/gnocchi.conf file and add Keystone options:

    • In the [api] section, configure gnocchi to use keystone:

      [api]
      auth_mode = keystone
      
    • In the [keystone_authtoken] section, configure keystone authentication:

      [keystone_authtoken]
      ...
      auth_type = password
      auth_url = http://controller:5000/v3
      project_domain_name = Default
      user_domain_name = Default
      project_name = service
      username = gnocchi
      password = GNOCCHI_PASS
      interface = internalURL
      region_name = RegionOne
      

      Replace GNOCCHI_PASS with the password you chose for the gnocchi user in the Identity service.

  3. Create Ceilometer resources in Gnocchi. Gnocchi should be running by this stage:

    # ceilometer-upgrade --skip-metering-database
    

Finalize installation

  1. Start the Telemetry services and configure them to start when the system boots:

    # systemctl enable openstack-ceilometer-notification.service \
      openstack-ceilometer-central.service \
      openstack-ceilometer-collector.service
    # systemctl start openstack-ceilometer-notification.service \
      openstack-ceilometer-central.service \
      openstack-ceilometer-collector.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.