ceilometer/install-guide/source/install-base-obs.rst

3.5 KiB

Install and configure for openSUSE and SUSE Linux Enterprise

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

Prerequisites

Warning

Ceilometer's native storage has extremely large resource requirements. For more efficient time-series storage, a time-series database such as Gnocchi is recommended. The following instructions are unsupported in future releases.

Before you install and configure the Telemetry service, you must create a database, service credentials, and API endpoints. However, unlike other services, the Telemetry service uses a NoSQL database. See environment-nosql-database-obs to install and configure MongoDB before proceeding further.

  1. Create the ceilometer database:

    # mongo --host controller --eval '
      db = db.getSiblingDB("ceilometer");
      db.addUser({user: "ceilometer",
      pwd: "CEILOMETER_DBPASS",
      roles: [ "readWrite", "dbAdmin" ]})'
    
    MongoDB shell version: 2.4.x
    connecting to: controller:27017/test
    {
     "user" : "ceilometer",
     "pwd" : "72f25aeee7ad4be52437d7cd3fc60f6f",
     "roles" : [
      "readWrite",
      "dbAdmin"
     ],
     "_id" : ObjectId("5489c22270d7fad1ba631dc3")
    }

    Replace CEILOMETER_DBPASS with a suitable password.

    Note

    If the command fails saying you are not authorized to insert a user, you may need to temporarily comment out the auth option in the /etc/mongodb.conf file, restart the MongoDB service using systemctl restart mongodb, and try calling the command again.

Install and configure components

  1. Install the packages:

    # zypper install openstack-ceilometer-api \
      openstack-ceilometer-collector \
      openstack-ceilometer-agent-notification \
      openstack-ceilometer-agent-central python-ceilometerclient

Configure the Apache HTTP server

Note

The following is only required if Ceilometer's native storage is enabled.

  • Create the /etc/apache2/conf.d/wsgi-ceilometer.conf file with the following content:

    Listen 8777
    
    <VirtualHost *:8777>
        WSGIDaemonProcess ceilometer-api processes=2 threads=10 user=ceilometer group=ceilometer display-name=%{GROUP}
        WSGIProcessGroup ceilometer-api
        WSGIScriptAlias / "/var/www/cgi-bin/ceilometer/app"
        WSGIApplicationGroup %{GLOBAL}
        ErrorLog /var/log/apache2/ceilometer_error.log
        CustomLog /var/log/apache2/ceilometer_access.log combined
    </VirtualHost>
    
    WSGISocketPrefix /var/run/apache2

Finalize installation

  1. Reload the Apache HTTP server:

    # systemctl reload apache2.service
  2. Start the Telemetry services and configure them to start when the system boots:

    # systemctl enable openstack-ceilometer-agent-notification.service \
      openstack-ceilometer-agent-central.service \
      openstack-ceilometer-collector.service
    # systemctl start openstack-ceilometer-agent-notification.service \
      openstack-ceilometer-agent-central.service \
      openstack-ceilometer-collector.service