目录

  1. 架构
  2. 数据
    1. 数据收集
    2. 数据处理

架构

Ceilometer项目于2012年启动,其中包含一个简单的目标:提供基础架构以收集有关OpenStack项目所需的任何信息。

architecture

Ceilometer提供两种核心服务。

  1. polling agent(轮询),轮询OpenStack服务并构建Meters的守护程序。
  2. notification agent(通知),监听消息队列上的通知,并将它们转换为Events(事件)、Samples(样本),并应用管道(pipeline)操作。

Ceilometer可以发送标准化的数据给各种目标。
Gnocchi,捕获时间序列的测量数据,以优化存储和查询,取代现存的计量数据库。
Aodh,一种警报服务,可以在用户定义的规则被破坏是发送警报。
Panko,事件存储项目,捕获面向文档的数据,如日志和系统时间操作。

数据

功能名称 功能描述 提供功能Ceilometer模块
Collect Meters数据收集 ceilometer-agent-compute
ceilometer-agent-central
ceilometer-agent-notification
ceilometer-collector
Transform Meters数据转换
Pulish Meters数据发布
Store Meters数据存储
Read Meters数据访问 ceilometer-api
Alarm 告警 ceilometer-alarm-notifier
ceilometer-alarm-evaluator

数据收集

Ceilometer有两种方法来收集数据。

  1. Polling agent轮询某些API或其他工具以定期收集信息。
    • ceilometer-agent-compute,运行在每个compute节点上,以轮询的方式收集虚拟机的CPU内存IO等信息。
    • ceilometer-agent-central,运行在controller节点上,通过各个组件的API收集监控数据。
  2. Notification(ceilometer-notification)接收消息队列总线上生成的消息并将它们转换成Ceilometer的Events(事件)或Samples(样本)。

ceilometer-collector

pulish方式定义在/etc/ceilometer/pipline.yml中。

gather-data

数据处理

Meters数据的处理使用Pipeline的方式。Meters数据依次经过0个或多个Transformer和0个或多个Publisher处理,最后到达一个或多个Receiver。其中Receiver包括Ceilometer Collector和外部系统。