1、Telemetry服務概述
Telemetry數據收集服務
檢查告警服務
2、安裝和配置
先決條件
安裝和配置Telemetry服務之前,你必須創建創建一個數據庫、服務憑證和API端點。但是,不像其他服務,Telemetry服務使用NoSQL 數據庫。在進一步處理之前查看 ref:environment-nosql-database
來安裝和配置MongoDB。
-
創建 ceilometer 數據庫:
# mongo --host controller --eval ' db = db.getSiblingDB("ceilometer");
db.createUser({user: "ceilometer", pwd: "CEILOMETER_DBPASS",
roles: [ "readWrite", "dbAdmin" ]})'
MongoDB shell version: 2.6.xconnecting to: controller:27017/testSuccessfully added
user: { "user" : "ceilometer", "roles" : [ "readWrite", "dbAdmin" ] }
用合適的密碼替換 CEILOMETER_DBPASS。
-
獲得 admin 憑證來獲取只有管理員能執行的命令的訪問權限:
$ . admin-openrc
-
要創建服務證書,完成這些步驟:
$ openstack user create --domain default --password-prompt ceilometerUser
Password:
Repeat User Password:
-
添加 admin 角色到ceilometer
用戶上。
$ openstack role add --project service --user ceilometer admin
註解
這個命令執行後沒有輸出。
$ openstack service create --name ceilometer --description "Telemetry" metering
-
創建Telemetry服務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
安全並配置組件
-
安裝軟件包:
# yum install openstack-ceilometer-api \
openstack-ceilometer-collector openstack-ceilometer-notification \
openstack-ceilometer-central python-ceilometerclient
-
編輯 /etc/ceilometer/ceilometer.conf,同時完成如下動作:
[database]
...
connection=mongodb://ceilometer:CEILOMETER_DBPASS@controller:27017/ceilometer
用你選擇的Telemtry服務數據庫密碼替換 CEILOMETER_DBPASS
-
在 “[DEFAULT]” 和 “[oslo_messaging_rabbit]”部分,配置 “RabbitMQ” 消息隊列訪問:
[DEFAULT]
...
rpc_backend=rabbit
[oslo_messaging_rabbit]
...
rabbit_host=controller
rabbit_userid=openstack
rabbit_password=RABBIT_PASS
用你在 “RabbitMQ” 中爲 “openstack” 選擇的密碼替換 “RABBIT_PASS”。
-
在 “[DEFAULT]” 和 “[keystone_authtoken]” 部分,配置認證服務訪問:
[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
用你在認證服務中爲 “ceilometer” 選擇的密碼替換 “CEILOMETER_PASS”。
-
在 “[service_credentials]” 部分,配置服務證書:
[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=internalURLregion_name=RegionOne
用你在認證服務中爲 “ceilometer” 選擇的密碼替換 “CEILOMETER_PASS”。
完成安裝
-
啓動Telemetry服務並將其配置爲隨系統啓動:
# 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
3、啓用鏡像服務計量
配置鏡像服務使用Telemetry
-
編輯 “/etc/glance/glance-api.conf” 和 “/etc/glance/glance-registry.conf”,同時完成如下動作:
-
在``[DEFAULT]``, ``[oslo_messaging_notifications]``和``[oslo_messaging_rabbit]``部分,配置通知和RabbitMQ消息隊列訪問:
[DEFAULT]
...
rpc_backend=rabbit
[oslo_messaging_notifications]
...
driver=messagingv2
[oslo_messaging_rabbit]
...
rabbit_host=controller
rabbit_userid=openstack
rabbit_password=RABBIT_PASS
用你在 “RabbitMQ” 中爲 “openstack” 選擇的密碼替換 “RABBIT_PASS”。
完成安裝
# systemctl restart openstack-glance-api.service openstack-glance-registry.service
4、啓用計算服務計量
安全並配置組件
-
安裝軟件包:
# yum install openstack-ceilometer-compute python-ceilometerclient python-pecan
-
編輯 /etc/ceilometer/ceilometer.conf,同時完成如下動作:
-
在 “[DEFAULT]” 和 “[oslo_messaging_rabbit]”部分,配置 “RabbitMQ” 消息隊列訪問:
[DEFAULT]
...
rpc_backend=rabbit
[oslo_messaging_rabbit]
...
rabbit_host=controller
rabbit_userid=openstack
rabbit_password=RABBIT_PASS
用你在 “RabbitMQ” 中爲 “openstack” 選擇的密碼替換 “RABBIT_PASS”。
-
在 “[DEFAULT]” 和 “[keystone_authtoken]” 部分,配置認證服務訪問:
[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
用你爲 Telemetry 服務數據庫選擇的密碼替換 CEILOMETER_PASS。
-
在 “[service_credentials]” 部分,配置服務證書:
[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
用你在認證服務中爲 “ceilometer” 選擇的密碼替換 “CEILOMETER_PASS”。
配置計算使用Telemetry
-
編輯 /etc/nova/nova.conf 和在[DEFAULT]
配置提醒:
[DEFAULT]
...
instance_usage_audit=True
instance_usage_audit_period=hour
notify_on_state_change=vm_and_task_state
notification_driver=messagingv2
完成安裝
-
啓動代理和配置它隨系統一起啓動:
# systemctl enable openstack-ceilometer-compute.service
# systemctl start openstack-ceilometer-compute.service
-
重啓計算服務:
# systemctl restart openstack-nova-compute.service
5、啓用塊存儲計量
配置卷使用Telemetry
編輯 /etc/cinder/cinder.conf,同時完成如下動作:
-
在 [oslo_messaging_notifications] 部分,配置提醒:
[oslo_messaging_notifications]
...
driver=messagingv2
完成安裝
-
重啓控制節點上的塊設備存儲服務:
# systemctl restart openstack-cinder-api.service openstack-cinder-scheduler.service
-
重啓存儲節點上的塊設備存儲服務:
# systemctl restart openstack-cinder-volume.service
6、啓用對象計量
先決條件
安裝組件
配置對象存儲使用Telemetry
完成安裝
7、警告服務
先決條件
在安裝和配置警告服務之前,你必須創建一個數據庫,服務憑證和API端點。
-
完成下面的步驟以創建數據庫:
-
用數據庫連接客戶端以 root 用戶連接到數據庫服務器:
$ mysql -u root -p
CREATE DATABASE aodh;
GRANT ALL PRIVILEGES ON aodh.* TO 'aodh'@'localhost' IDENTIFIED BY 'AODH_DBPASS';
GRANT ALL PRIVILEGES ON aodh.* TO 'aodh'@'%' IDENTIFIED BY 'AODH_DBPASS';
用合適的密碼替換 ``AODH_DBPASS``。
-
獲得 admin 憑證來獲取只有管理員能執行的命令的訪問權限:
$ . admin-openrc
-
要創建服務證書,完成這些步驟:
$ openstack user create --domain default \ --password-prompt aodhUser
Password:
Repeat User Password:
$ openstack role add --project service --user aodh admin
註解
這個命令執行後沒有輸出。
$ openstack service create --name aodh --description "Telemetry" alarming
-
創建警告服務API端點:
$ openstack endpoint create --region RegionOne alarming public http://controller:8042
$ openstack endpoint create --region RegionOne alarming internal http://controller:8042
$ openstack endpoint create --region RegionOne alarming admin http://controller:8042
安全並配置組件
註解
默認的配置文件根據不同發行版本而不同。有可能需要增加這些部分或是選項,而不是修改現有的部分或是選項。另外,配置文件代碼段中的省略號(...)表明這可能是你需要保留的默認配置選項。
-
安裝軟件包:
# yum install openstack-aodh-api \
openstack-aodh-evaluator openstack-aodh-notifier \
openstack-aodh-listener openstack-aodh-expirer \
python-ceilometerclient
-
編輯``/etc/aodh/aodh.conf``文件並完成以下操作:
[database]
...
connection=mysql+pymysql://aodh:AODH_DBPASS@controller/aodh
-
在 “[DEFAULT]” 和 “[oslo_messaging_rabbit]”部分,配置 “RabbitMQ” 消息隊列訪問:
[DEFAULT]
...
rpc_backend=rabbit
[oslo_messaging_rabbit]
...
rabbit_host=controller
rabbit_userid=openstack
rabbit_password=RABBIT_PASS
用你在 “RabbitMQ” 中爲 “openstack” 選擇的密碼替換 “RABBIT_PASS”。
-
在 “[DEFAULT]” 和 “[keystone_authtoken]” 部分,配置認證服務訪問:
[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=aodh
password=AODH_PASS
將``AODH_PASS``替換成你在認證服務裏爲``aodh``用戶選擇的密碼。
-
在 “[service_credentials]” 部分,配置服務證書:
[service_credentials]
...
auth_type=password
auth_url=http://controller:5000/v3
project_domain_name=default
user_domain_name=default
project_name=service
username=aodh
password=AODH_PASS
interface=internalURL
region_name=RegionOne
將``AODH_PASS``替換成你在認證服務裏爲``aodh``用戶選擇的密碼。
-
初始化告警數據庫:
# su -s /bin/sh -c "aodh-dbsync" aodh
完成安裝
# systemctl enable openstack-aodh-api.service \
openstack-aodh-evaluator.service \
openstack-aodh-notifier.service \
openstack-aodh-listener.service
# systemctl start openstack-aodh-api.service \
openstack-aodh-evaluator.service \
openstack-aodh-notifier.service \
openstack-aodh-listener.service