2015年12月11日 星期五

RHEL 的 OpenStack (十一)--管理 Ceilometer 遙測技術服務

Ceilometer 的作用
提供 API 以及客戶端指令,去收集系統上的資料,用於客戶帳單、系統監視或是警告!

遙測技術(telemetry)服務由下列幾個元件組成:
  • ceilometer-agent-compute : 運作於每一個計算節點上,做資源使用的統計調查
  • ceilometer-agent-central : 運作於中央管理主機上,做非計算節點或實體的資源統計資料調查!
  • ceilometer-collector : 運作於一個或多個中央管理主機上,監控訊息佇列!通知訊息將會被處理成遙測技術訊息,並且被儲存起來!
  • Mongo database : 收集儲存樣品資料
  • API Server: 運作於一個或多個中央管理主機,用來提供存取已收集的資料!

Ceilometer 的基本觀念
Ceilometer 與監測不同的地方
已加入 Ceilometer 的 OpenStack 元件
  • Nova
  • Neutron
  • Glance
  • Cinder
  • Swift
Ceilometer 使用的量表類型:
  • 累積式(Cumulative)
  • 標準式(Gauge):用於浮動式IP、影像上傳、硬碟I/O等
  • 時變式(Delta)
練習1:
  1. # source /root/keystonerc_admin
  2. # yum list installed "ceilometer" mongodb-server mongodb
  3. # cat /etc/mongodb.conf
  4. # systemctl status mongod
  5. # grep 10.1.1.1 /etc/ceilometer/ceilometer.conf
  6. # keystone user-get ceilometer
  7. # keystone tenant-get services
  8. # keystone service-get ceilometer
  9. # keystone catalog --service metering
  10. # keystone user-role-list --user ceilometer --tenant services
  11. # openstack-service restart ceilometer
  12. # systemctl status openstack-ceilometer-alarm-evaluator.service
  13. # systemctl status openstack-ceilometer-alarm-notifier.service
  14. # systemctl status openstack-ceilometer-api.service
  15. # systemctl status openstack-ceilometer-central.service
  16. # systemctl status openstack-ceilometer-collector.service
  17. # systemctl status openstack-ceilometer-compute.service
  18. # systemctl status openstack-ceilometer-notification.service
由Ceilometer 遙測服務收集資料
ceilometer 指令來自於 python-ceilometerclient RPM套件!
常用指令:
  • ceilometer meter-list
  • ceilometer sample-list -m image
  • ceilometer statistics -m image
練習2:
  1. # source /root/keystonerc_admin
  2. # glance image-create --name ceilometertest --is-public True --disk-format qcow2 --container-format bare --copy-from http://demo.example.com/pub/small.img
  3. # ceilometer meter-list
  4. # ceilometer meter-list | grep image
  5. # ceilometer sample-list -m image
  6. # ceilometer alarm-threshold-create --name monitor-image --description 'monitor image' --meter-name image.update --threshold 1 --comparison-operator ge --statistic count --period 60 --evaluation-period 1 --alarm-action 'log://'
  7. # ceilometer alarm-list
  8. # glance image-update --name ceilometer ceilometertest
  9. # sleep 1m && ceilometer alarm-list
  10. # ceilometer alarm-history <上項指出現的ID值>
除錯
練習3: