Ceilometer概览

Objectives

2012年Ceilometer创建的时候,目的只是为了提供基础设施为OpenStack项目收集信息。它使得那些评级的引擎可以用它来将事件转化成付费项目,我们俗称“计量”。

随着这个项目的发展,跨多个项目的计量值越来越多。Openstack社区就想着进一步扩展Ceilometer的作用:把它打造成标准的计量方式,并且不用理会统计的目的究竟是什么。然后这些数据又可以被分发到任意的目的地。

Metering

可以将一个计费过程分为3步:

1、Metering

2、Rating

3、Billing

Ceilometer从始至终都限制了第一步。这是一开始就选择的一条路,因为从私有云发展到公有云,评级和计费因为每一个人不同的需求而有各种各样的解决办法。也就是说,如果你想利用ceilometer进行计费,是一个不错的选择,单绝对不是唯一的选择。

下面是对Ceilometers逻辑架构的一个总结:

每一个Ceilometer的服务都是水平可扩展的。额外的进程和节点都可以按需增加。Ceilometer主要提供两个核心的服务:

1、polling agent-设计成一个守护进程轮询Openstack服务,然后创建计量值

2、notification agent-设计成一个可以坚挺消息队列的通知的守护进程,并把他们转换成Events或者Samples,并且进一步应用到pipeline 上。

通过Ceilometer收集和规范化的话剧都可以被送到不同的目的地。Gnocchi旨在以时间序列格式捕捉测量数据,以优化存储和查询。Gnocchi是为了替代现有的计量数据库接口。另外,Aodh是一项报警服务,当用户打破定义的规则的时候,Aodh就会发出警告。最后,Panko是一个事件存储项目,它是为了捕获面向文档的数据,比如日志和系统事件行为。

收集数据

上面就是典型的,代理如何从不同的来源收集数据。

Ceilometer工程创建了2个方法收集数据:

1、notification agent:它会收集从通知总线过来的数据,然后把他们转成Ceilometer样本数据或者事件

2、polling agent:会根据一个固定的间隔事件轮询条用API或者其他的工具收集信息。

第一个方法由ceilometer-notification agent所支持,它会监测管理通知的消息队列。polling agents可以配置成轮询本地程序或者远程APIs(由服务提供的REST APIS接口,还有主机级别的SNMP/IPMI守护进程)

notification agent 消费从各种服务发送过来的消息。

上面这个系统的核心就是notification的守护进程(也就是agent-notification),会监测由其他OpenStack组件(比如Nova,Glance,Cinder,Neutron,Swift,Keystone,Heat,以及ceilometer内部交互)发送数据过来的消息队列。

这个notification进程加载一个或者多个监听插件,使用的命名空间是ceilometer.notification。每一个插件可以监听不同的主题。默认会监听notification.info,notification.sample,还有notification.error。这些监听器会将这些捕获到的不同主题的数据分发到合适的端点,然后进一步发展成Events和Samples

面向样本数据的插件会提供一个方法来列出他们感兴趣的事件类型以及相应的处理消息的回调。回调的注册名称被用于开启或者关闭使用通知守护进程的管道。在被传递到回调之前,传进来的数据会被根据他们的事件类型进行过滤,所以这个插件只会接收它自己感兴趣的事件。

polling agent查询服务数据

轮询compute resorces被运行在compute节点上的polling agent处理,经常被称为compute-agent。轮询其他非计算资源被运行在一个云控制节点上的代理处理,经常被称为central-agent。单一代理可以在一体化部署当中履行这两种角色。相反的,一个代理的多个实例可以被部署,这些实例之间工作负载是共享的。polling agent的守护进程通过在ceilomater.poll.compute,ceilometer.poll.central,和ceilometer.poll.ipmi混合的命名空间中,被配置成运行一个或者多个pollster插件

这个代理框架之后将生成的样本数据发送到了notification agent处理

处理数据

从polling和notifications agent收集起来的数据如果和时间上下文结合的话,可以获取到更多的数据。Ceilometer提供了很多的转换器用来转换管道中的数据。

这张图表示样本数据可以被分发到不同的目的地,现在由7中不同的方法:

1、gnocchi,会把数据和事件发布到Gnochi API

2、notifier,会把数据推到消息队列里面,可以供外部系统使用

3、udp,会使用UDP包分发数据

4、http,会指向REST接口

5、file,会把数据发送到指定名字和位置的文件中

存储/获取数据

ceilometer产生的数据可以被发送到上面提到任何的方式当中,首推Gnocchi.

©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 199,830评论 5 468
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 83,992评论 2 376
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 146,875评论 0 331
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 53,837评论 1 271
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 62,734评论 5 360
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 48,091评论 1 277
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 37,550评论 3 390
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 36,217评论 0 254
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 40,368评论 1 294
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 35,298评论 2 317
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 37,350评论 1 329
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 33,027评论 3 315
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 38,623评论 3 303
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 29,706评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 30,940评论 1 255
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 42,349评论 2 346
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 41,936评论 2 341

推荐阅读更多精彩内容

  • 第一章 OpenStack基础 OpenStack管理的资源及提供的服务OpenStack做为一个操作系统,...
    sgt_tiger阅读 12,825评论 4 72
  • ceilometer的几个概念 ceilometer 主要有下面几个概念: meter 是ceilometer定义...
    爱吃土豆的程序猿阅读 3,351评论 0 5
  • ceilometer项目是一项数据收集服务,它提供了对openstack当前所有核心组件的数据进行规范和转换的能力...
    黑加仑妞阅读 1,057评论 0 0
  • Spring Cloud为开发人员提供了快速构建分布式系统中一些常见模式的工具(例如配置管理,服务发现,断路器,智...
    卡卡罗2017阅读 134,566评论 18 139
  • 如果说人生可以重来一次,我真的希望能够重来一次! 哪怕只给我一次可以改变的机会,我就是希望爸爸别有病…… 爸爸第一...
    扫云阅读 320评论 2 6