Benachrichtigungsdienst

Benachrichtigungsdienst

Dieser Abschnitt beschreibt, wie der Telemetrie-Benachrichtigungsdienst (Codename aodh) zu installieren und zu konfigurieren ist.

Voraussetzungen

Bevor Sie den Benachrichtigungsdienst installieren und konfigurieren, müssen Sie eine Datenbank anlegen und Diensteanmeldeinformationen und API-Endpunkte erstellen.

  1. Führen Sie diese Schritte zum Erstellen der Datenbank aus:

    • Benutzen Sie den Datenbank-Client zur Verbindung zum Datenbank-Server als Benutzer root :

      $ mysql -u root -p
      
    • Erstellen Sie die Datenbank aodh:

      CREATE DATABASE aodh;
      
    • Vergeben Sie die richtigen Zugriffsberechtigungen für die Datenbank aodh:

      GRANT ALL PRIVILEGES ON aodh.* TO 'aodh'@'localhost' \
        IDENTIFIED BY 'AODH_DBPASS';
      GRANT ALL PRIVILEGES ON aodh.* TO 'aodh'@'%' \
        IDENTIFIED BY 'AODH_DBPASS';
      

      Ersetzen Sie AODH_DBPASS durch ein geeignetes Passwort.

    • Beenden Sie den Datenbank-Client.

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

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

    • Erstellen des aodh Benutzers:

      $ openstack user create --domain default \
        --password-prompt aodh
      User Password:
      Repeat User Password:
      +-----------+----------------------------------+
      | Field     | Value                            |
      +-----------+----------------------------------+
      | domain_id | e0353a670a9e496da891347c589539e9 |
      | enabled   | True                             |
      | id        | b7657c9ea07a4556aef5d34cf70713a3 |
      | name      | aodh                             |
      +-----------+----------------------------------+
      
    • Fügen Sie die Rolle admin zum Benutzer cinder hinzu:

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

      Bemerkung

      Das Kommando erzeugt keine Ausgabe.

    • Erstellen des aodh Dienstobjekts:

      $ openstack service create --name aodh \
        --description "Telemetry" alarming
      +-------------+----------------------------------+
      | Field       | Value                            |
      +-------------+----------------------------------+
      | description | Telemetry                        |
      | enabled     | True                             |
      | id          | 3405453b14da441ebb258edfeba96d83 |
      | name        | aodh                             |
      | type        | alarming                         |
      +-------------+----------------------------------+
      
  4. Erstellen Sie die API-Endpunkte für den Benachrichtigungsdienst:

    $ openstack endpoint create --region RegionOne \
      alarming public http://controller:8042
      +--------------+----------------------------------+
      | Field        | Value                            |
      +--------------+----------------------------------+
      | enabled      | True                             |
      | id           | 340be3625e9b4239a6415d034e98aace |
      | interface    | public                           |
      | region       | RegionOne                        |
      | region_id    | RegionOne                        |
      | service_id   | 8c2c7f1b9b5049ea9e63757b5533e6d2 |
      | service_name | aodh                             |
      | service_type | alarming                         |
      | url          | http://controller:8042           |
      +--------------+----------------------------------+
    
    $ openstack endpoint create --region RegionOne \
      alarming internal http://controller:8042
      +--------------+----------------------------------+
      | Field        | Value                            |
      +--------------+----------------------------------+
      | enabled      | True                             |
      | id           | 340be3625e9b4239a6415d034e98aace |
      | interface    | internal                         |
      | region       | RegionOne                        |
      | region_id    | RegionOne                        |
      | service_id   | 8c2c7f1b9b5049ea9e63757b5533e6d2 |
      | service_name | aodh                             |
      | service_type | alarming                         |
      | url          | http://controller:8042           |
      +--------------+----------------------------------+
    
    $ openstack endpoint create --region RegionOne \
      alarming admin http://controller:8042
      +--------------+----------------------------------+
      | Field        | Value                            |
      +--------------+----------------------------------+
      | enabled      | True                             |
      | id           | 340be3625e9b4239a6415d034e98aace |
      | interface    | admin                            |
      | region       | RegionOne                        |
      | region_id    | RegionOne                        |
      | service_id   | 8c2c7f1b9b5049ea9e63757b5533e6d2 |
      | service_name | aodh                             |
      | service_type | alarming                         |
      | url          | http://controller:8042           |
      +--------------+----------------------------------+
    

Installieren und konfigurieren von Komponenten

Bemerkung

Die voreingestellten Konfigurationsdateien können je nach Distribution unterschiedlich aussehen. Es kann notwendig sein, diese Abschnitte und Optionen selbst hinzuzufügen anstatt bestehende zu anzupassen. Außerdem deuten Auslassungszeichen (...) in den Konfigurationsabschnitten Standardeinstellungen an, die beibehalten werden sollten.

  1. Installieren Sie die Pakete:

    # zypper install openstack-aodh-api \
      openstack-aodh-evaluator openstack-aodh-notifier \
      openstack-aodh-listener openstack-aodh-expirer \
      python-aodhclient
    
  1. Bearbeiten Sie die Datei /etc/aodh/aodh.conf und vervollständigen Sie folgende Aktionen:

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

      [database]
      ...
      connection = mysql+pymysql://aodh:AODH_DBPASS@controller/aodh
      

      Ersetzen Sie AODH_DBPASS mit dem Passwort, welches Sie für die Datenbank der Telemetrie-Benachrichtigungsmodule 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 = aodh
      password = AODH_PASS
      

      Ersetzen Sie AODH_PASS mit dem Passwort, welches Sie für den Benutzer cinder im Identitätsdienst benutzt 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 = aodh
      password = AODH_PASS
      interface = internalURL
      region_name = RegionOne
      

      Ersetzen Sie AODH_PASS mit dem Passwort, welches Sie für den Benutzer cinder im Identitätsdienst benutzt haben.

Installation abschließen

  1. Starten Sie die Telemetrie-Benachrichtigungsdienste und konfigurieren Sie diese so, dass sie beim Systemstart gestartet werden:

    # systemctl enable openstack-aodh-api.service \
      openstack-aodh-evaluator.service \
      openstack-aodh-notifier.service \
      openstack-aodh-listener.service
    # systemctl start openstack-aodh-api.service \
      openstack-aodh-evaluator.service \
      openstack-aodh-notifier.service \
      openstack-aodh-listener.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.