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.
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.
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.
Dapatkan sumber mandat admin untuk mendapatkan akses ke command CLI ‘admin-only’:
$ . admin-openrc
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 |
+-------------+----------------------------------+
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 paket:
# yum install openstack-ceilometer-api \
openstack-ceilometer-collector openstack-ceilometer-notification \
openstack-ceilometer-central python-ceilometerclient
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.
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
Except where otherwise noted, this document is licensed under Creative Commons Attribution 3.0 License. See all OpenStack Legal Documents.