Installasi dan konfigurasi

Installasi dan konfigurasi

Bagian ini menjelaskan cara menginstal dan mengkonfigurasi layanan Telemetry, ‘code-named ceilometer’, pada ‘controller node’. Layanan Telemetry mengumpulkan pengukuran dari sebagian besar layanan OpenStack dan memicu alarm opsional.

Prasyarat (Prerequisite)

Sebelum Anda menginstal dan mengkonfigurasi layanan Telemetry, Anda harus membuat database, kredensial layanan, dan endpoint API. Namun, tidak seperti layanan lainnya, layanan Telemetry menggunakan database NoSQL. Lihat Database NoSQL untuk menginstal dan mengkonfigurasi MongoDB sebelum melanjutkan lebih lanjut.

  1. Buat database 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" ] }
    

    Gantilah CEILOMETER_DBPASS dengan password yang sesuai.

  1. Dapatkan sumber mandat admin untuk mendapatkan akses ke command CLI ‘admin-only’:

    $ . admin-openrc
    
  2. Untuk membuat kredensial layanan, selesaikanlah langkah-langkah ini:

    • Buatlah user 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                       |
      +-----------+----------------------------------+
      
    • Tambahkan peran admin ke user ceilometer.

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

      Catatan

      Command ini tidak memberikan output.

    • Buatlah entitas layanan ceilometer:

      $ openstack service create --name ceilometer \
        --description "Telemetry" metering
      +-------------+----------------------------------+
      | Field       | Value                            |
      +-------------+----------------------------------+
      | description | Telemetry                        |
      | enabled     | True                             |
      | id          | 5fb7fd1bb2954fddb378d4031c28c0e4 |
      | name        | ceilometer                       |
      | type        | metering                         |
      +-------------+----------------------------------+
      
  3. Buatlah endpoint API layanan Telemetry:

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

Instal dan konfigurasi komponen

  1. Instal paket:

    # yum install openstack-ceilometer-api \
      openstack-ceilometer-collector openstack-ceilometer-notification \
      openstack-ceilometer-central python-ceilometerclient
    
  1. Editlah file /etc/ceilometer/ceilometer.conf dan selesaikanlah tindakan berikut:

    • Dalam bagian ``[Database] ``, konfigurlah akses database:

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

      Gantilah CEILOMETER_DBPASS dengan password yang Anda pilih untuk database layanan Telemetry. Anda harus escape karakter khusus seperti ‘:’, ‘/’, ‘+’, dan ‘@’ dalam string koneksi sesuai dengan RFC2396 <https://www.ietf.org/rfc/rfc2396.txt> _.

    • Dalam bagian ``[DEFAULT] `` dan `` [oslo_messaging_rabbit] ``, konfigurlah akses antrian pesan (message queue) “RabbitMQ”:

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

      Ganti `` RABBIT_PASS`` dengan password yang Anda pilih akun openstack di RabbitMQ.

    • Dalam bagian ``[DEFAULT] `` dan ``[keystone_authtoken] ``, konfigurlah akses layanan Identity:

      [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
      

      Gantilah CEILOMETER_PASS dengan password yang Anda pilih untuk user ceilometer dalam pelayanan Identity.

    • Dalam bagian [service_credentials], konfigurlah kredensial layanan:

      [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
      

      Gantilah CEILOMETER_PASS dengan password yang Anda pilih untuk user ceilometer dalam pelayanan Identity.

Finalisasi instalasi

  • Mulailah layanan Telemetry dan konfigurasikan mereka untuk mulai saat booting:

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