安装配置并验证Ceilometer
Ceilometer看管和计算OpenStack项目中各服务组件的费用、标准、扩展和统计。
先决环境配置
在控制节点执行以下操作。
- 使用admin用户登录openstack命令行。
1
source /etc/keystone/admin-openrc
- 创建服务凭据。
- 创建ceilometer用户,并为该用户设置密码。
1
openstack user create --domain default --password-prompt ceilometer
- 将admin角色添加到ceilometer用户。
1
openstack role add --project service --user ceilometer admin
- 创建ceilometer用户,并为该用户设置密码。
- 在Keystone注册Gnocchi服务。
- 创建gnocchi用户,并设置密码。
1
openstack user create --domain default --password-prompt gnocchi
- 创建gnocchi服务实体。
1
openstack service create --name gnocchi --description "Metric Service" metric
- 将admin角色添加到gnocchi用户。
1
openstack role add --project service --user gnocchi admin
- 创建gnocchi用户,并设置密码。
- 创建度量服务API端点。
1 2 3
openstack endpoint create --region RegionOne metric public http://controller:8041 openstack endpoint create --region RegionOne metric internal http://controller:8041 openstack endpoint create --region RegionOne metric admin http://controller:8041
安装配置Gnocchi
在控制节点执行以下操作。
- 安装Gnocchi包。
1
yum -y install openstack-gnocchi-api openstack-gnocchi-metricd python-gnocchiclient
- 为Gnocchi服务创建数据库。
本文中将涉及的密码均设置为“<PASSWORD>”,请用户根据环境实际情况进行修改。
1 2 3 4 5
mysql -u root -p CREATE DATABASE gnocchi; GRANT ALL PRIVILEGES ON gnocchi.* TO 'gnocchi'@'localhost' IDENTIFIED BY '<PASSWORD>'; GRANT ALL PRIVILEGES ON gnocchi.* TO 'gnocchi'@'%' IDENTIFIED BY '<PASSWORD>'; exit
- 编辑配置文件/etc/gnocchi/gnocchi.conf。
1
vim /etc/gnocchi/gnocchi.conf
并且修改以下配置:- 配置Gnocchi功能参数,log地址以及对接redis url端口。
1 2 3 4 5 6
[DEFAULT] debug = true verbose = true log_dir = /var/log/gnocchi parallel_operations = 4 coordination_url = redis://controller:6379
- 配置Gnocchi工作端口信息,host为控制节点管理IP地址。
1 2 3 4 5 6
[api] auth_mode = keystone host = 172.168.201.11 port = 8041 uwsgi_mode = http-socket max_limit = 1000
- 配置元数据默认存储方式。
1 2
[archive_policy] default_aggregation_methods = mean,min,max,sum,std,count
- 配置允许的访问来源。
1 2
[cors] allowed_origin = http://controller:3000
- 配置数据库检索。
1 2
[indexer] url = mysql+pymysql://gnocchi:<PASSWORD>@controller/gnocchi
- 配置ceilometer测试指标。
1 2 3 4 5 6
[metricd] workers = 4 metric_processing_delay = 60 greedy = true metric_reporting_delay = 120 metric_cleanup_delay = 300
- 配置Gnocchi存储方式以及位置,在这种配置下将其存储到本地文件系统。
1 2 3 4
[storage] coordination_url = redis://controller:6379 file_basepath = /var/lib/gnocchi driver = file
- 配置Keystone认证信息,该模块需要另外添加。
1 2 3 4 5 6 7 8 9 10 11 12
[keystone_authtoken] region_name = RegionOne www_authenticate_uri = http://controller:5000 auth_url = http://controller:5000/v3 memcached_servers = controller:11211 auth_type = password project_domain_name = default user_domain_name = default project_name = service username = gnocchi password = <PASSWORD> service_token_roles_required = true
- 配置Gnocchi功能参数,log地址以及对接redis url端口。
安装配置redis
在控制节点执行以下操作。
- 安装redis server。
1
yum -y install redis
- 编辑配置文件“/etc/redis.conf”,修改以下配置:
1
vim etc/redis.conf
- 配置redis可以在后台启动。
1
daemonize yes
- 配置redis关闭安全模式。
1
protected-mode no
- 配置redis绑定控制节点主机。
1
bind 172.168.201.11
- 配置redis可以在后台启动。
- 以配置好的redis.conf启动redis server service。
1
redis-server /etc/redis.conf
redis服务不会开机自启动,可以将上述命令放入开机启动项里,否则每次开机都需要手动启动,方法如下:
- 编辑配置文件“/etc/rc.d/rc.local”。
1
vim /etc/rc.d/rc.local
并新增以下内容:1
redis-server /etc/redis.conf
- 保存退出后,赋予“/etc/rc.d/rc.local”文件执行权限。
1
chmod +x /etc/rc.d/rc.local
- 编辑配置文件“/etc/rc.d/rc.local”。
安装uWSGI插件
在控制节点执行以下操作。
安装uWSGI插件。
1
|
yum -y install uwsgi-plugin-common uwsgi-plugin-python uwsgi |
完成Gnocchi的安装
在控制节点执行以下操作。
- 初始化Gnocchi。
1
gnocchi-upgrade
- 赋予“/var/lib/gnocchi”文件可读写权限。
1
chmod -R 777 /var/lib/gnocchi
- 完成Gnocchi的安装。
- 启动Gnocchi服务并将其配置为在系统引导时启动。
1 2
systemctl enable openstack-gnocchi-api.service openstack-gnocchi-metricd.service systemctl start openstack-gnocchi-api.service openstack-gnocchi-metricd.service
- 查看Gnocchi服务状态。
1
systemctl status openstack-gnocchi-api.service openstack-gnocchi-metricd.service
- 启动Gnocchi服务并将其配置为在系统引导时启动。
安装和配置Ceilometer(控制节点)
在控制节点执行以下操作。
- 安装Ceilometer包。
1
yum -y install openstack-ceilometer-notification openstack-ceilometer-central
- 编辑配置文件“/etc/ceilometer/pipeline.yaml”并完成以下部分:
配置Gnocchi连接。
1 2
publishers: - gnocchi://?filter_project=service&archive_policy=low
- 编辑配置文件“/etc/ceilometer/ceilometer.conf”并完成以下操作:
- 配置身份认证方式以及消息列队访问。
1 2 3 4 5
[DEFAULT] debug = true auth_strategy = keystone transport_url = rabbit://openstack:<PASSWORD>@controller pipeline_cfg_file = pipeline.yaml
- 配置日志消息窗口。
1 2 3
[notification] store_events = true messaging_urls = rabbit://openstack:<PASSWORD>@controller
- 定义轮询配置文件。
1 2
[polling] cfg_file = polling.yaml
- 配置服务凭据。
1 2 3 4 5 6 7 8 9 10
[service_credentials] auth_type = password auth_url = http://controller:5000/v3 project_domain_id = default user_domain_id = default project_name = service username = ceilometer password = <PASSWORD> interface = internalURL region_name = RegionOne
- 配置身份认证方式以及消息列队访问。
- 在Gnocchi创建Ceilometer资源。
1
ceilometer-upgrade
Gnocchi必须在这个阶段状态为运行。
- 完成Ceilometer安装。
1 2 3 4
systemctl enable openstack-ceilometer-notification.service \ openstack-ceilometer-central.service systemctl start openstack-ceilometer-notification.service \ openstack-ceilometer-central.service
- 查看Ceilometer服务状态。
1 2
systemctl status openstack-ceilometer-notification.service \ openstack-ceilometer-central.service
安装和配置Ceilometer(计算节点)
在计算节点执行以下操作。
- 安装软件,其中openstack-ceilometer-ipmi为可选安装项。
1 2
yum -y install openstack-ceilometer-compute yum -y install openstack-ceilometer-ipmi
- 编辑配置文件“/etc/ceilometer/ceilometer.conf”并完成以下操作。
- 配置消息列队访问。
1 2
[DEFAULT] transport_url = rabbit://openstack:<PASSWORD>@controller
- 配置度量服务凭据。
1 2 3 4 5 6 7 8 9 10
[service_credentials] auth_type = password auth_url = http://controller:5000/v3 project_domain_id = default user_domain_id = default project_name = service username = ceilometer password = <PASSWORD> interface = internalURL region_name = RegionOne
- 配置消息列队访问。
配置nova
在计算节点执行以下操作。
- 编辑“/etc/nova/nova.conf”文件并在以下[DEFAULT]部分配置消息通知:
1 2 3 4 5 6 7 8 9
[DEFAULT] instance_usage_audit = True instance_usage_audit_period = hour [notifications] notify_on_state_change = vm_and_task_state [oslo_messaging_notifications] driver = messagingv2
配置轮询ipmi
在计算节点执行以下操作。
- 编辑“/etc/sudoers”文件使其包含以下内容:
1
ceilometer ALL = (root) NOPASSWD: /usr/bin/ceilometer-rootwrap /etc/ceilometer/rootwrap.conf *
“/etc/sudoers”文件属性为只读,需要执行:wq!强制保存退出。
- 编辑“/etc/ceilometer/polling.yaml”,添加以下度量项目(注意格式对齐):
1 2 3 4
- name: ipmi interval: 300 meters: - hardware.ipmi.temperature
完成安装
在计算节点执行以下操作。
- 启动代理并将其配置为在系统引导时启动。
1 2 3 4
systemctl enable openstack-ceilometer-compute.service systemctl start openstack-ceilometer-compute.service systemctl enable openstack-ceilometer-ipmi.service (optional) systemctl start openstack-ceilometer-ipmi.service (optional)
- 重新启动Compute服务。
1
systemctl restart openstack-nova-compute.service
源码修改
在控制节点执行以下操作。
- OpenStack源码脚本有一处报错,在使用Ceilometer之前需要进行修改。
1
vim /usr/lib/python2.7/site-packages/gnocchiclient/shell.py
将130行内容修改为:
os.environ["OS_AUTH_TYPE"] = "password"
修改前:
修改后:
验证操作
在控制节点执行以下操作。
请确保前面所有内容安装配置无误后再进行以下验证操作。
- 列出所有计量resource资源。
1
gnocchi resource list
- 列出所有可计量的metric计量类型。
1
gnocchi metric list
- 验证Ceilometer对虚拟机中硬件资源的看管。
1
gnocchi measures show ID
父主题: 安装并验证