导航菜单

云时代的ceilometer的进化之路

  9199ff8e-25dd-4206-8ddf-32e4c26cc674

  ceilometer项目最初的创建目的是实现一个为openstack采集数据,然后为计量和监控以及其它服务提供数据支撑。而数据的收集和存储一直是ceilometer的大问题。

  Ceilometer是OpenStack的监控组件

  Ceilometer是OpenStack中的一个子项目,它像一个漏斗一样,能把OpenStack内部发生的几乎所有的事件都收集起来,然后为计费和监控以及其它服务提供数据支撑。

  Ceilometer监控通过在计算节点部署Compute服务,轮询其计算节点上的instance,获取各自的CPU、网络、磁盘等监控信息,发送到RabbitMQ,Collector服务负责接收信息进行持久化存储。

  Ceilometer项目开始于2012年的4,5月份,由 Julien Danjou, Dreamhost 和 Canonical等发起。经过6个月的开发,在2012年的10月份,伴随着Folsom的发布,Ceilometer也发布了它的v1.0版本,在 第一个版本中,Ceilometer主要实现了对一些重要数据的计量,包括Compute, Network, Memory, CPU, Image, Volume等,并且提供了REST API。 在2013年的2月份,Ceilometer完成了由Incubation到Integrated的转变,这意味着Ceilometer将作为OpenStack 发行版的一部分而发布。 在Grizzly版中,Ceilometer添加了对Swift的支持,增加了SQLAlchemy作为Storage Backend,开发了Multi Publisher, 并且发布了V2版本的API。 现在Havana中,Ceilometer已经发布了2个milestone,主要增加了HBase作为Storage Backend,Alarm功能也基本完成, 并且增加了UDP Publisher作为取代RPC发送消息的第二选择,更加高效。正在开发的havana-3,一个重要的新功能是 又增加了DB2作为Storage Backend。

  ceilometer 主要有下面几个概念:

  meter 是ceilometer定义的监控项,诸如内存占用,网络IO,磁盘IO等等sample 是每个采集时间点上meter对应的值statistics 一般是统计学上某个周期内,meter对应的值(平均值之类)resource 是被监控的资源对象,这个可以是一台虚拟机,一?ㄎ锢砘蛘咭豢樵朴才蘟larm 是ceilometer的告警机制,你可以通过阈值或者组合条件告警,并设置告警时触发的action

  Ceilometer的使命经过一次变化,在项目提出之初,对它的定位就只是专注于计量,为计费而生。我们可以从它 v1.0的Mission看出:

  但是Ceilometer收集的是有用的数据,我们都知道数据的价值,所以随着Ceilometer的发展,对它的需求也在不断的增长, 除了计费之外,像监控、Autoscalling、数据统计分析、benchmarking等都需要这些数据。所以从Grizzly开始,Ceilometer 扩展了它的目标,不仅仅局限在计量和计费上,又由于Ceilometer的扩展性很强,很容易通过扩展去满足这些需求。

  Ceilometer使用了两种收集数据的方式 一种是OpenStack各个服务内发出的notification消息(对应下图中的蓝色箭头) 另外一种是通过调用各个服务的API去主动的获取数据(对应下图中的红色箭头)。

  70c839d768f746edabac67ef24787d11

  3873ae54ff5a4f1b9a0ac6bd86ead4b1

  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的逻辑框架如下图所示:

  ?

  05b65a70404e4adcbeb60c239e18c15e

  目前,ceilometer主要致力于compute、storage、network的计量监控。其中,对于compute的计量也集中在VM的性能监控,对Host的监控能力也略显不足,因此,Kilo版本中ceilometer在agent-central增加了对硬件资源的监控,通过snmp协议进行硬件性能数据的采集。

  实际生产环境中,openstack需要借助第三方软件Mrtg,Cacti,Zabbix等来做为监控补充。ceilometer在自身功能不够强大的时候,也许会考虑与第三方软件的融合,比如打通与第三方软件监控数据的共享互通。

  每天一点小知识,一天一个小技能,下节咱们主要讲管理Heat编排组件等技术分享 ,当然

  更希望大家留言来制定下集预告。

  还有关于更多云计算的详细解析,在PPT源文件都有,可领取资料全文下载。

  ?

  0e797e9505d549059677444a50809992

  5cc705d2ab6e4709801938832144eb8a

  如果需要获取到这个【核心知识点整理】文档的话,请“关注+转发”然后请进入我的主页,点击“私信”,回复“08”,即可获取下载方式。

  我为大家准备的学习(PPT)资料!

达到当天最大量