[docs] Edits the InfluxDB-Grafana plugin

Edits the StackLight InfluxDB-Grafana plugin documentation.

This is the final PDF build:
https://drive.google.com/a/mirantis.com/file/d/0B30Lksc8WVCRM3NHWFpQLUpXOFE/view?usp=sharing

Change-Id: I604aa3f6f859fcc0e2d77a042a5513371a07dfc8
This commit is contained in:
Maria Zlatkova 2016-07-21 18:18:12 +03:00
parent 31fcd5f49d
commit 0b0aba09ec
14 changed files with 533 additions and 478 deletions

View File

@ -5,7 +5,7 @@ source_suffix = '.rst'
master_doc = 'index' master_doc = 'index'
project = u'The StackLight InfluxDB-Grafana plugin for Fuel' project = u'The StackLight InfluxDB-Grafana Plugin for Fuel'
copyright = u'2016, Mirantis Inc.' copyright = u'2016, Mirantis Inc.'
version = '0.10' version = '0.10'
@ -19,7 +19,7 @@ html_theme = 'default'
html_static_path = ['_static'] html_static_path = ['_static']
latex_documents = [ latex_documents = [
('index', 'InfluxDBGrafana.tex', u'The StackLight InfluxDB-Grafana plugin for Fuel Documentation', ('index', 'InfluxDBGrafana.tex', u'The StackLight InfluxDB-Grafana Plugin for Fuel Documentation',
u'Mirantis Inc.', 'manual'), u'Mirantis Inc.', 'manual'),
] ]

View File

