您的位置:首页 > 运维架构

《转》OpenStack添加监控服务

2015-07-27 10:39 363 查看
添加监控服务

监控服务

OpenStack监控服务:

有效的收集有关CPU和网络花费的计量数据
通过由服务或基础设置发送的监控通知收集信息。
配置收集数据的类型,让他适应多种操作需求。通过REST API来接受和插入元数据。
通过额外插件的方法扩展架构来收集自定制使用数据。
产生不能否定的签署计量信息。

该系统包含以下基本组件:

计算代理(ceilometer-agent-compute)。在每个计算节点运行并轮询资源的使用率统计信息。未来可能会有更多其他类型的代理,但是目前我们关注于创建计算代理。
中央代理(ceilometer-agent-central)。在中央管理服务器上运行,并轮询不依赖实例或计算节点的资源使用率统计信息。
收集器(ceilometer-collector)。运行在一个或多个中央管理服务器上,监控信息队列(为了通知和计量来自代理的数据)。通知信息被处理然后转到计量信息,然后通过使用对应的主题发送回信息总线。监控信息被不加修改的写到数据存储。
报警通知(ceilometer-alarm-notifier)。运行在一个或多个中央管理服务器,并允许基于阀值评估为样品集合设置报警。
数据存储。数据库用来处理并发写入(来自一个或多个收集器实例)或读取(来自API服务)。
API服务(ceilometer-api)。运行在一个或多个中央管理服务器上并提供来自数据存储的数据访问。这些服务通过标准的OpenStack信息总线进行交流。只有收集器和API服务可以访问数据存储。

安装监控服务

OpenStack监控服务是提供收集器和一个范围的不同代理的API服务。在你安装这些代理到这些节点比如说计算节点上之前,你必须在控制节点安装监控服务的核心组件。

在控制节点安装监控服务:

# yum install openstack-ceilometer-api openstack-ceilometer-collector openstack-ceilometer-central python-ceilometerclient


监控服务使用数据库存储信息。在配置文件中指定数据库的位置。本示例在控制节点中使用MongoDB 数据库。

# yum install mongodb-server mongodb


启动MongoDB服务并配置为开机启动:

# service mongod start
# chkconfig mongod on


创建数据库和一个名为 ceilometer 的数据库用户:

# mongo
> use ceilometer
> db.addUser( { user: "ceilometer",
              pwd: "CEILOMETER_DBPASS",
              roles: [ "readWrite", "dbAdmin" ]
            } )


配置监控服务使用数据库:

# openstack-config --set /etc/ceilometer/ceilometer.conf \
  database connection mongodb://ceilometer:CEILOMETER_DBPASS@controller:27017/ceilometer


你必须定义一个秘钥用来作为监控服务节点间的共享秘钥。使用openssl 生成一组随机的令牌并存储他在配置文件:

# ADMIN_TOKEN=$(openssl rand -hex 10)
# echo $ADMIN_TOKEN
# openstack-config --set /etc/ceilometer/ceilometer.conf publisher_rpc metering_secret $ADMIN_TOKEN


创建一个 ceilometer 用户,这样监控服务就可以验证到认证服务。使用租户 service 并给与用户admin 权限:

# keystone user-create --name=ceilometer --pass=CEILOMETER_PASS --email=ceilometer@example.com
# keystone user-role-add --user=ceilometer --tenant=service --role=admin


在监控服务的配置文件中添加证书:

# openstack-config --set /etc/ceilometer/ceilometer.conf keystone_authtoken auth_host controller
# openstack-config --set /etc/ceilometer/ceilometer.conf keystone_authtoken admin_user ceilometer
# openstack-config --set /etc/ceilometer/ceilometer.conf keystone_authtoken admin_tenant_name service
# openstack-config --set /etc/ceilometer/ceilometer.conf keystone_authtoken auth_protocol http
# openstack-config --set /etc/ceilometer/ceilometer.conf keystone_authtoken admin_password CEILOMETER_PASS


在认证服务上注册监控服务,这样其他的OpenStack服务就可以找到他。创建服务及端点:

# keystone service-create --name=ceilometer --type=metering \
  --description="Ceilometer Telemetry Service"


根据返回的服务IP创建端点:

# keystone endpoint-create \
  --service-id=the_service_id_above \
  --publicurl=http://controller:8777/ \
  --internalurl=http://controller:8777/ \
  --adminurl=http://controller:8777/


启动监控服务,并配置他们为开机启动:

# service openstack-ceilometer-api start
# service openstack-ceilometer-central start
# service openstack-ceilometer-collector start
# chkconfig openstack-ceilometer-api on
# chkconfig openstack-ceilometer-central on
# chkconfig openstack-ceilometer-collector on


为监控服务安装计算代理

在计算节点安装监控服务:

# yum install openstack-ceilometer-compute


在 /etc/nova/nova.conf 文件中设置以下选项:

# openstack-config --set /etc/nova/nova.conf DEFAULT instance_usage_audit True
# openstack-config --set /etc/nova/nova.conf DEFAULT instance_usage_audit_period hour
# openstack-config --set /etc/nova/nova.conf DEFAULT notify_on_state_change vm_and_task_state
# openstack-config --set /etc/nova/nova.conf DEFAULT notification_driver nova.openstack.common.notifier.rpc_notifier
# openstack-config --set /etc/nova/nova.conf DEFAULT notification_driver ceilometer.compute.nova_driver


