Ceilometer and Gnocchi Install

此篇說明如何安裝 ceilometer 和 gnocchi

注意事項

在安裝過程發現 Queens 版官方的套件有問題,導致在安裝 gnocchi-api 時會有python2 和 python3 套件衝突,導致刪除 cinder-api、 keystone、libapache2-mod-wsgi、 nova-placement-api、 openstack-dashboard,因此需要加入新的 repository

Ubuntu 16.04版本要安裝 gnocchi-api 需要加入

add-apt-repository cloud-archive:queens-proposed

建立資料庫

請注意你的使用者和密碼

# mysql -u root -p
MariaDB [(none)]> CREATE DATABASE gnocchi;

MariaDB [(none)]> GRANT ALL PRIVILEGES ON gnocchi.* TO 'gnocchi'@'localhost' \
  IDENTIFIED BY 'GNOCCHI_DBPASS';
  
MariaDB [(none)]> GRANT ALL PRIVILEGES ON gnocchi.* TO 'gnocchi'@'%' \
  IDENTIFIED BY 'GNOCCHI_DBPASS';

建立服務

建立 OpenStack gnocchi 和 ceilometer 使用者及服務

circle-info

請將 $ALL_HOST 改為 controller IP

修改 gnocchi.conf

修改 /etc/gnocchi/gnocchi.conf

circle-info

根據你的環境,修改下面參數

新增 gnocchi-api.conf

新增 /etc/apache2/sites-available/gnocchi-api.conf

建立 gnocchi 資料表

使用 gnocchi-upgrade 建立資料表

重啟 gnocchi 服務

修改 /var/lib/gnocchi 權限

請將 /var/lib/gnocchi 權限設為 gnocchi

修改 admin-openrc

如果要使用 gnocchi 的指令,需要將 admin-openrc 加入以下參數,才能使用指令

安裝 ceilometer

Controller 節點

修改 ceilometer.conf

circle-info

跟據環境,修改以下參數

修改 /etc/ceilometer/ceilometer.conf

建立 ceilometer resource

在 gnocchi 裡建立 ceilometer 的 resource

重啟 ceilometer 服務

修改 glance-api.conf 和 glance-registry.conf

修改 /etc/glance/glance-api.conf 和 /etc/glance/glance-registry.conf

修改 neutron.conf

修改 /etc/neutron/neutron.conf

修改 cinder.conf

修改 /etc/cinder/cinder.conf (volume節點上的也需要修改)

修改 heat.conf

修改 /etc/heat/heat.conf

重啟上述服務

Compute 節點

安裝 ceilometer-agent-compute

修改 ceilometer.conf

circle-info

根據環境,修改以下參數

修改 /etc/ceilometer/ceilometer.conf

修改 nova.conf

修改 /etc/nova/nova.conf

重啟服務

修改 polling.yaml

為了監測 VM 的 disk,增加下列至 /etc/ceilometer/polling.yaml 的 some_pollsters

其他事項

監測的間隔預設為5分鐘,政策為 low,可以使用 gnocchi 查看其他監測的政策,預設有三種: low, medium , high ,granularity 為間隔時間,也可以建立自己的政策,目前尚未嘗試。

若要修改間隔,請修改 ceilometer.conf 的 [dispatcher_gnocchi],以及/etc/ceilometer/polling.yaml

polling.yaml (interval原為300,compute上的也要修改)

conteroller 重啟服務

compute 重啟服務

透過 gnocchi 的指令,可以取得 VM 的監控值,用 resource show --type instance VM_UUID, 可以得到此 VM 的各資源監測的 ID

再透過 gnocchi measures show METRICS_ID,查詢上面的 metrics 的監測值,例如要查詢上述 VM 的 cpu_util (CPU 使用率)

若要取得 VM 網路的監測值,使用 gnocchi resource list --type instance_network_interface, 取得 ID

再使用 gnocchi resource show 取得監測資源 ID

接下來用gnocchi measures show METRICS_ID,根據上述的 ID 取得監測值

更快的查詢方式,根據VM ID查詢,查詢 instance 相關監測值: (resource-type 為 instance,最後面的參數為要查詢的 metrics,範例為 cpu_util)

查詢 instance network interface 相關監測值:(resource-type為 instance_network_interface,最後面的參數為要查詢的metrics, 範例為network.incoming.bytes

Last updated