Openstack-Mitaka Ceilometer 部署心得
標簽 : Openstack
Ceilometer 是 Openstack 的監控管理計費模塊,我所用的版本為 Mitaka 版本。Ceilometer 模塊依賴 Keystone 認證模塊,需要先部署好 Keystone 。
系統環境為 Centos 6.7。
把節點的 hostname 設置為 controller。
編輯 /etc/hosts
文件如下:
# controller
127.0.0.1 controller
ceilometer-client
安裝 python-ceilometerclient
,通過 CLI 命令進行交互。
1. ceilometer
可管理和查看 ceilometer 模塊收集到的資源信息。
這些 client 不依賴於配置文件,但與環境變量、命令行參數有關。
ceilometer 模塊
首先,從 github 上把 ceilometer 模塊克隆下來。
$ cd /opt/stack
$ git clone https://git.openstack.org/openstack/ceilometer.git -b stable/mitaka
安裝 ceilometer web 服務:
$ cd ceilometer
$ sudo python setup.py install
該 ceilometer 模塊依賴於配置文件,例如,/etc/ceilometer/ceilometer.conf
,但與環境變量無關。
配置文件
復制樣例配置文件到特定地方:
$ mkdir -p /etc/ceilometer
$ cp etc/ceilometer/*.json /etc/ceilometer
$ cp etc/ceilometer/*.yaml /etc/ceilometer
$ cp etc/ceilometer/ceilometer.conf.sample /etc/ceilometer/ceilometer.
編輯 /etc/ceilometer/ceilometer.conf
, 並完成以下改動:
- 在 [database] 部分中,配置數據庫連接:
[database]
connection = mongodb://username:password@host:27017/ceilometer
- 在 [keystone_authtoken] 部分中,配置如下:
[keystone_authtoken]
auth_url = http://controller:35357
project_name = admin
username = admin
password = admin
auth_type = password
以上為可通過驗證的賬號。
需要注意的是,使用 oslo-config-generator
生成的 ceilometer.conf
跟官網是有一定差別的,例如,在 [keystone_authtoken] 部分少了些字段,需要自己加上去,不然 ceilometer-api
運行失敗。
建立服務信任
- 建立 ceilometer 的賬號。
openstack user create --domain default --password-prompt ceilometer
- 把 admin 角色加入到 ceilometer 的賬號中。
openstack role add --project service --user ceilometer admin
- 創建 ceilometer 的服務實體。
openstack service create --name ceilometer \
--description "Telemetry" metering
- 建立監控服務 API 終端。
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
- 在 [service_credentials] 部分中,配置如下 ( 未確定 ) :
[service_credentials]
interface = internalURL
# Authentication type to load (string value)
# Deprecated group/name - [service_credentials]/auth_plugin
auth_type = password
# Authentication URL (string value)
auth_url = http://controller:5000/v3
# Project name to scope to (string value)
# Deprecated group/name - [service_credentials]/tenant-name
project_name = service
# Domain name containing project (string value)
project_domain_name = Default
# Username (string value)
# Deprecated group/name - [service_credentials]/user-name
username = ceilometer
# User's domain name (string value)
user_domain_name = Default
# User's password (string value)
password = ceilometer
這部分配置跟 ceilometer-polling
有關。
運行
需要先運行 keystone 模塊,ceilometer 模塊有多個,運行命令有:
ceilometer ceilometer-api ceilometer-db-legacy-clean ceilometer-expirer ceilometer-rootwrap
ceilometer-agent-notification ceilometer-collector ceilometer-dbsync ceilometer-polling ceilometer-send-sample
環境變量
$ export OS_AUTH_URL=http://controller:5000/v3
$ export OS_PROJECT_ID=0bd816d507f34276ab4bc253705d9818
$ export OS_USERNAME=ceilometer
$ export OS_PASSWORD=ceilometer
$ export OS_USER_DOMAIN_NAME=Default
ceilometer-client 只支持 v3 版本。v3 版本比 v2 多了個 domain 概念。
使用
運行 ceilometer-api
命令,就會默認占用端口 8777 運行一個 API Server,可通過 ceilometer-client 進行交互。