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:

    # apt-get install ceilometer-api ceilometer-collector \
      ceilometer-agent-central ceilometer-agent-notification
      python-ceilometerclient
    

    Aufforderungen von debconf beantworten.

  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 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.

Installation abschließen

  • Starten Sie die Telemetriedienste neu:

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