Install and configure for Ubuntu

Install and configure for Ubuntu

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:

    # apt-get install ceilometer-collector \
      ceilometer-agent-central ceilometer-agent-notification \
      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. Restart the Telemetry services:

    # service ceilometer-agent-central restart
    # service ceilometer-agent-notification restart
    # service ceilometer-collector restart
    
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.