OpenStack Telemetry module
The Telemetry module performs 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.
Creates alarms when collected data breaks defined rules.
The Telemetry module consists of the following
components:
A compute agent (ceilometer-agent-compute)
Runs on each compute node and polls for resource
utilization statistics. There may be other types of agents in the
future, but for now our focus is creating the compute agent.
A central agent (ceilometer-agent-central)
Runs on a central management server to poll for
resource utilization statistics for resources not tied to instances
or compute nodes. Multiple agents can be started to scale service
horizontally.
A notification agent (ceilometer-agent-notification)
Runs on a central management server(s) and consumes
messages from the message queue(s) to build event and metering data.
A collector (ceilometer-collector)
Runs on central management server(s) and dispatches
collected telemetry data to a data store or external consumer
without modification.
An alarm evaluator (ceilometer-alarm-evaluator)
Runs on one or more central management servers to
determine when alarms fire due to the associated statistic
trend crossing a threshold over a sliding time window.
An alarm notifier (ceilometer-alarm-notifier)
Runs on one or more central management servers to
allow alarms to be set based on the threshold evaluation for a
collection of samples.
An API server (ceilometer-api)
Runs on one or more central management servers to
provide data access from the data store.
These services communicate by using the OpenStack messaging bus.
Only the collector and API server have access
to the data store.