Tutorial Install dan Konfigurasi Openstack : Telemetry kodename (Ceilometer)

Layanan Telemetry Data Collection menyediakan fungsi-fungsi berikut:
  • Mencatat jajak  ‘metering data’ secara efisien yang terkait dengan layanan OpenStack.
  • Mengumpulkan ‘event and metering data’ dengan pemantauan pemberitahuan yang dikirim dari layanan.
  • Menerbitkan data yang dikumpulkan untuk berbagai sasaran, termasuk penyimpanan data dan antrian pesan (message queue).
  • membuat alarm ketika mengumpulkan data breaks defined rules.

Layanan Telemetry terdiri dari komponen-komponen berikut:

Agen compute (ceilometer-agent-compute)
Berjalan pada setiap node komputasi dan mencatat jajak pendapat untuk statistik pemanfaatan sumber daya. Mungkin ada jenis lain dari agen di masa depan, tetapi untuk saat ini fokus kami adalah menciptakan agen komputasi.

Agen central (ceilometer-agent-central)
Berjalan pada server manajemen pusat untuk polling statistik pemanfaatan sumber daya yang tidak terikat dengan instance atau node komputasi. Beberapa agen dapat mulai memperbaik pelayanan secara horizontal.

Agen notification (ceilometer-agent-notification)
Berjalan pada server manajemen pusat dan mengkonsumsi pesan dari antrian pesan untuk membangun ‘event and metering data’.

Collector (ceilometer-collector)
Berjalan pada server manajemen pusat dan mengirim data telemetri untuk penyimpanan data atau konsumen eksternal tanpa modifikasi.

alarm evaluator (ceilometer-alarm-evaluator)berjalan pada 1 atau lebih central management servers untuk menentukan kapan alarm menyala karena tren statistik yang terkait melintasi di atas ‘sliding time window’

API server (ceilometer-api)
Berjalan pada satu atau lebih server manajemen pusat untuk menyediakan akses data dari penyimpanan data.

Alarm notifier (aodh-notifier)
Berjalan pada satu atau lebih server manajemen pusat untuk memungkinkan alarm ditetapkan berdasarkan evaluasi untuk koleksi sampel.

#LAB 45 Install dan Konfigurasi Openstack service Telemetry

pada bagian ini menjelaskan bagaimana cara install dan konfigurasi Telemetry service, code-named ceilometer, pada controller node. Telemetry service mengumpulkan ukuran dari sebagian service openstack dan pemicu alarm opsional
sebelum kita install dan konfigurasi Telemetry service, kamu haris membuat database service credentials, dan API endpoints. namun, tidak seperti service lainnya, Telemetry service menggunakan NoSQL database.
membuat ceilometer database:
# mongo --host 10.0.0.10 --eval '
  db = db.getSiblingDB("ceilometer");
  db.addUser({user: "ceilometer",
  pwd: "ceilo",
  roles: [ "readWrite", "dbAdmin" ]})'
MongoDB shell version: 2.4.x
connecting to: controller:27017/test
{
 "user" : "ceilometer",
 "pwd" : "72f25aeee7ad4be52437d7cd3fc60f6f",
 "roles" : [
  "readWrite",
  "dbAdmin"
 ],
 "_id" : ObjectId("5489c22270d7fad1ba631dc3")
}

ganti CEILOMETER_DBPASS dengan password yang anda inginkan.

Source admin credentials untuk mendapatkan access ke admin-only CLI commands:
$ source admin-openrc.sh
untuk membuat service credentials, ikuti langkah berikut
membuat ceilometer user:
$ openstack user create --domain default --password-prompt ceilometer
menambah admin role ke ceilometer user.
$ openstack role add --project service --user ceilometer admin

membuat ceilometer service entity:
$ openstack service create --name ceilometer \
  --description "Telemetry" metering

membuat Telemetry service API endpoints:
$ openstack endpoint create --region RegionOne \
metering public http://controller:8777

$ openstack endpoint create --region RegionOne \
metering internal http://controller:8777

$ openstack endpoint create --region RegionOne \
metering admin http://controller:8777
Install dan konfigurasi komponen :

Install packages:
# apt-get install ceilometer-api ceilometer-collector \
  ceilometer-agent-central ceilometer-agent-notification \
  ceilometer-alarm-evaluator ceilometer-alarm-notifier \
  python-ceilometerclient

Edit file etc/ceilometer/ceilometer.conf dan ikut langkah berikut :
pada bagian [database], konfigurasi database access:
[database]
...
connection= mongodb://ceilometer:CEILOMETER_DBPASS@controller:27017/ceilometer

ganti CEILOMETER_DBPASS dengan password yang telah kamu buat di mongo untuk Telemetry service database. kamu harus menghilangkan spesial characters seperti ‘:’, ‘/’, ‘+’, dan ‘@’ pada connection string yang sesuai dengan RFC2396.

