监控和计量 - Ceilometer

1.Ceilometer的简介:

Ceilometer是openstack 中的一个子项目。
是数据监控器,收集所有OpenStack中发生的事件。
为计费、监控等其他的服务提供数据支撑。

2. Ceilometer存在的理由:

发展速度越来越快。更多的公司利用open stack做自己的公有云平台。
而作为共有云,计量和监控,这两个基础的服务往往是必不可少的。计量是为了获取平台中用户对自己的使用情况,监控是为了确保资源处于一个健康的状态,因此,Ceilometer在项目提出之处,是为了计量、计费而生。

3. Ceilometer的核心概念

“五个核心组件和一个Message Bus”

  • Ceilometer-agent-compute:运行在计算节点上,是计算节点上数据收集的代理

  • Ceilometer-agent-central:运行在控制节点上,轮询服务的非持续化数据

  • Ceilometer-collector:运行在一个或者多个控制节点上,监听Message Bus【消息总线】,将收到的信息写入到数据库中

  • Storage:数据存储,支持mongo DB,mysql等等。用于存储收集到的样本数据

  • API server:运行在控制节点上,提供对数据库的数据的访问

  • Message Bus:计量数据的消息总线,收集数据给Ceilometer-collector

4. Ceilometer架构

监控和计量 - Ceilometer_第1张图片

Ceilometer采用了两种数据采集的方式,其中一种是消费了open stack内各个服务自动发出的notification消息,【图中的蓝色箭头】,另外一种是调用各个服务的API,去主动轮询获取数据。【图中的黑色箭头】

为什么采用两种数据采集的方式?【也是工作架构】

因为在open stack 中,大部分事件都会发出notification消息,比如创建删除instance实例的时候,这些计量计费的信息时,都会发出notification消息。而作为Ceilometer组件,就是notification消息的最大的消费者。因此,第一种方式,是Ceilometer的首要的数据来源。

但是,也有一些计量的消息,是notification获取不到的,比如一些instance的CPU的运行时间,或者是CPU的使用率等等。因此,Ceilometer增加了第二种方式,即为周期性的调用相关的API,去轮询这些消息。

你可能感兴趣的:(监控和计量 - Ceilometer)