十一、Telemetry服務html
11.一、安裝和配置(控制節點上安裝和配置代號ceilometer的Telemetry服務)python
11.1.一、建立建立一個數據庫、服務憑證和API端點mysql
11.1.1.一、建立 ceilometer 數據庫:sql
# mongo --host controller --eval 'mongodb
db = db.getSiblingDB("ceilometer");數據庫
db.createUser({user: "ceilometer",swift
pwd: "P@ssw0rd",api
roles: [ "readWrite", "dbAdmin" ]})'安全
說明:下面要爲數據庫用戶修改密碼,由於在openstack配置中說密碼須要符合RFC2396服務器
且在日誌中發現報錯:
因而將密碼修改成(Passw0rd):
mongo --host controller --eval '
db = db.getSiblingDB("ceilometer");
db.changeUserPassword("ceilometer","Passw0rd")'
記得修改配置文件鏈接串:vi /etc/ceilometer/ceilometer.conf
而後重啓服務:
日誌報錯就沒有了,一切順利
11.1.1.二、得到 admin 憑證來獲取只有管理員能執行的命令的訪問權限:
$ . admin-openrc
11.1.1.三、要建立服務證書,完成這些步驟:
建立 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
11.1.1.四、建立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
控制節點防火牆開放端口:8777
# firewall-cmd --permanent --add-port=8777/tcp
# firewall-cmd --reload
確認端口開放成功
# firewall-cmd --list-all
11.1.二、安全並配置組件
11.1.2.一、安裝軟件包:
# yum install -y openstack-ceilometer-api \
openstack-ceilometer-collector openstack-ceilometer-notification \
openstack-ceilometer-central python-ceilometerclient
11.1.2.二、編輯 vi /etc/ceilometer/ceilometer.conf,同時完成以下動做:
在 [database] 部分,配置數據庫訪問:
connection = mongodb://ceilometer:P@ssw0rd@controller:27017/ceilometer
在 「[DEFAULT]」 ,配置 「RabbitMQ」 消息隊列訪問:
rpc_backend = rabbit
auth_strategy = keystone
在 [oslo_messaging_rabbit]部分,配置 「RabbitMQ」 消息隊列訪問:
rabbit_host = controller
rabbit_userid = openstack
rabbit_password = P@ssw0rd
在 [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 = P@ssw0rd
在 [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 = P@ssw0rd
interface = internalURL
region_name = RegionOne
11.1.三、完成安裝
啓動Telemetry服務並將其配置爲隨系統啓動:
# systemctl enable openstack-ceilometer-api \
openstack-ceilometer-notification \
openstack-ceilometer-central \
openstack-ceilometer-collector
# systemctl start openstack-ceilometer-api \
openstack-ceilometer-notification \
openstack-ceilometer-central \
openstack-ceilometer-collector
# systemctl status openstack-ceilometer-api \
openstack-ceilometer-notification \
openstack-ceilometer-central \
openstack-ceilometer-collector
11.二、啓用鏡像服務計量
Telemetry使用通知收集鏡像服務計量信息。在控制節點上執行這些步驟。
11.2.一、配置鏡像服務使用Telemetry
編輯 vi /etc/glance/glance-api.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 = P@ssw0rd
編輯 vi /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 = P@ssw0rd
11.2.二、重啓鏡像服務完成安裝:
# systemctl restart openstack-glance-api openstack-glance-registry
# systemctl status openstack-glance-api openstack-glance-registry
11.三、啓用計算服務計量(在每一個計算節點執行這些步驟)
11.3.一、安裝並配置組件
11.3.1.一、安裝軟件包
# yum install -y openstack-ceilometer-compute python-ceilometerclient python-pecan
11.3.1.二、編輯 vi /etc/ceilometer/ceilometer.conf,同時完成以下動做:
在 [DEFAULT] 部分,配置 「RabbitMQ」 消息隊列訪問:
rpc_backend = rabbit
auth_strategy = keystone
在[oslo_messaging_rabbit]部分,配置 「RabbitMQ」 消息隊列訪問:
rabbit_host = controller
rabbit_userid = openstack
rabbit_password = P@ssw0rd
在[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 = P@ssw0rd
在 [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 = P@ssw0rd
interface = internalURL
region_name = RegionOne
11.3.二、配置計算使用Telemetry
編輯 vi /etc/nova/nova.conf , 在 [DEFAULT] 配置提醒:
instance_usage_audit = True
instance_usage_audit_period = hour
notify_on_state_change = vm_and_task_state
notification_driver = messagingv2
11.3.三、完成安裝
啓動代理和配置它隨系統一塊兒啓動:
# systemctl enable openstack-ceilometer-compute
# systemctl start openstack-ceilometer-compute
重啓計算服務:
# systemctl restart openstack-nova-compute
查看狀態:
# systemctl status openstack-nova-compute openstack-ceilometer-compute
11.四、啓用塊存儲計量
Telemetry使用通知收集塊存儲服務計量。在控制節點和塊存儲節點上執行這些步驟。
註解:您的環境必須包含塊存儲服務。
11.4.一、配置卷使用Telemetry(在控制節點和塊存儲節點上同時執行)
編輯 vi /etc/cinder/cinder.conf,同時完成以下動做:
在 [oslo_messaging_notifications] 部分,配置提醒:
driver = messagingv2
控制節點:
計算節點:
11.4.二、完成安裝
11.4.2.一、重啓控制節點上的塊設備存儲服務:
# systemctl restart openstack-cinder-api openstack-cinder-scheduler
# systemctl status openstack-cinder-api openstack-cinder-scheduler
11.4.2.二、重啓存儲節點上的塊設備存儲服務:
# systemctl restart openstack-cinder-volume
# systemctl status openstack-cinder-volume
11.4.2.三、在塊存儲節點上使用``cinder-volume-usage-audit``命令按需檢索度量值。
更多信息,請查看`管理員指南 <http://docs.openstack.org/admin-guide/ telemetry-data-collection.html#block-storage-audit-script-setup-to-get- notifications>`__。
20200309暫時未執行第三步,弄清楚後在執行。
11.五、啓用對象計量
Telemetry結合使用代理和通知收集對象存儲計量。
註解:您的環境必須包含對象存儲服務。
11.5.一、先決條件(Telemetry 服務要求用 ResellerAdmin 的角色來訪問對象存儲服務)
在控制節點實施這些步驟
11.5.1.一、得到 admin 憑證來獲取只有管理員能執行的命令的訪問權限。
$ . admin-openrc
11.5.1.二、建立 ResellerAdmin 角色:
$ openstack role create ResellerAdmin
11.5.1.三、給``ceilometer``用戶添加``ResellerAdmin``角色:
$ openstack role add --project service --user ceilometer ResellerAdmin
註解:這個命令執行後沒有輸出。
11.5.二、安裝組件
11.5.2.一、安裝軟件包
# yum install -y python-ceilometermiddleware
11.5.2.二、配置對象存儲使用Telemetry
在控制節點上執行這些步驟,在其餘節點上運行對象存儲的代理服務。
編輯文件 vi /etc/swift/proxy-server.conf 並完成以下動做:
在 [filter:keystoneauth] 部分, 添加 ResellerAdmin 角色:
[filter:keystoneauth]
...
operator_roles = admin, user, ResellerAdmin
註解:ResellerAdmin是新增的配置
在 [pipeline:main] 部分,添加 ceilometer:
[pipeline:main]
pipeline = ceilometer healthcheck proxy-logging cache authtoken keystoneauth proxy-logging proxy-server
註解:ceilometer爲新增配置,社區官方文檔配置項不少,可是我這裏只配置這些模塊
在 [filter:ceilometer] 部分,配置提醒:
[filter:ceilometer]
paste.filter_factory = ceilometermiddleware.swift:filter_factory
control_exchange = swift
url = rabbit://openstack:P@ssw0rd@controller:5672/
driver = messagingv2
topic = notifications
log_level = WARN
註解:上面配置爲全新增長配置,整個部分連標題部分都沒有。
11.5.三、完成安裝
重啓對象存儲的代理服務:
# systemctl restart openstack-swift-proxy
# systemctl status openstack-swift-proxy
11.六、警告服務(在控制節點執行)
11.6.一、先決條件(建立一個數據庫,服務憑證和API端點)
11.6.1.一、完成下面的步驟以建立數據庫:
用數據庫鏈接客戶端以 root 用戶鏈接到數據庫服務器:
$ mysql -u root -p
CREATE DATABASE aodh;
GRANT ALL PRIVILEGES ON aodh.* TO 'aodh'@'localhost' IDENTIFIED BY 'P@ssw0rd';
GRANT ALL PRIVILEGES ON aodh.* TO 'aodh'@'%' IDENTIFIED BY 'P@ssw0rd';
11.6.1.二、得到 admin 憑證來獲取只有管理員能執行的命令的訪問權限:
$ . admin-openrc
11.6.1.三、要建立服務證書,完成這些步驟:
建立 ``aodh``用戶:
$ openstack user create --domain default --password-prompt aodh
添加``admin`` 角色到 aodh 用戶:
$ openstack role add --project service --user aodh admin
註解:這個命令執行後沒有輸出
建立 aodh 服務實體:
$ openstack service create --name aodh --description "Telemetry" alarming
11.6.1.四、建立警告服務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
控制節點防火牆開放端口:8042
# firewall-cmd --permanent --add-port=8042/tcp
# firewall-cmd --reload
確認端口開放成功
# firewall-cmd --list-all
11.6.二、安全並配置組件
11.6.2.一、安裝軟件包
# yum install -y openstack-aodh-api \
openstack-aodh-evaluator openstack-aodh-notifier \
openstack-aodh-listener openstack-aodh-expirer \
python-ceilometerclient
11.6.2.二、編輯 vi /etc/aodh/aodh.conf 文件並完成如下操做:
在 [database] 部分,配置數據庫訪問:
connection = mysql+pymysql://aodh:P@sswrd@controller/aodh
在 [DEFAULT] 部分,配置:
rpc_backend = rabbit
auth_strategy = keystone
在 [oslo_messaging_rabbit]部分,配置 「RabbitMQ」 消息隊列訪問:
rabbit_host = controller
rabbit_userid = openstack
rabbit_password = RABBIT_PASS
在 [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 = P@ssw0rd
在 「[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 = P@ssw0rd
interface = internalURL
region_name = RegionOne
11.6.2.三、初始化告警數據庫:
# su -s /bin/sh -c "aodh-dbsync" aodh
11.6.三、完成安裝,啓動Alarming服務並將其配置爲隨系統啓動:
# systemctl enable openstack-aodh-api openstack-aodh-evaluator \
openstack-aodh-notifier openstack-aodh-listener
# systemctl start openstack-aodh-api openstack-aodh-evaluator \
openstack-aodh-notifier openstack-aodh-listener
# systemctl status openstack-aodh-api openstack-aodh-evaluator \
openstack-aodh-notifier openstack-aodh-listener
11.七、驗證操做(在控制節點上執行這些步驟)
11.7.一、得到 admin 憑證來獲取只有管理員能執行的命令的訪問權限:
$ . admin-openrc
11.7.二、列出可用的 meters:
$ ceilometer meter-list
11.7.三、從鏡像服務下載CirrOS鏡像:
$ IMAGE_ID=$(glance image-list | grep 'cirros' | awk '{ print $2 }')
$ glance image-download $IMAGE_ID > /tmp/cirros.img
11.7.四、再次列出可用的 meters 以驗證鏡像下載的檢查:
$ ceilometer meter-list
11.7.五、從 image.download 表讀取使用量統計值。
$ ceilometer statistics -m image.download -p 60
11.7.六、刪除以前下載的鏡像文件 /tmp/cirros.img:
$ rm /tmp/cirros.img