
ceilometer项目最初的创建目的是实现一个为openstack采集数据,然后为计量和监控以及其它服务提供数据支撑。而数据的收集和存储一直是ceilometer的大问题。
Ceilometer是OpenStack的监控组件
Ceilometer是OpenStack中的一个子项目,它像一个漏斗一样,能把OpenStack内部发生的几乎所有的事件都收集起来,然后为计费和监控以及其它服务提供数据支撑。
Ceilometer监控通过在计算节点部署Compute服务,轮询其计算节点上的instance,获取各自的CPU、网络、磁盘等监控信息,发送到RabbitMQ,Collector服务负责接收信息进行持久化存储。
ceilometer 主要有下面几个概念:
Ceilometer的使命经过一次变化,在项目提出之初,对它的定位就只是专注于计量,为计费而生。我们可以从它 v1.0的Mission看出:
但是Ceilometer收集的是有用的数据,我们都知道数据的价值,所以随着Ceilometer的发展,对它的需求也在不断的增长, 除了计费之外,像监控、Autoscalling、数据统计分析、benchmarking等都需要这些数据。所以从Grizzly开始,Ceilometer 扩展了它的目标,不仅仅局限在计量和计费上,又由于Ceilometer的扩展性很强,很容易通过扩展去满足这些需求。
Ceilometer使用了两种收集数据的方式 – 一种是OpenStack各个服务内发出的notification消息(对应下图中的蓝色箭头) – 另外一种是通过调用各个服务的API去主动的获取数据(对应下图中的红色箭头)。


OpenStack原始数据的收集方式有两种:
一种是通过ceilometer polling agent主动轮询方式,调用相应插件获取性能数据;
另一种是各openstack核心组件主动向消息队列上报自身的性能数据。这两种收集方式都将原始数据发送到消息队列。
ceilometer notification agent监听该消息队列,并将这些原始数据按照一定规则转换成sample和event,再发布到配置的目的端。可配的发布方式包括direct、notifier、udp、kafka和file。
ceilometer collector是可选服务,它从notification消息队列中消费sample和event消息,然后将数据dispatch到配置的目的端:database、file、http、gnocchi,该目的端可以同时配置多项。Ceilometer的逻辑框架如下图所示:

目前,ceilometer主要致力于compute、storage、network的计量监控。其中,对于compute的计量也集中在VM的性能监控,对Host的监控能力也略显不足,因此,Kilo版本中ceilometer在agent-central增加了对硬件资源的监控,通过snmp协议进行硬件性能数据的采集。
实际生产环境中,openstack需要借助第三方软件Mrtg,Cacti,Zabbix等来做为监控补充。ceilometer在自身功能不够强大的时候,也许会考虑与第三方软件的融合,比如打通与第三方软件监控数据的共享互通。
每天一点小知识,一天一个小技能,下节咱们主要讲管理Heat编排组件等技术分享 ,当然
更希望大家留言来制定下集预告。
还有关于更多云计算的详细解析,在PPT源文件都有,可领取资料全文下载。


如果需要获取到这个【核心知识点整理】文档的话,请“关注+转发”然后请进入我的主页,点击“私信”,回复“08”,即可获取下载方式。
我为大家准备的学习(PPT)资料!
| 留言与评论(共有 0 条评论) |