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 nœud contrôleur. Le service de Télémétrie collecte les mesures de la plupart des services OpenStack et optionnellement déclenche 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 credentials, 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.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")
    }
    

    Remplacer CEILOMETER_DBPASS par un mot de passe qui convient.

  1. Sourcer les accréditations admin pour obtenir l’accès aux commandes en ligne spécial-admin:

    $ source admin-openrc.sh
    
  2. Pour créer les credentials du service, suivre les étapes suivantes:

    • Create the ceilometer user:

      $ openstack user create --domain default --password-prompt ceilometer
      User Password:
      Repeat User Password:
      +-----------+----------------------------------+
      | Field     | Value                            |
      +-----------+----------------------------------+
      | domain_id | default                          |
      | enabled   | True                             |
      | id        | c859c96f57bd4989a8ea1a0b1d8ff7cd |
      | name      | ceilometer                       |
      +-----------+----------------------------------+
      
    • Ajouter le role``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                         |
      +-------------+----------------------------------+
      
  1. Créer les points de terminaison 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. Installez les paquets:

    # apt-get install ceilometer-api ceilometer-collector \
      ceilometer-agent-central ceilometer-agent-notification \
      ceilometer-alarm-evaluator ceilometer-alarm-notifier \
      python-ceilometerclient
    
  1. Éditer le fichier /etc/ceilometer/ceilometer.conf et faire les modifications suivantes:

    • Dans la section [database], configurez 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 à la file de message RabbitMQ:

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

      Remplacer RABBIT_PASS par le mot de passe choisi pour le compte openstack dans RabbitMQ.

    • Dans la section [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
      auth_plugin = password
      project_domain_id = default
      user_domain_id = 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 credentials du service:

      [service_credentials]
      ...
      os_auth_url = http://controller:5000/v2.0
      os_username = ceilometer
      os_tenant_name = service
      os_password = CEILOMETER_PASS
      os_endpoint_type = internalURL
      os_region_name = RegionOne
      

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

    • (Optionnel) Pour faciliter la résolution des problèmes, activer la verbosité des logs dans la section [DEFAULT] :

      [DEFAULT]
      ...
      verbose = True
      

Finaliser l’installation

  • Redémarrer les services de Télémétrie:

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

Search