Installer et configurer

Installer et configurer

Cette section décrit comment installer et configurer le service de Télémétrie, nom de code ceilometer, sur le contrôleur. Le service de Télémétrie collecte les mesures de la plupart des services OpenStack et peut également déclencher des alarmes.

Pré-requis

Avant d’installer et configurer le service de Télémétrie, vous devez créer une base de données, des crédentiels de service et des endpoints API. Néanmoins, contrairement aux autres services, le service de Télémétrie utilise une base de données NoSQL. Voir Base de données NoSQL pour installer et configurer MongoDB avant de continuer.

  1. Créer la base de données ceilometer:

    # mongo --host controller --eval '
      db = db.getSiblingDB("ceilometer");
      db.createUser({user: "ceilometer",
      pwd: "CEILOMETER_DBPASS",
      roles: [ "readWrite", "dbAdmin" ]})'
    
    MongoDB shell version: 2.6.x
    connecting to: controller:27017/test
    Successfully added user: { "user" : "ceilometer", "roles" : [ "readWrite", "dbAdmin" ] }
    

    Remplacer CEILOMETER_DBPASS par un mot de passe approprié.

  1. Sourcer les crédentiels admin pour accéder aux commandes en ligne réservées à l’administrateur :

    $ . admin-openrc
    
  2. Pour créer les crédentiels du service, réalisez les étapes suivantes :

    • Créer l’utilisateur ceilometer:

      $ openstack user create --domain default --password-prompt ceilometer
      User Password:
      Repeat User Password:
      +-----------+----------------------------------+
      | Field     | Value                            |
      +-----------+----------------------------------+
      | domain_id | e0353a670a9e496da891347c589539e9 |
      | enabled   | True                             |
      | id        | c859c96f57bd4989a8ea1a0b1d8ff7cd |
      | name      | ceilometer                       |
      +-----------+----------------------------------+
      
    • Ajouter le rôle``admin`` à l’utilisateur ceilometer.

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

      Note

      Cette commande ne produit aucune sortie.

    • Créer l’entité de service ``ceilometer` :

      $ openstack service create --name ceilometer \
        --description "Telemetry" metering
      +-------------+----------------------------------+
      | Field       | Value                            |
      +-------------+----------------------------------+
      | description | Telemetry                        |
      | enabled     | True                             |
      | id          | 5fb7fd1bb2954fddb378d4031c28c0e4 |
      | name        | ceilometer                       |
      | type        | metering                         |
      +-------------+----------------------------------+
      
  3. Créer les endpoints API pour le service de Télémétrie :

    $ 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           |
    +--------------+----------------------------------+
    

Installer et configurer les composants

  1. Installer les packages :

    # yum install openstack-ceilometer-api \
      openstack-ceilometer-collector openstack-ceilometer-notification \
      openstack-ceilometer-central python-ceilometerclient
    
  1. Éditer le fichier /etc/ceilometer/ceilometer.conf et réaliser les actions suivantes :

    • Dans la section [database], configurer l’accès à la base de données :

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

      Remplacer CEILOMETER_DBPASS par le mot de passe choisi pour la base de données du service de Télémétrie. Vous devez protéger les caractères spéciaux comme ‘:’, ‘/’, ‘+’, et ‘@’ dans la chaîne de connexion conformément à la RFC2396..

    • Dans les sections [DEFAULT] et [oslo_messaging_rabbit], configurer l’accès au service de files de messages RabbitMQ:

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

      Remplacez RABBIT_PASS par le mot de passe que vous avez attribué au compte openstack dans RabbitMQ.

    • Dans les sections [DEFAULT] et [keystone_authtoken], configurer l’accès au service d’Identité :

      [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
      

      Remplacer CEILOMETER_PASS par le mot de passe choisi pour l’utilisateur ceilometer dans le service d’Identité.

    • Dans la section [service_credentials], configurer les crédentiels du service :

      [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
      

      Remplacer CEILOMETER_PASS par le mot de passe choisi pour l’utilisateur ceilometer dans le service d’Identité.

Finaliser l’installation

  • Démarrer les services de Télémétrie et les configurer pour être lancés au démarrage du système :

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