本处主要讲述Gnocchi 的安装及配置,其它Module的安装可以参考 http://docs.openstack.org/mitaka/install-guide-rdo/
部署环境
系统版本: CentOS7
Openstack版本: Mitaka
1.创建Gnocchi的数据库
1 CREATE DATABASE gnocchi;
2 GRANT ALL PRIVILEGES ON gnocchi.* TO '$USERNAME'@'localhost' IDENTIFIED BY '$PASSOWRD';
3 GRANT ALL PRIVILEGES ON gnocchi.* TO '$USERNAME'@'%' IDENTIFIED BY '$PASSOWRD';
2.控制节点安装Gnocchi
1 sudo yum install openstack-gnocchi-api openstack-gnocchi-metricd openstack-gnocchi-statsd
3.创建Username及Service
openstack user create --domain default --password-prompt gnocchi
openstack role add --project service --user gnocchi admin
openstack service create --name gnocchi --description "OpenStack Metric" metric
openstack endpoint create --region RegionOne metric public http://$CONTROLLER_IP:8041
openstack endpoint create --region RegionOne metric admin http://$CONTROLLER_IP:8041
openstack endpoint create --region RegionOne metric internal http://$CONTROLLER_IP:8041
4. 配置Gnocchi
vim /etc/gnocchi/gnocchi.conf
[database]
backend = sqlalchemy #配置存储index的数据库类型
[indexer]
url = mysql+pymysql://$USERNAME:$PASSWORD@$CONTROLLER_ip/gnocchi
[keystone_authtoken] #配置gnocchi服务的权限信息
auth_uri = http://$CONTROLLER_IP:5000/v3
identity_uri = http://$CONTROLLER_IP:35357/
admin_user = $USERNAME
admin_password = $PASSWORD
admin_tenant_name = service
signing_dir = /var/cache/gnocchi
[statsd] #配置gnocchi服务的标识信息(忽略Gnocchi的采样数据),Gnocchi服务相关的信息
resource_id =
user_id =
project_id =
archive_policy_name = low
[storage] #配置storage的后端driver,默认是file
coordination_url = file:///var/lib/gnocchi/locks
driver = file
file_basepath = /var/lib/gnocchi
---------------------------------------------------------------------------------------------------
vim /etc/gnocchi/api-paste.ini
[pipeline:main] #鉴权请求,否则无法执行policy.conf指定admin的操作
pipeline = gnocchi+auth
#创建gnocchi服务需要的目录
mkdir /var/cache/gnocchi && chown gnocchi:gnocchi -R /var/cache/gnocchi
mkdir /var/lib/gnocchi && chown gnocchi:gnocchi -R /var/lib/gnocchi
5.初始化Gnocchi 服务的数据库
1 gnocchi-upgrade
6.启动Gnocchi服务
systemctl enable openstack-gnocchi-api.service openstack-gnocchi-metricd.service openstack-gnocchi-statsd.service
systemctl start openstack-gnocchi-api.service openstack-gnocchi-metricd.service openstack-gnocchi-statsd.service
#Mitaka版本初始化数据库时,并创建默认的archive-policy https://review.openstack.org/#/c/290626/
gnocchi archive-policy create -d granularity:5m,points:12 -d granularity:1h,points:24 -d granularity:1d,points:30 low
gnocchi archive-policy create -d granularity:60s,points:60 -d granularity:1h,points:168 -d granularity:1d,points:365 medium
gnocchi archive-policy create -d granularity:1s,points:86400 -d granularity:1m,points:43200 -d granularity:1h,points:8760 high
gnocchi archive-policy-rule create -a low -m "*" default
7.修改Ceilometer配置文件
vim /etc/ceilometer/ceilometer.conf
[DEFAULT]
meter_dispatchers = gnocchi
[api]
gnocchi_is_enabled = true
[dispatcher_gnocchi]
filter_project = service
filter_service_activity = True
url = http://$CONTROLLER_IP:8041
8.重启Ceilometer服务
1 systemctl restart openstack-ceilometer-api.service openstack-ceilometer-collector.service openstack-ceilometer-notification.service
9.示例
创建Ceilometer告警
gnocchi metric list
gnocchi resource list
ceilometer alarm-gnocchi-resources-threshold-create --name gnocchi_test_network --description 'storage.objects.containers' --alarm-action 'log://' --evaluation-periods 2 \
--aggregation-method max --comparison-operator gt --threshold 5871354.0 -m network.incoming.bytes --resource-type instance_network_interface \
--resource-id addbb3ba-5b1e-543f-ba8a-1010e5d36dbc --repeat-actions true