Add blueprint for the InfluxDB/Grafana Fuel plugin

Change-Id: I82da89139fe83421ba9a827f7237af6ca7923941
Blueprint: influxdb-grafana-fuel-plugin
This commit is contained in:
Simon Pasquier 2015-03-03 16:21:13 +01:00
parent cf441ba8f8
commit 67e6da0c37

View File

@ -0,0 +1,172 @@
..
This work is licensed under a Creative Commons Attribution 3.0 Unported
License.
http://creativecommons.org/licenses/by/3.0/legalcode
===========================================
Fuel plugin to install InfluxDB and Grafana
===========================================
https://blueprints.launchpad.net/fuel/+spec/influxdb-grafana-fuel-plugin
InfluxDB [#]_ is an open source, distributed, time series database for storing
metrics and events. This plugin will also provide Grafana [#]_, an open
source, metrics dashboard and graph editor for exploring and visualizing the
data stored in InfluxDB.
Problem description
===================
A cloud operator needs a tool to store metrics and visualize them in an
efficient way.
Proposed change
===============
We will provide a set of tools that will improve the way we can explore and
visualize metrics. This solution should be coupled to another one in order to
collect the metrics. One candidate is the Logging, Monitoring and Alerting
collector [#]_ plugin. Other potential clients for this plugin are Monasca [#]_
and Gnocchi [#]_.
Alternatives
------------
* It might have been implemented as the part of Fuel core but we decided to
make it as a plugin for several reasons:
- This isn't something that all operators may want to deploy.
- Any new additional functionality makes the project's testing more difficult,
which is an additional risk for the Fuel release.
- Ideally, this effort may be of interest for non-Fuel based deployments, too.
* Use Zabbix.
- Zabbix stores metrics into a SQL database which doesn't scale well.
- It offers limited capabilites for querying and displaying the data.
Data model impact
-----------------
None
REST API impact
---------------
None
Upgrade impact
--------------
None
Security impact
---------------
None
Notifications impact
--------------------
None
Other end user impact
---------------------
None
Performance Impact
------------------
The amount of resources (RAM, CPU, disk) required for InfluxDB depends on the
number of clients and on the number of collected metrics. Given the youth of
the InfluxDB project, there are no definitive numbers yet [#]_. As a
consequence, it is recommended to use a dedicated node for deploying the
plugin.
Other deployer impact
---------------------
To be useful the search engine needs to be feed. It can be achieved by other
Fuel plugins or an ad hoc solution.
Developer impact
----------------
None
Implementation
==============
Assignee(s)
-----------
Primary assignee:
Simon Pasquier <spasquier@mirantis.com> (feature lead, developer)
Other contributors:
Irina Povolotskaya <ipovolotskaya@mirantis.com> (technical writer)
Guillaume Thouvenin <gthouvenin@mirantis.com> (developer)
Swann Croiset <scroiset@mirantis.com> (developer)
Work Items
----------
* Implement the InfluxDB Grafana plugin.
* Implement the Puppet manifests.
* Testing.
* Write the documentation.
Dependencies
============
* Fuel 6.1 and higher.
* It will be installed in an empty role [#]_.
Testing
=======
* Prepare a test plan.
* Test the plugin by deploying environments with all Fuel deployment modes.
* Integration tests with LMA collector.
Documentation Impact
====================
* Deployment Guide
* User Guide (what features the plugin provides, how to use them in the
deployed OpenStack environment).
* Test Plan.
* Test Report.
References
==========
.. [#] http://www.influxdb.com/
.. [#] http://www.grafana.org/
.. [#] https://blueprints.launchpad.net/fuel/+spec/lma-collector-plugin
.. [#] https://launchpad.net/monasca
.. [#] https://github.com/stackforge/gnocchi
.. [#] http://dieter.plaetinck.be/influxdb-as-graphite-backend-part2.html
.. [#] https://blueprints.launchpad.net/fuel/+spec/blank-role-node