pada bagian [DEFAULT] dan [oslo_messaging_rabbit], konfigurasi RabbitMQ message queue access:
[DEFAULT]
...
rpc_backend = rabbit
[oslo_messaging_rabbit]
...
rabbit_host = controller
rabbit_userid = openstack
rabbit_password = RABBIT_PASS
ganti RABBIT_PASS dengan password yang kamu buat unttuk openstack account di RabbitMQ.

pada bagian [DEFAULT] dan [keystone_authtoken], konfigurasi Identity service access:
[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

ganti CEILOMETER_PASS dengan password yang telah dibuat di ceilometer user pada Identity service.

pada bagian [service_credentials], konfigurasi service credentials:
[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

ganti CEILOMETER_PASS dan password yang kamu buat pada ceilometer user di Identity service.

untuk mempermudah troubleshoting tambah command berikut:
[DEFAULT]
...
verbose = True
#LAB 46 Finalisasi Instalasi

Restart Telemetry services:

# 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




sekarang kita akan setting, layanan Image untuk Telemetry, sekidot

Telemetri menggunakan pemberitahuan untuk mengumpulkan layanan Image meter. Lakukan langkah ini pada ‘controller node’.

#LAB 48 Konfigurasi layanan Image untuk penggunaan Telemetry

Edit file /etc/glance/glance-api.conf dan /etc/glance/glance-registry.conf dan selesaikan tindakan berikut:

pada bagian [DEFAULT] , [oslo_messaging_notifications], dan [oslo_messaging_rabbit], konfigurasi pemberitahuan dan akses broker pesan (message broker) RabbitMQ:
[DEFAULT]
...
rpc_backend = rabbit
[oslo_messaging_notifications]
...
driver = messagingv2
[oslo_messaging_rabbit]
...
rabbit_host = controller
rabbit_userid = openstack
rabbit_password = RABBIT_PASS
Ganti  RABBIT_PASS dengan password yang kamu buat akun openstack di RabbitMQ.

# 49 LAB Finalisasi instalasi

Restart layanan Image:
# service glance-registry restart
# service glance-api restart


#LAB 50 Mengaktifkan meter layanan Compute

Telemetri menggunakan kombinasi pemberitahuan dan agen untuk mengumpulkan meter Compute. Lakukan langkah ini pada setiap compute node.

Install dan konfigurasi komponen

Instal paket:
# apt-get install ceilometer-agent-compute
Edit terlebih dahulu file /etc/ceilometer/ceilometer.conf dan selesaikanlah step berikut:

pada bagian [DEFAULT]  dan [oslo_messaging_rabbit] , tambahkan command berikut untuk 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 kamu buat akun openstack di RabbitMQ.

pada bagian [DEFAULT]  dan [keystone_authtoken], tambah akses layanan Identity, dengan menambah command berikut :

[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 kamu buat pada database layanan Telemetry.
pada bagian [service_credentials], konfigurasi layanan credentials:
[service_credentials]

auth_url = http://controller:5000/v2.0
username = ceilometer
project_name = service
password = CEILOMETER_PASS
interface = internalURL
region_name = RegionOne

Gantilah CEILOMETER_PASS dengan password yang kamu buat untuk user ceilometer dalam layanan Identity.

Konfigurasikan Compute menggunakan Telemetry

Edit file /etc/nova/nova.conf dan konfigurasikan notification di bagian [DEFAULT]:

[DEFAULT]
...
instance_usage_audit = True
instance_usage_audit_period = hour
notify_on_state_change = vm_and_task_state
notification_driver = messagingv2


#LAB 51 Finalisasi instalasi

Restart agent:
# service ceilometer-agent-compute restart
Restart layanan Compute:
# service nova-compute restart



oke kali ini kita akan melanjutkan konfigurasi Telemetry, konfigurasi yang akan kita lakukan adalah konfigurasi Cinder (Block Storage).

Telemetri menggunakan notifikasi untuk mengumpulkan layanan Block Storage meter. Lakukan langkah ini pada controller dan node Block Storage.

Catatan
Pada Environtment harus incude block storage



#LAB 52 Konfigurasi Cinder untuk Telemetry
Edit file di /etc/cinder/cinder.conf dan ikuti langkah berikut
nano /etc/cinder/cinder.conf
setelah itu, pada bagian [DEFAULT]. konfigurasi notifikasi dengan memberikan command berikut:
[DEFAULT]
notification_driver = messagingv2
 

#LAB 53 Finalisasi Instalasi
setelah itu exit, dan restart Block Storage services pada controller node:
# service cinder-api restart
# service cinder-scheduler restart

kita pindah node dulu ke Cinder lalu, restart Block Storage services pada storage nodes(Cinder):
# service cinder-volume restart
 

#LAB 54 mengaktifkan meter Object Storage
kali ini kita akan belajar mengkonfigurasi bagaimanacara install dan mengaktifkan meter Object Storage pada Layanan Telemetry 
Telemetry menggunakan kombinasi polling dan notifikasi untuk mengumpulkan meter Object Storage.

 Catatan
pada environtment harus sudah include layanan Object Storage(swift).


Layanan Telemetry membutuhkan akses ke layanan Object Storage, gunakan ResellerAdmin. dan lakukan langkah berikut ini pada controller node.

Pertama, Jalankan admin credential untuk mendapatkan akses ke command admin-only CLI.
$ source admin-openrc.sh
Kedua, buatlah role ResellerAdmin:
$ openstack role create ResellerAdmin
dan Terakhir, tambahkan role ResellerAdmin ke user ceilometer:
$ openstack role add --project service --user ceilometer ResellerAdmin
Catatan
pada saat menginputkan command diatas tidak akan ada output.

oke setelah selesai, kita lanjut ke lab berikutnya, yaitu Install dan konfigurasi komponen-komponen ceilometer

#LAB 55 install dan konfigurasi Komponen

yang harus kita lakukan pertama adalah menginstall package python-ceilometermiddleware.
# apt-get install python-ceilometermiddleware
Konfigurasi Object Storage untuk menggunakan service Telemetry
Lakukan langkah ini pada controller dan setiap node lain yang menjalankan layanan proxy Object Storage.

Edit terlebih dahulu file /etc/swift/proxy-server.conf dan ikuti langkah dibawah ini:
nano /etc/swift/proxy-server
pada bagian [filter:keystoneauth], tambahkan role ResellerAdmin:
[filter:keystoneauth]

operator_roles = admin, user, ResellerAdmin
pada bagian [pipa: main] , tambahkan ceilometer:
[pipeline:main]
pipeline = ceilometer catch_errors gatekeeper healthcheck proxy-logging cache container_sync bulk ratelimit authtoken keystoneauth container-quotas account-quotas slo dlo versioned_writes proxy-logging proxy-server
pada bagian [filter: ceilometer] , konfigurasikan notifications:
[filter:ceilometer]
paste.filter_factory = ceilometermiddleware.swift:filter_factory
...
control_exchange = swift
url = rabbit://openstack:RABBIT_PASS@controller:5672/
driver = messagingv2
topic = notifications
log_level = WARN
Ganti RABBIT_PASS dengan password yang kamu buat pada openstack di RabbitMQ.

#LAB 56 Finalisasi instalasi
Restart layanan proxy Object Storage:
# service swift-proxy restart


 

#LAB 57 Verifikasi pengoperasian layanan Telemetry.
Install dan konfigurasi, komponen dan service Telemetry sudah kita lakukan sebelumnya, sekarang kita masuk tahap verifikasi,
Langkah-langkah ini hanya mencakup meter layanan Image service untuk reduce clutter.

Catatan
lakukan konfigurasi ini pada node controller 

Pertama, source dulu admin credentials untuk mendapatkan akses kedalam admin-only CLI commands:
$ source admin-openrc.sh

kedua, list apa saja yang ada pada ceilometer, dengan meninputkan command berikut:
$ ceilometer meter-list
Kemudian, download  CirrOS image dari Image service:
$ IMAGE_ID=$(glance image-list | grep 'cirros' | awk '{ print $2 }')
$ glance image-download $IMAGE_ID > /tmp/cirros.img

saya ingin menjelaskan sedikit, tentang command diatas, IMAGE_ID adalah sebuah variable, variable tersebut memiliki function untuk mengambil (grep) kata 'cirros' pada output command glance image-list, dan pada saat itu juga ada command awk print $2 yang berfungsi untuk catch / print dari baris ke 2 dan kolom ke 2, setelah itu glance image-download > (destination file)

setelah kita download, pastikan meters yang telah kita Download tadi tervalidasi / terdeteksi oleh image download, dengan mengulangi command ini:
$ ceilometer meter-list
untuk check usage statistics dari image.download meter kita dapat menggunakan command berikut:
$ ceilometer statistics -m image.download -p 60 
oke kali ini saya akan menjelaskan sedikit, apa yang dimaksud pada command diatas,
ceilometer -> command telemetry
statistics -> list statistik untuk meter
-m -> nama
-p -> periode
silahkan diterjemahkan sendiri ya :p
Hapus file image sebelumnya yang tadi didownload di /tmp/cirros.img :
$ rm /tmp/cirros.img

0 Response to "Tutorial Install dan Konfigurasi Openstack : Telemetry kodename (Ceilometer)"

Post a Comment