@ -1,135 +1,147 @@
.. _plugin_configuration: .. _plugin_configuration:
.. raw:: latex
\pagebreak
Plugin configuration Plugin configuration
-------------------- --------------------
To configure the **StackLight InfluxDB-Grafana Plugin**, you need to follow these steps: **To configure the StackLight InfluxDB-Grafana plugin:**
1. `Create a new environment #. Create a new environment as described in `Create a new OpenStack environment
<http://docs.openstack.org/developer/fuel-docs/userdocs/fuel-user-guide/create-environment/start-create-env.html>`_. <http://docs.openstack.org/developer/fuel-docs/userdocs/fuel-user-guide/create-environment/start-create-env.html>`_.
2. Click on the *Settings* tab of the Fuel web UI and select the *Other* category. #. In the Fuel web UI, click the :guilabel:`Settings` tab and select the
:guilabel:`Other` category.
3. Scroll down through the settings until you find the **InfluxDB-Grafana Server #. Scroll down through the settings until you find
Plugin** section. You should see a page like this: :guilabel:`The InfluxDB-Grafana Server Plugin` section. You should see a
page like this:
.. image:: ../images/influx_grafana_settings.png .. image:: ../images/influx_grafana_settings.png
:width: 800 :width: 450pt
4. Tick the **InfluxDB-Grafana Plugin** box and fill-in the required fields as indicated below. #. Select :guilabel:`The InfluxDB-Grafana Server Plugin` and fill in the
required fields as indicated below.
a. Specify the number of days of retention for your data. a. Specify the number of days of retention for your data.
b. Specify the InfluxDB admin password (called root password in the InfluxDB documentation). #. Specify the InfluxDB admin password (called root password in the InfluxDB
c. Specify the database name (default is lma). documentation.
d. Specify the InfluxDB username and password. #. Specify the database name (the default is ``lma``).
e. Specify the Grafana username and password. #. Specify the InfluxDB username and password.
#. Specify the Grafana username and password.
5. Since the introduction of Grafana 2.6.0, the plugin now uses a MySQL database #. The plugin uses a MySQL database to store its configuration data, such as
to store its configuration data such as the dashboard templates. the dashboard templates.
a. Select **Local MySQL** if you want to create the Grafana database using the MySQL server a. Select :guilabel:`Local MySQL` if you want to create the Grafana
of the OpenStack control-plane. Otherwise, select **Remote server** and specify database using the MySQL server of the OpenStack control plane.
the fully qualified name or IP address of the MySQL server you want to use. Otherwise, select :guilabel:`Remote server` and specify the fully
b. Then, specify the MySQL database name, username and password that will be used qualified name or the IP address of the MySQL server you want to use.
#. Specify the MySQL database name, username, and password that will be used
to access that database. to access that database.
6. Tick the *Enable TLS for Grafana* box if you want to encrypt your #. Select :guilabel:`Enable TLS for Grafana` if you want to encrypt your
Grafana credentials (username, password). Then, fill-in the required Grafana credentials (username, password). Then, fill in the required
fields as indicated below. fields as indicated below.
.. image:: ../images/tls_settings.png .. image:: ../images/tls_settings.png
:width: 800 :width: 450pt
a. Specify the DNS name of the Grafana server. This parameter is used a. Specify the DNS name of the Grafana server. This parameter is used to
to create a link in the Fuel dashboard to the Grafana server. create a link in the Fuel dashboard to the Grafana server.
#. Specify the location of a PEM file that contains the certificate #. Specify the location of a PEM file that contains the certificate and the
and the private key of the Grafana server that will be used in TLS handchecks private key of the Grafana server that will be used in TLS handchecks
with the client. with the client.
7. Tick the *Use LDAP for Grafana authentication* box if you want to authenticate #. Select :guilabel:`Use LDAP for Grafana authentication` if you want to
via LDAP to Grafana. Then, fill-in the required fields as indicated below. authenticate to Grafana through LDAP. Then, fill in the required fields as
indicated below.
.. image:: ../images/ldap_auth.png .. image:: ../images/ldap_auth.png
:width: 800 :width: 450pt
a. Select the *LDAPS* button if you want to enable LDAP authentication a. Select :guilabel:`LDAPS` if you want to enable LDAP authentication over
over SSL. SSL.
#. Specify one or several LDAP server addresses separated by a space. Those #. Specify one or several LDAP server addresses separated by space. These
addresses must be accessible from the node where Grafana is installed. addresses must be accessible from the node where Grafana is installed.
Note that addresses external to the *management network* are not routable Addresses outside the *management network* are not routable by default
by default (see the note below). (see the note below).
#. Specify the LDAP server port number or leave it empty to use the defaults. #. Specify the LDAP server port number or leave it empty to use the
#. Specify the *Bind DN* of a user who has search priviliges on the LDAP server. defaults.
#. Specify the password of the user identified by the *Bind DN* above. #. Specify the :guilabel:`Bind DN` of a user who has search privileges on
#. Specify the *Base DN* in the Directory Information Tree (DIT) from where the LDAP server.
to search for users. #. Specify the password of the user identified by the :guilabel:`Bind DN`
#. Specify a valid user search filter (ex. (uid=%s)). above.
The result of the search should return a unique user entry. #. Specify the :guilabel:`User search base DN` in the Directory Information
#. Specify a valid search filter to search for users. Tree (DIT) from where to search for users.
Example ``(uid=%s)`` #. Specify a valid user search filter, for example, ``(uid=%s)``. The
result of the search should be a unique user entry.
You can further restrict access to Grafana to those users who You can further restrict access to Grafana to those users who are members
are member of a specific LDAP group. of a specific LDAP group.
a. Tick the *Enable group-based authorization*. a. Select :guilabel:`Enable group-based authorization`.
#. Specify the LDAP group *Base DN* in the DIT from where to search #. Specify the LDAP group :guilabel:`Base DN` in the DIT from where to
for groups. search for groups.
#. Specify the LDAP group search filter. #. Specify the LDAP group search filter. For example,
Example ``(&(objectClass=posixGroup)(memberUid=%s))`` ``(&(objectClass=posixGroup)(memberUid=%s))``.
#. Specify the CN of the LDAP group that will be mapped to the *admin role* #. Specify the CN of the LDAP group that will be mapped to the *admin role*.
#. Specify the CN of the LDAP group that will be mapped to the *viewer role* #. Specify the CN of the LDAP group that will be mapped to the *viewer role*.
Users who have the *admin role* can modify the Grafana dashboards Users who have the *admin role* can modify the Grafana dashboards or create
or create new ones. Users who have the *viewer role* can only new ones. Users who have the *viewer role* can only visualize the Grafana
visualise the Grafana dashboards. dashboards.
7. `Configure your environment #. Configure your environment as described in `Configure your Environment
<http://docs.openstack.org/developer/fuel-docs/userdocs/fuel-user-guide/configure-environment.html>`_. <http://docs.openstack.org/developer/fuel-docs/userdocs/fuel-user-guide/configure-environment.html>`_.
.. note:: By default, StackLight is configured to use the *management network*, .. note:: By default, StackLight is configured to use the *management
of the so-called `Default Node Network Group network* of the so-called `Default Node Network Group
<http://docs.openstack.org/developer/fuel-docs/userdocs/fuel-user-guide/configure-environment/network-settings.html>`_. <http://docs.openstack.org/developer/fuel-docs/userdocs/fuel-user-guide/configure-environment/network-settings.html>`_.
While this default setup may be appropriate for small deployments or While this default setup may be appropriate for small deployments or
evaluation purposes, it is recommended not to use this network evaluation purposes, it is recommended that you not use this network for
for StackLight in production. It is instead recommended to create a network StackLight in production. Instead, create a network dedicated to
dedicated to StackLight using the `networking templates StackLight using the `networking templates
<https://docs.mirantis.com/openstack/fuel/fuel-8.0/operations.html#using-networking-templates>`_ <https://docs.mirantis.com/openstack/fuel/fuel-9.0/operations.html#using-networking-templates>`_
capability of Fuel. Using a dedicated network for StackLight will Fuel capability. Using a dedicated network for StackLight will improve
improve performances and reduce the monitoring footprint on the performance and reduce the monitoring footprint on the control plane. It
control-plane. It will also facilitate access to the Gafana UI will also facilitate access to the Gafana UI after deployment, as the
after deployment as the *management network* is not routable. *management network* is not routable.
8. Click the *Nodes* tab and assign the *InfluxDB_Grafana* role #. Click the :guilabel:`Nodes` tab and assign the :guilabel:`InfluxDB_Grafana`
to the node(s) where you want to install the plugin. role to the node or multiple nodes where you want to install the plugin.
You can see in the example below that the *InfluxDB_Grafana* The example below shows that the :guilabel:`InfluxDB_Grafana` role is
role is assigned to three nodes along side with the assigned to three nodes alongside with the
*Alerting_Infrastructure* and the *Elasticsearch_Kibana* roles. :guilabel:`Alerting_Infrastructure` and the
Here, the three plugins of the LMA toolchain backend servers are :guilabel:`Elasticsearch_Kibana` roles. The three plugins of the LMA
installed on the same nodes. You can assign the *InfluxDB_Grafana* toolchain back-end servers are installed on the same nodes. You can assign
role to either one node (standalone install) or three nodes for HA. the :guilabel:`InfluxDB_Grafana` role to either one node (standalone
install) or three nodes for HA.
.. image:: ../images/influx_grafana_role.png .. image:: ../images/influx_grafana_role.png
:width: 800 :width: 450pt
.. note:: Installing the InfluxDB server on more than three nodes .. note:: Currently, installing the InfluxDB server on more than three
is currently not possible using the Fuel plugin. nodes is not possible using the Fuel plugin. Similarly, installing the
Similarly, installing the InfluxDB server on two nodes InfluxDB server on two nodes is not recommended to avoid split-brain
is not recommended to avoid split-brain situations in the Raft situations in the Raft consensus of the InfluxDB cluster, as well as the
consensus of the InfluxDB cluster as well as the *Pacemaker* cluster *Pacemaker* cluster, which is responsible for the VIP address failover.
which is responsible of the VIP address failover. It is possible to add or remove nodes with the
To be also noted that it is possible to add or remove nodes :guilabel:`InfluxDB_Grafana` role in the cluster after deployment.
with the *InfluxDB_Grafana* role in the cluster after deployment.
9. `Adjust the disk partitioning if necessary #. If required, adjust the disk partitioning as described in
`Configure disk partitioning
<http://docs.openstack.org/developer/fuel-docs/userdocs/fuel-user-guide/configure-environment/customize-partitions.html>`_. <http://docs.openstack.org/developer/fuel-docs/userdocs/fuel-user-guide/configure-environment/customize-partitions.html>`_.
By default, the InfluxDB-Grafana Plugin allocates: By default, the InfluxDB-Grafana Plugin allocates:
* 20% of the first available disk for the operating system by honoring * 20% of the first available disk for the operating system by honoring
a range of 15GB minimum to 50GB maximum. a range of 15 GB minimum to 50 GB maximum.
* 10GB for */var/log*. * 10 GB for ``/var/log``.
* At least 30 GB for the InfluxDB database in */var/lib/influxdb*. * At least 30 GB for the InfluxDB database in ``/var/lib/influxdb``.
10. `Deploy your environment #. Deploy your environment as described in `Deploy an OpenStack environment
<http://docs.openstack.org/developer/fuel-docs/userdocs/fuel-user-guide/deploy-environment.html>`_. <http://docs.openstack.org/developer/fuel-docs/userdocs/fuel-user-guide/deploy-environment.html>`_.

View File

@ -3,8 +3,8 @@
Key terms Key terms
--------- ---------
The table below lists the key terms and acronyms that are used The table below lists the key terms and acronyms that are used in this
in this document. document.
+---------------------+-------------------------------------------------------+ +---------------------+-------------------------------------------------------+
| **Terms & acronyms**| **Definition** | | **Terms & acronyms**| **Definition** |
@ -17,13 +17,13 @@ in this document.
| | open-source database (MIT license). It is written in | | | open-source database (MIT license). It is written in |
| | Go and has no external dependencies. | | | Go and has no external dependencies. |
| | InfluxDB is targeted at use cases for DevOps, metrics,| | | InfluxDB is targeted at use cases for DevOps, metrics,|
| | sensor data, and real-time analytics. | | | sensor data, and real-time analytics. |
+---------------------+-------------------------------------------------------+ +---------------------+-------------------------------------------------------+
| Grafana | Grafana is an Apache 2.0 licensed general purpose | | Grafana | Grafana is a general-purpose dashboard and graph |
| | dashboard and graph composer. It is focused on | | | composer. It is focused on providing rich ways to |
| | providing rich ways to visualize metrics time-series, | | | visualize metrics time-series mainly through graphs |
| | mainly though graphs but supports other ways to | | | but supports other ways to visualize data through a |
| | visualize data through a pluggable panel architecture.| | | pluggable panel architecture. |
| | | | | |
| | It has rich support for Graphite, InfluxDB, and | | | It has rich support for Graphite, InfluxDB, and |
| | OpenTSDB and also supports other data sources through | | | OpenTSDB and also supports other data sources through |

