1、Agenthtml
主要有compute agent 和central agent,還有一些其餘的agent這裏暫時不分析。mongodb
agent初始化時會動態加載給定namespace的pollster插件,並經過PollingTask管理pollster的調用,爲每一個pollster配置pipeline。pollster能夠經過調用inspector採集虛擬機中的信息,inspector主要採用底層虛擬化手段得到虛擬機信息,例如經過libvirt;pollster也能夠經過openstack服務的API採集數據。最後,pollster經過pipeline對採集到的數據進行處理和分發,pipeline包括transformer和publisher,前者負責數據轉換,後者負責數據分發。數據庫
2、Collectorspa
負責訂閱並彙總數據,主要提供RPC監聽和UDP監聽,接受agent發送過來的數據。它會將數據存到數據庫中,底層通常使用mongodb。以下圖所示:.net
3、API插件
主要對外提供數據的訪問接口。orm
4、Alarmhtm
暫時不分析!blog
參考文獻:接口
http://docs.openstack.org/developer/ceilometer/architecture.html
http://yansu.org/2013/06/11/hacking-in-openstack-ceilometer-compute-agent.html
http://blog.csdn.net/gaoxingnengjisuan/article/details/41631547