Ceilometer/blueprints/configuration-management-in-ceilometer

Provide a visualizing, easy-to-use way to view, modify and customize pipeline configuration for Ceilometer, instead of manually modifying configuration files.

Problem description
Currently, pipeline configuration files, which are separately stored across the OpenStack cluster, are used to define how data is collected and processed in Ceilometer.

Although flexible in functionality, this method is not convenient in practice. To adjust polling and sample storing mechanism towards certain instances, admin users have to pinpoint the corresponding compute nodes and then modify the configuration files remotely and manually. This method is also error-prone, considering the manual configuration file modification.

To resolve these problems, a visualizing easy-to-use pipeline configuration method via dashboard is needed by adding API level support.

Proposed change
New REST APIs will be added into Ceilometer to allow users to change pipeline configuration files conveniently. In addition, new web pages will be integrated into the dashboard.

REST API impact
The proposed APIs are: GET /v2/pipeline/instance/ Return pipeline configuration. GET /v2/pipeline/tenant/ Return a list of pipeline configuration of instances belonging to a tenant. POST /v2/pipeline/instance/ Update pipeline configuration.

Other end user impact
The proposed APIs and configuration via dashboard will relieve the burdens of admin users and improve system robustness.