View File

@ -22,7 +22,6 @@ Installing and configuring StackLight InfluxDB-Grafana plugin
.. toctree:: .. toctree::
:maxdepth: 1 :maxdepth: 1
install_intro
install install
configure_plugin configure_plugin
verification verification

View File

@ -1,78 +1,126 @@
.. _user_installation: .. _user_installation:
Introduction
------------
You can install the StackLight InfluxDB-Grafana plugin using one of the
following options:
• Install using the RPM file
• Install from source
The following is a list of software components installed by the StackLight
InfluxDB-Grafana plugin:
+----------------+-------------------------------------+
| Components | Version |
+================+=====================================+
| InfluxDB | v0.11.1 for Ubuntu (64-bit) |
+----------------+-------------------------------------+
| Grafana | v3.0.4 for Ubuntu (64-bit) |
+----------------+-------------------------------------+
Install using the RPM file of the Fuel plugins catalog Install using the RPM file of the Fuel plugins catalog
------------------------------------------------------ ------------------------------------------------------
To install the StackLight InfluxDB-Grafana Fuel Plugin using the RPM file of the Fuel Plugins **To install the StackLight InfluxDB-Grafana Fuel plugin using the RPM file of
Catalog, you need to follow these steps: the Fuel plugins catalog:**
1. Select, using the MONITORING category and the Mirantis OpenStack version you are using, #. Go to the `Fuel Plugins Catalog
the RPM file you want to download from the `Fuel Plugins Catalog
<https://www.mirantis.com/validated-solution-integrations/fuel-plugins>`_. <https://www.mirantis.com/validated-solution-integrations/fuel-plugins>`_.
2. Copy the RPM file to the Fuel Master node:: #. From the :guilabel:`Filter` drop-down menu, select the Mirantis OpenStack
version you are using and the :guilabel:`Monitoring` category.
[root@home ~]# scp influxdb_grafana-0.10-0.10.0-1.noarch.rpm \ #. Download the RPM file.
root@<Fuel Master node IP address>:
3. Install the plugin using the `Fuel CLI #. Copy the RPM file to the Fuel Master node:
<http://docs.mirantis.com/openstack/fuel/fuel-8.0/user-guide.html#using-fuel-cli>`_::
[root@fuel ~]# fuel plugins --install influxdb_grafana-0.10-0.10.0-1.noarch.rpm .. code-block:: console
4. Verify that the plugin is installed correctly:: [root@home ~]# scp influxdb_grafana-0.10-0.10.0-1.noarch.rpm \
root@<Fuel Master node IP address>:
[root@fuel ~]# fuel plugins --list #. Install the plugin using the `Fuel Plugins CLI
id | name | version | package_version <http://docs.openstack.org/developer/fuel-docs/userdocs/fuel-user-guide/cli/cli_plugins.html>`_:
---|----------------------|----------|----------------
1 | influxdb_grafana | 0.10.0 | 4.0.0 .. code-block:: console
[root@fuel ~]# fuel plugins --install influxdb_grafana-0.10-0.10.0-1.noarch.rpm
#. Verify that the plugin is installed correctly:
.. code-block:: console
[root@fuel ~]# fuel plugins --list
id | name | version | package_version
---|----------------------|----------|----------------
1 | influxdb_grafana | 0.10.0 | 4.0.0
Install from source Install from source
------------------- -------------------
Alternatively, you may want to build the RPM file of the plugin from source if, Alternatively, you may want to build the RPM file of the plugin from source if,
for example, you want to test the latest features of the master branch or customize the plugin. for example, you want to test the latest features of the master branch or
customize the plugin.
.. note:: Be aware that running a Fuel plugin that you built yourself is at your .. note:: Running a Fuel plugin that you built yourself is at your own risk
own risk and will not be supported. and will not be supported.
To install the StackLight InfluxDB-Grafana Plugin from source, To install the StackLight InfluxDB-Grafana Plugin from source, first prepare
you first need to prepare an environment to build the RPM file. an environment to build the RPM file. The recommended approach is to build the
The recommended approach is to build the RPM file directly onto the Fuel Master RPM file directly onto the Fuel Master node so that you will not have to copy
node so that you won't have to copy that file later on. that file later on.
**Preparing an environment for building the plugin on the Fuel Master Node** **To prepare an environment and build the plugin:**
1. Install the standard Linux development tools:: #. Install the standard Linux development tools:
[root@home ~] yum install createrepo rpm rpm-build dpkg-devel .. code-block:: console
2. Install the Fuel Plugin Builder. To do that, you should first get pip:: [root@home ~] yum install createrepo rpm rpm-build dpkg-devel
[root@home ~] easy_install pip #. Install the Fuel Plugin Builder. To do that, first get pip:
3. Then install the Fuel Plugin Builder (the `fpb` command line) with `pip`:: .. code-block:: console
[root@home ~] pip install fuel-plugin-builder [root@home ~] easy_install pip
.. note:: You may also need to build the Fuel Plugin Builder if the package version of the #. Then install the Fuel Plugin Builder (the `fpb` command line) with `pip`:
plugin is higher than the package version supported by the Fuel Plugin Builder you get from `pypi`.
In this case, please refer to the section "Preparing an environment for plugin development"
of the `Fuel Plugins wiki <https://wiki.openstack.org/wiki/Fuel/Plugins>`_
if you need further instructions about how to build the Fuel Plugin Builder.
4. Clone the plugin git repository:: .. code-block:: console
[root@home ~] git clone https://github.com/openstack/fuel-plugin-influxdb-grafana.git [root@home ~] pip install fuel-plugin-builder
5. Check that the plugin is valid:: .. note:: You may also need to build the Fuel Plugin Builder if the package
version of the plugin is higher than the package version supported by
the Fuel Plugin Builder you get from `pypi`. For instructions on how to
build the Fuel Plugin Builder, see the *Install Fuel Plugin Builder*
section of the `Fuel Plugin SDK Guide <http://docs.openstack.org/developer/fuel-docs/plugindocs/fuel-plugin-sdk-guide/create-plugin/install-plugin-builder.html>`_.
[root@home ~] fpb --check ./fuel-plugin-influxdb-grafana #. Clone the plugin repository:
6. And finally, build the plugin:: .. code-block:: console
[root@home ~] fpb --build ./fuel-plugin-influxdb-grafana [root@home ~] git clone https://github.com/openstack/fuel-plugin-influxdb-grafana.git
7. Now that you have created the RPM file, you can install the plugin using the `fuel plugins --install` command:: #. Verify that the plugin is valid:
[root@fuel ~] fuel plugins --install ./fuel-plugin-influxdb-grafana/*.noarch.rpm .. code-block:: console
[root@home ~] fpb --check ./fuel-plugin-influxdb-grafana
#. Build the plugin:
.. code-block:: console
[root@home ~] fpb --build ./fuel-plugin-influxdb-grafana
**To install the plugin:**
Now that you have created the RPM file, install the plugin using the
:command:`fuel plugins --install` command:
.. code-block:: console
[root@fuel ~] fuel plugins --install ./fuel-plugin-influxdb-grafana/*.noarch.rpm

View File

@ -1,19 +0,0 @@
Introduction
------------
You can install the StackLight InfluxDB-Grafana plugin using one of the
following options:
• Install using the RPM file
• Install from source
The following is a list of software components installed by the StackLight
InfluxDB-Grafana plugin:
+----------------+-------------------------------------+
| Components | Version |
+================+=====================================+
| InfluxDB | v0.11.1 for Ubuntu (64-bit) |
+----------------+-------------------------------------+
| Grafana | v3.0.4 for Ubuntu (64-bit) |
+----------------+-------------------------------------+

View File

@ -3,26 +3,25 @@
Introduction Introduction
------------ ------------
The **StackLight InfluxDB-Grafana Fuel Plugin** is used to install and configure The **StackLight InfluxDB-Grafana Plugin for Fuel** is used to install and
InfluxDB and Grafana which collectively provide access to the configure InfluxDB and Grafana, which collectively provide access to the
metrics analytics of Mirantis OpenStack. metrics analytics of Mirantis OpenStack. InfluxDB is a powerful distributed
InfluxDB is a powerful distributed time-series database time-series database to store and search metrics time-series. The metrics
to store and search metrics time-series. The metrics analytics are used to analytics are used to visualize the time-series and the annotations produced
visualize the time-series and the annotations produced by the StackLight Collector. by the StackLight Collector. The annotations contain insightful information
The annotations contain insightful information about the faults and anomalies about the faults and anomalies that resulted in a change of state for the
that resulted in a change of state for the clusters of nodes and services clusters of nodes and services of the OpenStack environment.
of the OpenStack environment.
The InfluxDB-Grafana Plugin is an indispensable tool to answering The InfluxDB-Grafana plugin is an indispensable tool to answer the questions
the questions "what has changed in my OpenStack environment, when and why?". of what has changed in your OpenStack environment, when, and why. Grafana is
Grafana is installed with a collection of predefined dashboards for each installed with a collection of predefined dashboards for each of the OpenStack
of the OpenStack services that are monitored. services that are monitored. Among those dashboards, the *Main Dashboard*
Among those dashboards, the *Main Dashboard* provides a single pane of glass provides a single pane of glass overview of your OpenStack environment status.
overview of your OpenStack environment status.
InfluxDB and Grafana are key components InfluxDB and Grafana are the key components of the
of the `LMA Toolchain project <https://launchpad.net/lma-toolchain>`_ `LMA Toolchain project <https://launchpad.net/lma-toolchain>`_ as shown in the figure below.
as shown in the figure below.
.. image:: ../images/toolchain_map.png .. image:: ../images/toolchain_map.png
:width: 430pt :width: 445pt
:align: center

View File

@ -1,13 +1,17 @@
.. _licenses: .. _licenses:
.. raw:: latex
\pagebreak
Licenses Licenses
-------- --------
Third Party Components Third-party components
++++++++++++++++++++++ ++++++++++++++++++++++
+----------+-----------------------+-----------+ +----------+-----------------------+-----------+
| Name | Project Web Site | License | | Name | Project website | License |
+==========+=======================+===========+ +==========+=======================+===========+
| InfluxDB | https://influxdb.com/ | MIT | | InfluxDB | https://influxdb.com/ | MIT |
+----------+-----------------------+-----------+ +----------+-----------------------+-----------+
@ -18,13 +22,13 @@ Puppet modules
++++++++++++++ ++++++++++++++
+---------+--------------------------------------------------+-----------+ +---------+--------------------------------------------------+-----------+
| Name | Project Web Site | License | | Name | Project website | License |
+=========+==================================================+===========+ +=========+==================================================+===========+
| Apt | https://github.com/puppetlabs/puppetlabs-apt | Apache V2 | | Apt | https://github.com/puppetlabs/puppetlabs-apt | Apache v2 |
+---------+--------------------------------------------------+-----------+ +---------+--------------------------------------------------+-----------+
| Concat | https://github.com/puppetlabs/puppetlabs-concat | Apache V2 | | Concat | https://github.com/puppetlabs/puppetlabs-concat | Apache v2 |
+---------+--------------------------------------------------+-----------+ +---------+--------------------------------------------------+-----------+
| Stdlib | https://github.com/puppetlabs/puppetlabs-stdlib | Apache V2 | | Stdlib | https://github.com/puppetlabs/puppetlabs-stdlib | Apache v2 |
+---------+--------------------------------------------------+-----------+ +---------+--------------------------------------------------+-----------+
| IniFile | https://github.com/puppetlabs/puppetlabs-inifile | Apache v2 | | IniFile | https://github.com/puppetlabs/puppetlabs-inifile | Apache v2 |
+---------+--------------------------------------------------+-----------+ +---------+--------------------------------------------------+-----------+

View File

@ -3,7 +3,10 @@
Limitations Limitations
----------- -----------
Currently, the size of an InfluxDB cluster the Fuel plugin can deploy is limited to three nodes. In addition to this, The StackLight InfluxDB-Grafana plugin 0.10.0 has the following limitation:
each node of the InfluxDB cluster is configured to run under the *meta* node role and the *data* node role. Therefore,
it is not possible to separate the nodes participating in the Raft consensus cluster from * The size of an InfluxDB cluster the Fuel plugin can deploy is limited to
the nodes accessing the data replicas. three nodes. Additionally, each node of the InfluxDB cluster is configured to
run under the *meta* node role and the *data* node role. Therefore, it is not
possible to separate the nodes participating in the Raft consensus cluster
from the nodes accessing the data replicas.

View File

@ -3,42 +3,45 @@
Release notes Release notes
------------- -------------
0.10.0 Version 0.10.0
++++++ ++++++++++++++
* Changes The StackLight InfluxDB-Grafana plugin 0.10.0 contains the following updates:
* Add support for LDAP(S) authentication to access Grafana. * Added support for LDAP(S) authentication to access Grafana.
* Add support for TLS encryption to access Grafana. * Added support for TLS encryption to access Grafana. A PEM file obtained by
A PEM file obtained by concatenating the SSL certificate with the private key concatenating the SSL certificate with the private key of the server must be
of the server must be provided in the settings of the plugin to configure the provided in the settings of the plugin to configure the TLS termination.
TLS termination. * Upgraded to InfluxDB v0.11.1.
* Upgrade to InfluxDB v0.11.1. * Upgraded to Grafana v3.0.4.
* Upgrade to Grafana v3.0.4.
0.9.0 Version 0.9.0
+++++ +++++++++++++
- A new dashboard for hypervisor metrics. The StackLight InfluxDB-Grafana plugin 0.9.0 contains the following updates:
- A new dashboard for InfluxDB cluster.
- A new dashboard for Elasticsearch cluster.
- Upgrade to Grafana 2.6.0.
- Upgrade to InfluxDB 0.10.0.
- Add support for InfluxDB clustering (beta state).
- Use MySQL as Grafana backend to support HA.
0.8.0 * Added a new dashboard for hypervisor metrics.
+++++ * Added a new dashboard for InfluxDB cluster.
* Added a new dashboard for Elasticsearch cluster.
* Upgraded to Grafana 2.6.0.
* Upgraded to InfluxDB 0.10.0.
* Added support for InfluxDB clustering (beta state).
* Added the capability to use MySQL as Grafana back end to support HA.
- Add support for the "influxdb_grafana" Fuel Plugin role instead of Version 0.8.0
the "base-os" role which had several limitations. +++++++++++++
- Add support for retention policy configuration.
- Upgrade to InfluxDB 0.9.4 which brings metrics time-series with tagging.
- Upgrade to Grafana 2.5.0.
- Several dashboard visualisation improvements.
- A new self-monitoring dashboard.
0.7.0 The StackLight InfluxDB-Grafana plugin 0.8.0 contains the following updates:
+++++
- Initial release of the plugin. This is a beta version. * Added support for the ``influxdb_grafana`` Fuel plugin role instead of the
``base-os`` role which had several limitations.
* Added support for retention policy configuration.
* Upgraded to InfluxDB 0.9.4 which brings metrics time-series with tagging.
* Upgraded to Grafana 2.5.0.
* Improved dashboard visualization.
* Added a new self-monitoring dashboard.
Version 0.7.0
+++++++++++++
The initial release of the plugin. This is a beta version.

View File

@ -3,25 +3,25 @@
Requirements Requirements
------------ ------------
+-----------------------+-----------------------------------------------------------------------+ +-----------------------+------------------------------------------------------------------------+
| **Requirement** | **Version/Comment** | | **Requirement** | **Version/Comment** |
+=======================+=======================================================================+ +=======================+========================================================================+
| Disk space | The plugins specification requires to provision at least 15GB of disk| | Disk space | The plugins specification requires provisioning at least 15 GB of disk|
| | spase for the system, 10GB for the logs and 30GB for the database. The| | | space for the system, 10 GB for the logs, and 30 GB for the database. |
| | installation of the plugin will fail if there is less than 55GB of | | | Therefore, the installation of the plugin will fail if there is less |
| | disk space available on the node. | | | than 55 GB of disk space available on the node. |
+-----------------------+-----------------------------------------------------------------------+ +-----------------------+------------------------------------------------------------------------+
| Mirantis OpenStack | 8.0, 9.0 | | Mirantis OpenStack | 8.0, 9.0 |
+-----------------------+-----------------------------------------------------------------------+ +-----------------------+------------------------------------------------------------------------+
| Hardware configuration| The hardware configuration (RAM, CPU, disk(s)) required by this plugin| | Hardware configuration| The hardware configuration (RAM, CPU, disk(s)) required by this plugin |
| | depends on the size of your cloud environment and other factors like | | | depends on the size of your cloud environment and other factors like |
| | the retention policy. An average setup would require a quad-core | | | the retention policy. An average setup would require a quad-core |
| | server with 8 GB of RAM and access to a 500-1000 IOPS disk. | | | server with 8 GB of RAM and access to a 500-1000 IOPS disk. |
| | See the `InfluxDB Hardware Sizing Guide | | | See the `InfluxDB Hardware Sizing Guide |
| | <https://docs.influxdata.com/influxdb/v0.10/guides/hardware_sizing/>`_| | | <https://docs.influxdata.com/influxdb/v0.10/guides/hardware_sizing/>`_ |
| | for additional sizing information. | | | for additional sizing information. |
| | | | | |
| | It is also highly recommended to use a dedicated disk for your data | | | It is highly recommended that you use a dedicated disk for your data |
| | storage. Otherwise, the InfluxDB-Grafana Plugin will use the root | | | storage. Otherwise, the InfluxDB-Grafana Plugin will use the root |
| | filesystem by default. | | | file system by default. |
+-----------------------+-----------------------------------------------------------------------+ +-----------------------+------------------------------------------------------------------------+

View File

@ -3,49 +3,67 @@
Troubleshooting Troubleshooting
--------------- ---------------
If you get no data in Grafana, follow these troubleshooting tips. If Grafana contains no data, use the following troubleshooting tips:
#. First, check that the LMA Collector is running properly by following the #. Verify that the StackLight Collector is running properly by following the
LMA Collector troubleshooting instructions in the troubleshooting instructions in the
`LMA Collector Fuel Plugin User Guide <http://fuel-plugin-lma-collector.readthedocs.org/>`_. `StackLight Collector Fuel plugin documentation <http://fuel-plugin-lma-collector.readthedocs.org/>`_.
#. Check that the nodes are able to connect to the InfluxDB cluster via the VIP address #. Verify that the nodes are able to connect to the InfluxDB cluster through
(see above how to get the InfluxDB cluster VIP address) on port *8086*:: the VIP address (See the *Verify InfluxDB* section for instructions on how
to get the InfluxDB cluster VIP address) on port *8086*:
root@node-2:~# curl -I http://<VIP>:8086/ping .. code-block:: console
The server should return a 204 HTTP status:: root@node-2:~# curl -I http://<VIP>:8086/ping
HTTP/1.1 204 No Content The server should return a 204 HTTP status:
Request-Id: cdc3c545-d19d-11e5-b457-000000000000
X-Influxdb-Version: 0.10.0
Date: Fri, 12 Feb 2016 15:32:19 GMT
#. Check that InfluxDB cluster VIP address is up and running:: .. code-block:: console
root@node-1:~# crm resource status vip__influxdb HTTP/1.1 204 No Content
resource vip__influxdb is running on: node-1.test.domain.local Request-Id: cdc3c545-d19d-11e5-b457-000000000000
X-Influxdb-Version: 0.10.0
Date: Fri, 12 Feb 2016 15:32:19 GMT
#. Check that the InfluxDB service is started on all nodes of the cluster:: #. Verify that InfluxDB cluster VIP address is up and running:
root@node-1:~# service influxdb status .. code-block:: console
influxdb Process is running [ OK ]
#. If not, (re)start it:: root@node-1:~# crm resource status vip__influxdb
resource vip__influxdb is running on: node-1.test.domain.local
root@node-1:~# service influxdb start #. Verify that the InfluxDB service is running on all nodes of the cluster:
Starting the process influxdb [ OK ]
influxdb process was started [ OK ]
#. Check that Grafana server is running:: .. code-block:: console
root@node-1:~# service grafana-server status root@node-1:~# service influxdb status
* grafana is running influxdb Process is running [ OK ]
#. If not, (re)start it:: #. If the InfluxDB service is not running, restart it:
root@node-1:~# service grafana-server start .. code-block:: console
* Starting Grafana Server
#. If none of the above solves the problem, check the logs in ``/var/log/influxdb/influxdb.log`` root@node-1:~# service influxdb start
and ``/var/log/grafana/grafana.log`` to find out what might have gone wrong. Starting the process influxdb [ OK ]
influxdb process was started [ OK ]
#. Verify that the Grafana server is running:
.. code-block:: console
root@node-1:~# service grafana-server status
* grafana is running
#. If the Grafana server is not running, restart it:
.. code-block:: console
root@node-1:~# service grafana-server start
* Starting Grafana Server
#. If none of the above solves the issue, look for errors in the following log
files:
* InfluxDB -- ``/var/log/influxdb/influxdb.log``
* Grafana -- ``/var/log/grafana/grafana.log``

View File

@ -3,215 +3,193 @@
Exploring your time-series with Grafana Exploring your time-series with Grafana
--------------------------------------- ---------------------------------------
The InfluxDB-Grafana Plugin comes with a collection of predefined The InfluxDB-Grafana Plugin comes with a collection of predefined dashboards
dashboards you can use to visualize the time-series stored in InfluxDB. you can use to visualize the time-series stored in InfluxDB.
Please check the LMA Collector documentation for a complete list of all the For a complete list of all the metrics time-series that are collected and
`metrics time-series <http://fuel-plugin-lma-collector.readthedocs.org/en/latest/appendix_b.html>`_ stored in InfluxDB, see the `List of metrics` section of the
that are collected and stored in InfluxDB. `StackLight Collector documentation <http://fuel-plugin-lma-collector.readthedocs.org/en/latest/>`_.
The Main Dashboard The Main dashboard
++++++++++++++++++ ++++++++++++++++++
We suggest you start with the **Main Dashboard**, as shown We recommend that you start with the **Main dashboard**, as shown below, as an
below, as an entry to the other dashboards. entry to other dashboards. The **Main dashboard** provides a single pane of
The **Main Dashboard** provides a single pane of glass from where you can visualize the glass from where you can visualize the overall health status of your OpenStack
overall health status of your OpenStack services such as Nova and Cinder services, such as Nova, Cinder, HAProxy, MySQL, RabbitMQ, and others.
but also HAProxy, MySQL and RabbitMQ to name a few..
.. image:: ../images/grafana_main.png .. image:: ../images/grafana_main.png
:width: 800 :width: 450pt
As you can see, the **Main Dashboard** (as most dashboards) provides The **Main dashboard**, like most dashboards, provides a drop-down menu in the
a drop down menu list in the upper left corner of the window upper left corner from where you can pick a particular metric dimension, such
from where you can pick a particular metric dimension such as as the *controller name* or the *device name* you want to select.
the *controller name* or the *device name* you want to select.
In the example above, the system metrics of *node-48* are In the example above, the dashboard displays the system metrics of *node-48*.
being displayed in the dashboard.
Within the **OpenStack Services** row, each of the services Within the **OpenStack Services** section, each of the services represented
represented can be assigned five different status. can be assigned five different statuses.
.. note:: The precise determination of a service health status depends .. note:: The precise determination of a service health status depends on the
on the correlation policies implemented for that service by a `Global Status Evaluation (GSE) correlation policies implemented for that service by a Global Status
plugin <http://fuel-plugin-lma-collector.readthedocs.org/en/latest/alarms.html#cluster-policies>`_. Evaluation (GSE) plugin. See the `Configuring alarms` section in the
`StackLight Collector documentation <http://fuel-plugin-lma-collector.readthedocs.org/en/latest/>`_.
The meaning associated with a service health status is the following: The service health statuses can be as follows:
- **Down**: One or several primary functions of a service * **Down**: One or several primary functions of a service cluster has failed.
cluster has failed. For example, For example, all API endpoints of a service cluster like Nova or Cinder
all API endpoints of a service cluster like Nova failed.
or Cinder are failed. * **Critical**: One or several primary functions of a service cluster are
- **Critical**: One or several primary functions of a severely degraded. The quality of service delivered to the end user is
service cluster are severely degraded. The quality severely impacted.
of service delivered to the end-user should be severely * **Warning**: One or several primary functions of a service cluster are
impacted. slightly degraded. The quality of service delivered to the end user is
- **Warning**: One or several primary functions of a slightly impacted.
service cluster are slightly degraded. The quality * **Unknown**: There is not enough data to infer the actual health status of a
of service delivered to the end-user should be slightly service cluster.
impacted. * **Okay**: None of the above was found to be true.
- **Unknown**: There is not enough data to infer the actual
health status of a service cluster.
- **Okay**: None of the above was found to be true.
The **Virtual Compute Resources** row provides an overview of The **Virtual compute resources** section provides an overview of the amount
the amount of virtual resources being used by the compute nodes of virtual resources being used by the compute nodes including the number of
including the number of virtual CPUs, the amount of memory virtual CPUs, the amount of memory and disk space being used, as well as the
and disk space being used as well as the amount of virtual amount of virtual resources remaining available to create new instances.
resources remaining available to create new instances.
The "System" row provides an overview of the amount of physical The **System** section provides an overview of the amount of physical
resources being used on the control plane (the controller cluster). resources being used on the control plane (the controller cluster). You can
You can select a specific controller using the select a specific controller using the controller's drop-down list in the left
controller's drop down list in the left corner of the toolbar. corner of the toolbar.
The "Ceph" row provides an overview of the resources usage The **Ceph** section provides an overview of the resources usage and current
and current health status of the Ceph cluster when it is deployed health status of the Ceph cluster when it is deployed in the OpenStack
in the OpenStack environment. environment.
The **Main Dashboard** is also an entry point to access more detailed The **Main dashboard** is also an entry point to access more detailed
dashboards for each of the OpenStack services that are monitored. dashboards for each of the OpenStack services that are monitored. For example,
For example, if you click on the *Nova box*, the **Nova if you click the **Nova** box, the **Nova dashboard** is displayed.
Dashboard** is displayed.
.. image:: ../images/grafana_nova.png .. image:: ../images/grafana_nova.png
:width: 800 :width: 450pt
The Nova dashboard The Nova dashboard
++++++++++++++++++ ++++++++++++++++++
The **Nova Dashboard** provides a detailed view of the The **Nova** dashboard provides a detailed view of the Nova service's related
Nova service's related metrics. metrics and consists of the following sections:
The **Service Status** row provides information about the Nova service **Service status** -- information about the Nova service cluster
cluster health status as a whole including the status of the API frontend overall health status, including the status of the API front end (the HAProxy
(the HAProxy public VIP), a counter of HTTP 5xx errors, public VIP), a counter of HTTP 5xx errors, the HTTP requests response time and
the HTTP requests response time and status code. status code.
The **Nova API** row provides information about the current health status of **Nova API** -- information about the current health status of the API
the API backends (nova-api, ec2-api, ...). back ends, for example, nova-api, ec2-api, and others.
The **Nova Services** row provides information about the current and **Nova services** -- information about the current and historical status
historical status of the Nova *workers*. of the Nova *workers*.
The **Instances** row provides information about the number of active **Instances** -- information about the number of active instances in
instances in error and instances creation time statistics. error and instances creation time statistics.
The **Resources** row provides various virtual resources usage indicators. **Resources** -- various virtual resources usage indicators.
Self-monitoring dashboards Self-monitoring dashboards
++++++++++++++++++++++++++ ++++++++++++++++++++++++++
The first **Self-Monitoring Dashboard** was introduced in LMA 0.8. The **Self-Monitoring** dashboard brings operational insights about the
The intent of the self-monitoring dashboards is to bring operational overall monitoring system (the toolchain) performance. It provides information
insights about how the monitoring system itself (the toolchain) performs overall. about the *hekad* and *collectd* processes. In particular, the
**Self-Monitoring** dashboard provides information about the amount of system
resources consumed by these processes, the time allocated to the Lua plugins
running within *hekad*, the number of messages being processed, and the time
it takes to process those messages.
The **Self-Monitoring Dashboard**, provides information about the *hekad* You can select a particular node view using the drop-down menu.
and *collectd* processes.
In particular, it gives information about the amount of system resources
consumed by these processes, the time allocated to the Lua plugins
running within *hekad*, the amount of messages being processed and
the time it takes to process those messages.
Again, it is possible to select a particular node view using the drop down Since StackLight 0.9, there are two new dashboards:
menu list.
With LMA 0.9, we have introduced two new dashboards. * The **Elasticsearch Cluster** dashboard provides information about the
overall health status of the Elasticsearch cluster including the state of
#. The **Elasticsearch Cluster Dashboard** provides information about the shards, the number of pending tasks, and various resources usage metrics.
the overall health status of the Elasticsearch cluster including
the state of the shards, the number of pending tasks and various resources
usage metrics.
#. The **InfluxDB Cluster Dashboard** provides statistics about the InfluxDB
processes running in the InfluxDB cluster including various resources usage metrics.
* The **InfluxDB Cluster** dashboard provides statistics about the InfluxDB
processes running in the InfluxDB cluster including various resources usage
metrics.
The hypervisor dashboard The hypervisor dashboard
++++++++++++++++++++++++ ++++++++++++++++++++++++
LMA 0.9 introduces a new **Hypervisor Dashboard** which brings operational The **Hypervisor** dashboard brings operational insights about the virtual
insights about the virtual instances managed through *libvirt*. instances managed through *libvirt*. As shown in the figure below, the
As shown in the figure below, the **Hypervisor Dashboard** assembles a **Hypervisor** dashboard assembles a view of various *libvirt* metrics. Use
view of various *libvirt* metrics. A dropdown menu list allows to pick the drop-down menu to pick a particular instance UUID running on a particular
a particular instance UUID running on a particular node. In the node. The example below shows the metrics for the instance ID
example below, the metrics for the instance id *ba844a75-b9db-4c2f-9cb9-0b083fe03fb7* ``ba844a75-b9db-4c2f-9cb9-0b083fe03fb7`` running on *node-4*.
running on *node-4* are displayed.
.. image:: ../images/grafana_hypervisor.png .. image:: ../images/grafana_hypervisor.png
:width: 800 :width: 450pt
Check the LMA Collector documentation for additional information about the For additional information on the *libvirt* metrics that are displayed in the
`*libvirt* metrics <http://fuel-plugin-lma-collector.readthedocs.org/en/latest/appendix_b.html#libvirt>`_ **Hypervisor** dashboard, see the `List of metrics` section of the
that are displayed in the **Hypervisor Dashboard**. `StackLight Collector documentation <http://fuel-plugin-lma-collector.readthedocs.org/en/latest/>`_.
Other dashboards Other dashboards
++++++++++++++++ ++++++++++++++++
In total there are 19 different dashboards you can use to There are 19 different dashboards in total that you can use to explore
explore different time-series facets of your OpenStack environment. different time-series facets of your OpenStack environment.
Viewing faults and anomalies Viewing faults and anomalies
++++++++++++++++++++++++++++ ++++++++++++++++++++++++++++
The LMA Toolchain is capable of detecting a number of service-affecting The LMA Toolchain is capable of detecting a number of service-affecting
conditions such as the faults and anomalies that occured in your OpenStack conditions, such as the faults and anomalies that occurred in your OpenStack
environment. environment. These conditions are reported in annotations that are displayed in
Those conditions are reported in annotations that are displayed in Grafana. The Grafana annotations contain a textual representation of the alarm
Grafana. The Grafana annotations contain a textual (or set of alarms) that were triggered by the Collectors for a service.
representation of the alarm (or set of alarms) that were triggered In other words, the annotations contain valuable insights that you can use to
by the Collectors for a service. diagnose and troubleshoot issues. Furthermore, with the Grafana annotations,
In other words, the annotations contain valuable insights the system makes a distinction between what is estimated as a direct root
that you could use to diagnose and cause versus what is estimated as an indirect root cause. This is internally
troubleshoot problems. Furthermore, with the Grafana annotations, represented in a dependency graph. There are first degree dependencies used to
the system makes a distinction between what is estimated as a describe situations, whereby the health status of an entity strictly depends on
direct root cause versus what is estimated as an indirect the health status of another entity. For example, Nova as a service has
root cause. This is internally represented in a dependency graph. first-degree dependencies with the nova-api endpoints and the nova-scheduler
There are first degree dependencies used to describe situations workers. But there are also second-degree dependencies, whereby the health
whereby the health status of an entity status of an entity does not strictly depend on the health status of another
strictly depends on the health status of another entity. For entity, although it might, depending on other operations being performed. For
example Nova as a service has first degree dependencies example, by default, we declared that Nova has a second-degree dependency with
with the nova-api endpoints and the nova-scheduler workers. But Neutron. As a result, the health status of Nova will not be directly impacted
there are also second degree dependencies whereby the health by the health status of Neutron, but the annotation will provide a root cause
status of an entity doesn't strictly depends on the health status analysis hint. Consider a situation where Nova has changed from *okay* to
of another entity, although it might, depending on other operations the *critical* status (because of 5xx HTTP errors) and that Neutron has been
being performed. For example, by default we declared that Nova in the *down* status for a while. In this case, the Nova dashboard will
has a second degree dependency with Neutron. As a result, the display an annotation showing that Nova has changed to a *warning* status
health status of Nova will not be directly impacted by the health because the system has detected 5xx errors and that it may be due to the fact
status of Neutron but the annotation will provide that Neutron is *down*. Below is an example of an annotation, which shows that
a root cause analysis hint. Let's assume a situation the health status of Nova is *down* because there is no *nova-api* service
where Nova has changed from *okay* to *critical* status (because of back end (viewed from HAProxy) that is *up*.
5xx HTTP errors) and that Neutron has been in *down* status for a while.
In this case, the Nova dashboard will display an annotation showing that
Nova has changed to a *warning* status because the system has detected
5xx errors and that it may be due to the fact that Neutron is *down*.
An example of what an annotation looks like is shown below.
.. image:: ../images/grafana_nova_annot.png .. image:: ../images/grafana_nova_annot.png
:width: 800 :width: 450pt
This annotation shows that the health status of Nova is *down*
because there is no *nova-api* service backend (viewed from HAProxy)
that is *up*.
Hiding nodes from dashboards Hiding nodes from dashboards
++++++++++++++++++++++++++++ ++++++++++++++++++++++++++++
When you remove a node from the environment, it is still displayed in When you remove a node from the environment, it is still displayed in the
the 'server' and 'controller' drop-down lists. To hide it from the list :guilabel:`server` and :guilabel:`controller` drop-down lists. To hide it from
you need to edit the associated InfluxDB query in the *templating* section. the list, edit the associated InfluxDB query in the *Templating* section. For
For example, if you want to remove *node-1*, you need to add the following example, if you want to remove *node-1*, add the following condition to the
condition to the *where* clause:: *where* clause::
and hostname != 'node-1' and hostname != 'node-1'
.. image:: ../images/remove_controllers_from_templating.png .. image:: ../images/remove_controllers_from_templating.png
:width: 450pt
If you want to hide more than one node you can add more conditions like this:: To hide more than one node, add more conditions. For example::
and hostname != 'node-1' and hostname != 'node-2' and hostname != 'node-1' and hostname != 'node-2'
This should be done for all dashboards that display the deleted node and you Perform these actions for all dashboards that display the deleted node and
need to save them afterwards. save them afterward.

View File

@ -3,90 +3,100 @@
Plugin verification Plugin verification
------------------- -------------------
Be aware that depending on the number of nodes and deployment setup, Depending on the number of nodes and deployment setup, deploying a Mirantis
deploying a Mirantis OpenStack environment can typically take anything OpenStack environment may take 30 minutes to several hours. Once the
from 30 minutes to several hours. But once your deployment is complete, deployment is complete, you should see a deployment success notification
you should see a notification message indicating that you deployment with a link to the Grafana web UI as shown below.
successfully completed as in the figure below.
.. image:: ../images/deployment_notification.png .. image:: ../images/deployment_notification.png
:width: 800 :width: 460pt
Verifying InfluxDB Verify InfluxDB
~~~~~~~~~~~~~~~~~~ +++++++++++++++
You should verify that the InfluxDB cluster is running properly. To verify that the InfluxDB cluster is running properly, first retrieve the
First, you need first to retreive the InfluxDB cluster VIP address. InfluxDB cluster VIP address:
Here is how to proceed.
#. On the Fuel Master node, find the IP address of a node where the InfluxDB #. On the Fuel Master node, find the IP address of a node where the InfluxDB
server is installed using the following command:: server is installed using the :command:`fuel nodes` command. For example:
[root@fuel ~]# fuel nodes .. code-block::
id | status | name | cluster | ip | mac | roles |
---|----------|------------------|---------|------------|-----|------------------| [root@fuel ~]# fuel nodes
1 | ready | Untitled (fa:87) | 1 | 10.109.0.8 | ... | influxdb_grafana | id | status | name | cluster | ip | mac | roles |
2 | ready | Untitled (12:aa) | 1 | 10.109.0.3 | ... | influxdb_grafana | ---|----------|------------------|---------|------------|-----|------------------|
3 | ready | Untitled (4e:6e) | 1 | 10.109.0.7 | ... | influxdb_grafana | 1 | ready | Untitled (fa:87) | 1 | 10.109.0.8 | ... | influxdb_grafana |
2 | ready | Untitled (12:aa) | 1 | 10.109.0.3 | ... | influxdb_grafana |
3 | ready | Untitled (4e:6e) | 1 | 10.109.0.7 | ... | influxdb_grafana |
#. Then `ssh` to anyone of these nodes (ex. *node-1*) and type the command:: #. Log in to any of these nodes through SSH, for example, to ``node-1``
#. Run the following command:
root@node-1:~# hiera lma::influxdb::vip .. code-block:: console
10.109.1.4
This tells you that the VIP address of your InfluxDB cluster is *10.109.1.4*. root@node-1:~# hiera lma::influxdb::vip
10.109.1.4
#. With that VIP address type the command:: Where ``10.109.1.4`` is the virtual IP address (VIP) of your InfluxDB
cluster.
root@node-1:~# /usr/bin/influx -database lma -password lmapass \ #. Using that VIP address, run the following command:
--username root -host 10.109.1.4 -port 8086
Visit https://enterprise.influxdata.com to register for updates,
InfluxDB server management, and monitoring.
Connected to http://10.109.1.4:8086 version 0.10.0
InfluxDB shell 0.10.0
>
As you can see, executing */usr/bin/influx* will start an interactive CLI and automatically connect to .. code-block:: console
the InfluxDB server. Then if you type::
> show series root@node-1:~# /usr/bin/influx -database lma -password lmapass \
--username root -host 10.109.1.4 -port 8086
Visit https://enterprise.influxdata.com to register for updates,
InfluxDB server management, and monitoring.
Connected to http://10.109.1.4:8086 version 0.10.0
InfluxDB shell 0.10.0
>
You should see a dump of all the time-series collected so far. The example above shows that executing ``/usr/bin/influx`` starts an
Then, if you type:: interactive CLI and automatically connects to the InfluxDB server. Then
run the following command:
> show servers .. code-block:: console
name: data_nodes
----------------
id http_addr tcp_addr
1 node-1:8086 node-1:8088
3 node-2:8086 node-2:8088
5 node-3:8086 node-3:8088
name: meta_nodes > show series
----------------
id http_addr tcp_addr
1 node-1:8091 node-1:8088
2 node-2:8091 node-2:8088
4 node-3:8091 node-3:8088
You should see a list of the nodes participating in the `InfluxDB cluster You should see a dump of all the time-series collected so far. Then run:
<https://docs.influxdata.com/influxdb/v0.10/guides/clustering/>`_ with their roles (data or meta).
.. code-block:: console
Verifying Grafana > show servers
~~~~~~~~~~~~~~~~~ name: data_nodes
----------------
id http_addr tcp_addr
1 node-1:8086 node-1:8088
3 node-2:8086 node-2:8088
5 node-3:8086 node-3:8088
From the Fuel dDashboard, click on the **Grafana** link (or enter the IP address name: meta_nodes
and port number if your DNS is not setup). ----------------
The first time you access Grafana, you are requested to id http_addr tcp_addr
authenticate using your credentials. 1 node-1:8091 node-1:8088
2 node-2:8091 node-2:8088
4 node-3:8091 node-3:8088
You should see a list of nodes participating in the `InfluxDB cluster
<https://docs.influxdata.com/influxdb/v0.10/guides/clustering/>`_ with
their roles (data or meta).
Verify Grafana
++++++++++++++
#. Log in to the Fuel web UI.
#. In the :guilabel:`Dashboard` tab, click :guilabel:`Grafana`. If your DNS is
not set up, enter the IP address and the port number.
#. Authenticate using your credentials.
.. image:: ../images/grafana_login.png .. image:: ../images/grafana_login.png
:width: 800 :width: 400pt
Then you should be redirected to the *Grafana Home Page* You should be redirected to the :guilabel:`Grafana Home Page` where you can
from where you can select a dashboard as shown below. select a dashboard as shown below.
.. image:: ../images/grafana_home.png .. image:: ../images/grafana_home.png
:width: 800 :width: 400pt