installiere und konfiguriere

installiere und konfiguriere

Dieser Abschnitt beschreibt, wie der Telemetriedienst auf dem Controller Node zu installieren und zu konfigurieren ist, der Codename lautet Ceilometer. Der Telemetriedienst sammelt Messwerte von den meisten OpenStack-Diensten und löst wahlweise Alarme aus.

Voraussetzungen

Bevor Sie den Telemetriedienst installieren und konfigurieren, müssen Sie eine Datenbank anlegen und Dienstanmeldeinformationen und API Endpunkte erstellen. Im Gegensatz zu anderen Diensten nutzt der Telemetriedienst eine NoSQL Datenbank. Befolgen Sie zunächst die Schritte in :ref:`environment-nosql-database`zur Installation und Konfiguration von MongoDB bevor Sie fortfahren.

  1. Erstellen Sie die Datenbank ceilometer:

    # 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")
    }
    

    Ersetzen Sie CEILOMETER_DBPASS mit einem geeigneten Passwort.

    Bemerkung

    Wenn die Ausführung des Befehls fehlschlägt mit der Meldung, Sie seien nicht authorisiert einen Benutzer hinzuzufügen, kann es erforderlich sein, die Option auth in der Datei /etc/mongodb.conf auszukommentieren, den MongoDB-Dienst mit systemctl restart mongodb neu zu starten und den Befehl erneut auszuführen.

  1. Sourcen Sie die admin Anmeldeinformationen, um Zugriff auf die Admin-Kommandos zu bekommen:

    $ . admin-openrc
    
  2. Um die Dienstanmeldeinformationen zu erstellen, vervollständigen Sie folgende Schritte:

    • Benutzer ceilometer erstellen:

      $ openstack user create --domain default --password-prompt ceilometer
      User Password:
      Repeat User Password:
      +-----------+----------------------------------+
      | Field     | Value                            |
      +-----------+----------------------------------+
      | domain_id | e0353a670a9e496da891347c589539e9 |
      | enabled   | True                             |
      | id        | c859c96f57bd4989a8ea1a0b1d8ff7cd |
      | name      | ceilometer                       |
      +-----------+----------------------------------+
      
    • Die Rolle admin zum Benutzer ceilometer hinzufügen.

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

      Bemerkung

      Das Kommando erzeugt keine Ausgabe.

    • Dienstobjekt ceilometer erstellen:

      $ openstack service create --name ceilometer \
        --description "Telemetry" metering
      +-------------+----------------------------------+
      | Field       | Value                            |
      +-------------+----------------------------------+
      | description | Telemetry                        |
      | enabled     | True                             |
      | id          | 5fb7fd1bb2954fddb378d4031c28c0e4 |
      | name        | ceilometer                       |
      | type        | metering                         |
      +-------------+----------------------------------+
      
  3. API-Endpunkte für den Telemetriedienst erstellen:

    $ openstack endpoint create --region RegionOne \
      metering public http://controller:8777
    +--------------+----------------------------------+
    | Field        | Value                            |
    +--------------+----------------------------------+
    | enabled      | True                             |
    | id           | b808b67b848d443e9eaaa5e5d796970c |
    | interface    | public                           |
    | region       | RegionOne                        |
    | region_id    | RegionOne                        |
    | service_id   | 5fb7fd1bb2954fddb378d4031c28c0e4 |
    | service_name | ceilometer                       |
    | service_type | metering                         |
    | url          | http://controller:8777           |
    +--------------+----------------------------------+
    
    $ openstack endpoint create --region RegionOne \
      metering internal http://controller:8777
    +--------------+----------------------------------+
    | Field        | Value                            |
    +--------------+----------------------------------+
    | enabled      | True                             |
    | id           | c7009b1c2ee54b71b771fa3d0ae4f948 |
    | interface    | internal                         |
    | region       | RegionOne                        |
    | region_id    | RegionOne                        |
    | service_id   | 5fb7fd1bb2954fddb378d4031c28c0e4 |
    | service_name | ceilometer                       |
    | service_type | metering                         |
    | url          | http://controller:8777           |
    +--------------+----------------------------------+
    
    $ openstack endpoint create --region RegionOne \
      metering admin http://controller:8777
    +--------------+----------------------------------+
    | Field        | Value                            |
    +--------------+----------------------------------+
    | enabled      | True                             |
    | id           | b2c00566d0604551b5fe1540c699db3d |
    | interface    | admin                            |
    | region       | RegionOne                        |
    | region_id    | RegionOne                        |
    | service_id   | 5fb7fd1bb2954fddb378d4031c28c0e4 |
    | service_name | ceilometer                       |
    | service_type | metering                         |
    | url          | http://controller:8777           |
    +--------------+----------------------------------+
    

Installieren und konfigurieren von Komponenten

  1. Installieren Sie die Pakete:

    # zypper install openstack-ceilometer-api \
      openstack-ceilometer-collector \
      openstack-ceilometer-agent-notification \
      openstack-ceilometer-agent-central python-ceilometerclient
    
  1. Bearbeiten Sie die Datei /etc/ceilometer/ceilometer.conf und vervollständigen Sie folgende Aktionen:

    • Konfigurieren Sie den Datenbankzugriff in der Sektion [database] :

      [database]
      ...
      connection = mongodb://ceilometer:CEILOMETER_DBPASS@controller:27017/ceilometer
      

      Ersetzen Sie CEILOMETER_DBPASS mit dem Passwort, welches Sie für die Telemetriedienst-Datenbank gewählt haben. Sonderzeichen im String für die Datenbankverbindung wie ‘:’, ‘/’, ‘+’, und ‘@’ müssen nach RFC2396<https://www.ietf.org/rfc/rfc2396.txt> maskiert werden.

    • Konfigurieren Sie den RabbitMQ Nachrichtenwarteschlangen-Zugriff in den Sektionen [DEFAULT] und [oslo_messaging_rabbit] :

      [DEFAULT]
      ...
      rpc_backend = rabbit
      
      [oslo_messaging_rabbit]
      ...
      rabbit_host = controller
      rabbit_userid = openstack
      rabbit_password = RABBIT_PASS
      

      Ersetzen Sie RABBIT_PASS mit dem Passwort, welches Sie für den openstack Account in RabbitMQ gewählt haben.

    • Konfigurieren Sie den Identitätsdienst-Zugriff in den Sektionen [DEFAULT] und [keystone_authtoken]:

      [DEFAULT]
      ...
      auth_strategy = keystone
      
      [keystone_authtoken]
      ...
      auth_uri = http://controller:5000
      auth_url = http://controller:35357
      memcached_servers = controller:11211
      auth_type = password
      project_domain_name = default
      user_domain_name = default
      project_name = service
      username = ceilometer
      password = CEILOMETER_PASS
      

      Ersetzen Sie``CEILOMETER_PASS`` mit dem Passwort, welches Sie für den Benutzer ceilometer im Identitätsdienst gewählt haben.

    • Konfigurieren Sie die Dienstanmeldeinformationen in der Sektion [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
      

      Ersetzen Sie``CEILOMETER_PASS`` mit dem Passwort, welches Sie für den Benutzer ceilometer im Identitätsdienst gewählt haben.

    • Konfigurieren Sie den Dispatcher in der Sektion [collector]:

      [collector]
      ...
      dispatcher = database
      

Installation abschließen

  • Starten Sie die Telemetriedienste und konfigurieren Sie sie so, dass sie beim Systemstart gestartet werden:

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