=========================== OpenStack Telemetry service =========================== The Telemetry service 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 service 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.