Ceilometer概覽

Objectives

2012年Ceilometer創(chuàng)建的時候,目的只是為了提供基礎(chǔ)設(shè)施為OpenStack項目收集信息。它使得那些評級的引擎可以用它來將事件轉(zhuǎn)化成付費項目,我們俗稱“計量”。

隨著這個項目的發(fā)展,跨多個項目的計量值越來越多。Openstack社區(qū)就想著進一步擴展Ceilometer的作用:把它打造成標準的計量方式,并且不用理會統(tǒng)計的目的究竟是什么。然后這些數(shù)據(jù)又可以被分發(fā)到任意的目的地。

Metering

可以將一個計費過程分為3步:

1、Metering

2、Rating

3、Billing

Ceilometer從始至終都限制了第一步。這是一開始就選擇的一條路,因為從私有云發(fā)展到公有云,評級和計費因為每一個人不同的需求而有各種各樣的解決辦法。也就是說,如果你想利用ceilometer進行計費,是一個不錯的選擇,單絕對不是唯一的選擇。

下面是對Ceilometers邏輯架構(gòu)的一個總結(jié):

每一個Ceilometer的服務(wù)都是水平可擴展的。額外的進程和節(jié)點都可以按需增加。Ceilometer主要提供兩個核心的服務(wù):

1、polling agent-設(shè)計成一個守護進程輪詢Openstack服務(wù),然后創(chuàng)建計量值

2、notification agent-設(shè)計成一個可以堅挺消息隊列的通知的守護進程,并把他們轉(zhuǎn)換成Events或者Samples,并且進一步應(yīng)用到pipeline 上。

通過Ceilometer收集和規(guī)范化的話劇都可以被送到不同的目的地。Gnocchi旨在以時間序列格式捕捉測量數(shù)據(jù),以優(yōu)化存儲和查詢。Gnocchi是為了替代現(xiàn)有的計量數(shù)據(jù)庫接口。另外,Aodh是一項報警服務(wù),當用戶打破定義的規(guī)則的時候,Aodh就會發(fā)出警告。最后,Panko是一個事件存儲項目,它是為了捕獲面向文檔的數(shù)據(jù),比如日志和系統(tǒng)事件行為。

收集數(shù)據(jù)

上面就是典型的,代理如何從不同的來源收集數(shù)據(jù)。

Ceilometer工程創(chuàng)建了2個方法收集數(shù)據(jù):

1、notification agent:它會收集從通知總線過來的數(shù)據(jù),然后把他們轉(zhuǎn)成Ceilometer樣本數(shù)據(jù)或者事件

2、polling agent:會根據(jù)一個固定的間隔事件輪詢條用API或者其他的工具收集信息。

第一個方法由ceilometer-notification agent所支持,它會監(jiān)測管理通知的消息隊列。polling agents可以配置成輪詢本地程序或者遠程APIs(由服務(wù)提供的REST APIS接口,還有主機級別的SNMP/IPMI守護進程)

notification agent 消費從各種服務(wù)發(fā)送過來的消息。

上面這個系統(tǒng)的核心就是notification的守護進程(也就是agent-notification),會監(jiān)測由其他OpenStack組件(比如Nova,Glance,Cinder,Neutron,Swift,Keystone,Heat,以及ceilometer內(nèi)部交互)發(fā)送數(shù)據(jù)過來的消息隊列。

這個notification進程加載一個或者多個監(jiān)聽插件,使用的命名空間是ceilometer.notification。每一個插件可以監(jiān)聽不同的主題。默認會監(jiān)聽notification.info,notification.sample,還有notification.error。這些監(jiān)聽器會將這些捕獲到的不同主題的數(shù)據(jù)分發(fā)到合適的端點,然后進一步發(fā)展成Events和Samples

面向樣本數(shù)據(jù)的插件會提供一個方法來列出他們感興趣的事件類型以及相應(yīng)的處理消息的回調(diào)。回調(diào)的注冊名稱被用于開啟或者關(guān)閉使用通知守護進程的管道。在被傳遞到回調(diào)之前,傳進來的數(shù)據(jù)會被根據(jù)他們的事件類型進行過濾,所以這個插件只會接收它自己感興趣的事件。

polling agent查詢服務(wù)數(shù)據(jù)

輪詢compute resorces被運行在compute節(jié)點上的polling agent處理,經(jīng)常被稱為compute-agent。輪詢其他非計算資源被運行在一個云控制節(jié)點上的代理處理,經(jīng)常被稱為central-agent。單一代理可以在一體化部署當中履行這兩種角色。相反的,一個代理的多個實例可以被部署,這些實例之間工作負載是共享的。polling agent的守護進程通過在ceilomater.poll.compute,ceilometer.poll.central,和ceilometer.poll.ipmi混合的命名空間中,被配置成運行一個或者多個pollster插件

這個代理框架之后將生成的樣本數(shù)據(jù)發(fā)送到了notification agent處理

處理數(shù)據(jù)

從polling和notifications agent收集起來的數(shù)據(jù)如果和時間上下文結(jié)合的話,可以獲取到更多的數(shù)據(jù)。Ceilometer提供了很多的轉(zhuǎn)換器用來轉(zhuǎn)換管道中的數(shù)據(jù)。

這張圖表示樣本數(shù)據(jù)可以被分發(fā)到不同的目的地,現(xiàn)在由7中不同的方法:

1、gnocchi,會把數(shù)據(jù)和事件發(fā)布到Gnochi API

2、notifier,會把數(shù)據(jù)推到消息隊列里面,可以供外部系統(tǒng)使用

3、udp,會使用UDP包分發(fā)數(shù)據(jù)

4、http,會指向REST接口

5、file,會把數(shù)據(jù)發(fā)送到指定名字和位置的文件中

存儲/獲取數(shù)據(jù)

ceilometer產(chǎn)生的數(shù)據(jù)可以被發(fā)送到上面提到任何的方式當中,首推Gnocchi.

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • 第一章 OpenStack基礎(chǔ) OpenStack管理的資源及提供的服務(wù)OpenStack做為一個操作系統(tǒng),...
    sgt_tiger閱讀 13,226評論 4 72
  • ceilometer的幾個概念 ceilometer 主要有下面幾個概念: meter 是ceilometer定義...
    愛吃土豆的程序猿閱讀 3,499評論 0 5
  • ceilometer項目是一項數(shù)據(jù)收集服務(wù),它提供了對openstack當前所有核心組件的數(shù)據(jù)進行規(guī)范和轉(zhuǎn)換的能力...
    黑加侖妞閱讀 1,225評論 0 0
  • Spring Cloud為開發(fā)人員提供了快速構(gòu)建分布式系統(tǒng)中一些常見模式的工具(例如配置管理,服務(wù)發(fā)現(xiàn),斷路器,智...
    卡卡羅2017閱讀 136,534評論 19 139
  • 如果說人生可以重來一次,我真的希望能夠重來一次! 哪怕只給我一次可以改變的機會,我就是希望爸爸別有病…… 爸爸第一...
    掃云閱讀 361評論 2 6

友情鏈接更多精彩內(nèi)容