你必须配置之前由你定义的秘钥。监控服务节点共享该秘钥:

# openstack-config --set /etc/ceilometer/ceilometer.conf publisher_rpc metering_secret $ADMIN_TOKEN


启动服务并设置他们为开机启动:

# service openstack-ceilometer-compute start
# chkconfig openstack-ceilometer-compute on


为监控服务安装镜像服务代理

为了检索镜像样本,你必须配置镜像服务发送通知到信息总线。

# openstack-config --set /etc/ceilometer/ceilometer.conf DEFAULT notifier_strategy qpid


重启镜像服务,让新增的配置生效:

# service openstack-glance-api restart
# service openstack-glance-registry restart


为监控服务添加块存储服务代理

为了检索卷样本,你必须配置块存储服务发送通知到信息总线。

# openstack-config --set /etc/cinder/cinder.conf DEFAULT control_exchange cinder
# openstack-config --set /etc/cinder/cinder.conf DEFAULT notification_driver cinder.openstack.common.notifier.rpc_notifier


重启块存储服务,让新增的配置生效:

# service openstack-cinder-api restart
# service openstack-cinder-agent-central restart


为监控服务添加对象存储服务代理

为了检索对象存储统计信息。监控服务需要以 ResellerAdmin 角色访问对象存储:

$ keystone role-create --name=ResellerAdmin
+----------+----------------------------------+
| Property |              Value               |
+----------+----------------------------------+
|    id    | 462fa46c13fd4798a95a3bfbe27b5e54 |
|   name   |          ResellerAdmin           |
+----------+----------------------------------+

$ keystone user-role-add --tenant service --user ceilometer \
      --role 462fa46c13fd4798a95a3bfbe27b5e54


你也必须为对象存储添加监控中间件,以便处理即将到来和即将出去的流量。将这些行添加进 /etc/swift/proxy-server.conf 文件:

[filter:ceilometer]
use = egg:ceilometer#swift

[pipeline:main]
pipeline = healthcheck cache authtoken keystoneauth ceilometer proxy-server


重启服务启用新配置:

# service openstack-swift-proxy-server restart


校验监控服务的安装

为了测试监控服务的安装。下载镜像,并使用监控服务显示使用统计信息。

使用ceilometer meter-list命令测试访问监控服务:

+------------+-------+-------+--------------------------------------+---------+----------------------------------+
| Name       | Type  | Unit  | Resource ID                          | User ID | Project ID                       |
+------------+-------+-------+--------------------------------------+---------+----------------------------------+
| image      | gauge | image | 9e5c2bee-0373-414c-b4af-b91b0246ad3b | None    | e66d97ac1b704897853412fc8450f7b9 |
| image.size | gauge | B     | 9e5c2bee-0373-414c-b4af-b91b0246ad3b | None    | e66d97ac1b704897853412fc8450f7b9 |
+------------+-------+-------+--------------------------------------+---------+----------------------------------+


从镜像服务下载镜像:

$ glance image-download "CirrOS 0.3.1" > cirros.img


再次调用ceilometer meter-list命令,校验刚才的下载动作已被监测到并存储到了监控服务中:

$ ceilometer meter-list
+----------------+-------+-------+--------------------------------------+---------+----------------------------------+
| Name           | Type  | Unit  | Resource ID                          | User ID | Project ID                       |
+----------------+-------+-------+--------------------------------------+---------+----------------------------------+
| image          | gauge | image | 9e5c2bee-0373-414c-b4af-b91b0246ad3b | None    | e66d97ac1b704897853412fc8450f7b9 |
| image.download | delta | B     | 9e5c2bee-0373-414c-b4af-b91b0246ad3b | None    | e66d97ac1b704897853412fc8450f7b9 |
| image.serve    | delta | B     | 9e5c2bee-0373-414c-b4af-b91b0246ad3b | None    | e66d97ac1b704897853412fc8450f7b9 |
| image.size     | gauge | B     | 9e5c2bee-0373-414c-b4af-b91b0246ad3b | None    | e66d97ac1b704897853412fc8450f7b9 |
+----------------+-------+-------+--------------------------------------+---------+----------------------------------+


你现在可以得到多个使用统计信息的计量数据:

$ ceilometer statistics -m image.download -p 60
+--------+---------------------+---------------------+-------+------------+------------+------------+------------+----------+----------------------------+----------------------------+
| Period | Period Start        | Period End          | Count | Min        | Max        | Sum        | Avg        | Duration | Duration Start             | Duration End               |
+--------+---------------------+---------------------+-------+------------+------------+------------+------------+----------+----------------------------+----------------------------+
| 60     | 2013-11-18T18:08:50 | 2013-11-18T18:09:50 | 1     | 13147648.0 | 13147648.0 | 13147648.0 | 13147648.0 | 0.0      | 2013-11-18T18:09:05.334000 | 2013-11-18T18:09:05.334000 |
+--------+---------------------+---------------------+-------+------------+------------+------------+------------+----------+----------------------------+----------------------------+
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: