.. _install_obs: 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. This section assumes that you already have a working OpenStack environment with at least the following components installed: Compute, Image Service, Identity. Prerequisites ------------- 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 :ref:`environment-nosql-database-obs` to install and configure MongoDB before proceeding further. 1. Create the ``ceilometer`` database: .. code-block:: console # 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. .. include:: install-base-prereq-common.rst Install and configure components -------------------------------- 1. Install the packages: .. code-block:: console # zypper install openstack-ceilometer-api \ openstack-ceilometer-collector \ openstack-ceilometer-agent-notification \ openstack-ceilometer-agent-central python-ceilometerclient .. include:: install-base-config-common.rst * In the ``[collector]`` section, configure the dispatcher: .. code-block:: ini [collector] ... dispatcher = database Configure the Apache HTTP server -------------------------------- * Create the ``/etc/apache2/conf.d/wsgi-ceilometer.conf`` file with the following content: .. code-block:: apache Listen 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 WSGISocketPrefix /var/run/apache2 Finalize installation --------------------- #. Reload the Apache HTTP server: .. code-block:: console # systemctl reload apache2.service #. Start the Telemetry services and configure them to start when the system boots: .. code-block:: console # 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