Openstack Core Service -- Ceilometer
ceilometer是OpenStack中的一个子项目,它像一个漏斗一样,能把OpenStack内部发生 的几乎所有的事件都收集起来,然后为计费和监控以及其它服务提供数据支撑。
Telemetry Data Collection service
The Telemetry Data Collection services provide the following functions:
- Efficiently polls(轮询) metering data related to OpenStack services.
- Collects event and metering data by monitoring notifications sent from services.
- Publishes collected data to various targets including data stores and message queues.
Telemetry服务包含以下组件:
- 计算代理 (ceilometer-agent-compute)
-
运行在每个计算节点中,推送资源的使用状态,也许在未来会有其他类型的代理,但是目前来说社区专注于创建计算节点代理。
- 通知代理(ceilometer-agent-notification);
-
运行在中心管理服务器(s)中,获取来自消息队列(s)的消息去构建事件和计量数据。
- 中心代理 (ceilometer-agent-central)
-
运行在中心管理服务器以推送资源使用状态,既不捆绑到实例也不在计算节点。代理可启动多个以横向扩展它的服务。
- 收集器(ceilometer-collector负责接收信息进行持久化存储)
-
运行在中心管理服务器(s),分发收集的telemetry数据到数据存储或者外部的消费者,但不会做任何的改动。
Ceilometer采集数据的两种方式
1、通知 Notification(被动采集)
2、轮询 Polling(主动采集)
Ceilometer的计量数据经过数据采集(Agent)、数据处理和数据存储(collector)这几个步骤。
不像其他服务,Telemetry服务使用NoSQL 数据库 MangoDB