12.2. Overview of Telemetry Service Deployment

The OpenStack Telemetry service is composed of an API server, three openstack-ceilometer agents, and two alarm services. The API Server (provided by the openstack-ceilometer-api) runs on one or more central management servers to provide access to the back-end repository.

Note

At present, mongod is the only back-end repository supported by the Telemetry service.
The three Telemetry agents (and their respective packages) are:
  • Central agent (provided by openstack-ceilometer-central): runs on a central management server to poll public REST APIs for utilization statistics about resources that are not visible (either through notifications or from the hypervisor layer)
  • Collector (provided by openstack-ceilometer-collector): runs on one or more central management servers to receive notifications on resource usage. The Collector also parses resource usage statistics and saves them as datapoints in the Telemetry store.
  • Compute agent (provided by openstack-ceilometer-compute): runs on each Compute service node to poll for instance utilization statistics. You must install and configure the Compute service first before installing the openstack-ceilometer-compute on any node.
The two alarm services (and their respective packages) that comprise the rest of the Telemetry service are:
  • Evaluator (provided by ceilometer-alarm-evaluator): triggers state transitions on alarms.
  • Notifier (provided by ceilometer-alarm-notifier): executes required actions when alarms are triggered.
You can deploy the API Server, Central agent, data store service, and Collector on different hosts. In addition, each Compute node must also have a Compute agent installed; this agent gathers detailed usage metrics on instances running on the Compute node.
Each of these components must have the following settings configured:
  • Authentication, as in Identity service tokens and Telemetry secret
  • Database connection URL, for connecting to the Telemetry store
The authentication settings (for example, Identity credentials) and database connection string for these components are all configured in /etc/ceilometer/ceilometer.conf. As such, components deployed on the same host will share the same settings.
Conversely, if Telemetry components are deployed on multiple hosts then you will have to replicate any authentication changes to these hosts. To do so, you can copy the /etc/ceilometer/ceilometer.conf file across hosts after applying the new settings.
Once the Telemetry service (as in, all of its components, wherever each is hosted) is deployed and configured, you will need to configure each monitored service (Image, Networking, Object Storage, Block Storage, and each Compute node) to submit data to the Telemetry service. The related settings are configured in each service's configuration file.