Chapter 12. OpenStack Telemetry Installation
- 12.1. Telemetry Service Overview
- 12.2. Overview of Telemetry Service Deployment
- 12.3. Install the Telemetry Service Packages
- 12.4. Create the Telemetry Identity Records
- 12.5. Configure Telemetry Service Authentication
- 12.6. Configure the Telemetry Database Connection
- 12.7. Configure the Compute Node
- 12.8. Configure Monitored Services
- 12.9. Launch the Telemetry API and Agents
12.1. Telemetry Service Overview
The Telemetry service provides user-level usage data for OpenStack-based clouds, which can be used for customer billing, system monitoring, or alerts. Data can be collected by notifications sent by existing OpenStack components (for example, usage events emitted from Compute) or by polling the infrastructure (for example, libvirt).
Telemetry includes a storage daemon that communicates with authenticated agents through a trusted messaging system, to collect and aggregate data. Additionally, the service uses a plug-in system, which makes it easy to add new monitors.
Table 12.1. Telemetry service components
| Component | Description |
|---|---|
|
ceilometer-agent-compute
|
An agent that runs on each Compute node to poll for resource utilization statistics.
|
|
ceilometer-agent-central
|
An agent that runs on a central management server to poll for utilization statistics about resources not tied to instances or Compute nodes.
|
|
ceilometer-collector
|
An agent that runs on one or more central management servers to monitor the message queues. Notification messages are processed and turned into Telemetry messages, and sent back out on to the message bus using the appropriate topic. Telemetry messages are written to the data store without modification.
|
|
ceilometer-notification
| An agent that pushes metrics to the collector service from various OpenStack services. |
|
MongoDB database
|
For collected usage data from collector agents. Only the collector agents and the API server have access to the database.
|
|
API Server
|
Runs on one or more central management servers to provide access to data in the database.
|
|
RabbitMQ server (
rabbitmq-server)
|
Provides the AMQP message queue. This server (also used by Block Storage) handles the OpenStack transaction management, including queuing, distribution, security, management, clustering, and federation. Messaging becomes especially important when an OpenStack deployment is scaled and its services are running on multiple machines.
|
Telemetry service dependencies
- Each
nova-computenode must have aceilometer-computeagent deployed and running. - All nodes running the
ceilometer-apiservice must have firewall rules granting appropriate access. - The
ceilometer-central-agentcannot currently be horizontally scaled, so only a single instance of this service should be running at any given moment. - You can choose where to locate the additional Telemetry agents, as all intra-agent communication is either based on AMQP or REST calls to the
ceilometer-apiservice; as is the case for theceilometer-alarm-evaluatorservice.