aboutsummaryrefslogtreecommitdiff
path: root/doc/source/reference/central-logging-guide.rst
diff options
context:
space:
mode:
Diffstat (limited to 'doc/source/reference/central-logging-guide.rst')
-rw-r--r--doc/source/reference/central-logging-guide.rst156
1 files changed, 156 insertions, 0 deletions
diff --git a/doc/source/reference/central-logging-guide.rst b/doc/source/reference/central-logging-guide.rst
new file mode 100644
index 000000000..938b8b137
--- /dev/null
+++ b/doc/source/reference/central-logging-guide.rst
@@ -0,0 +1,156 @@
+.. _central-logging-guide:
+
+========================
+Central Logging in Kolla
+========================
+
+An OpenStack deployment generates vast amounts of log data. In order to
+successfully monitor this and use it to diagnose problems, the standard "ssh
+and grep" solution quickly becomes unmanageable.
+
+Preparation and deployment
+==========================
+
+Modify the configuration file ``/etc/kolla/globals.yml`` and change
+the following:
+
+::
+
+ enable_central_logging: "yes"
+
+Elasticsearch
+=============
+
+Kolla deploys Elasticsearch as part of the E*K stack to store, organize
+and make logs easily accessible.
+
+By default Elasticsearch is deployed on port ``9200``.
+
+.. note::
+
+ Elasticsearch stores a lot of logs, so if you are running centralized logging,
+ remember to give ``/var/lib/docker`` an adequate space.
+
+
+Kibana
+======
+
+Kolla deploys Kibana as part of the E*K stack in order to allow operators to
+search and visualise logs in a centralised manner.
+
+After successful deployment, Kibana can be accessed using a browser on
+``<kolla_external_vip_address>:5601``.
+
+The default username is ``kibana``, the password can be located under
+``<kibana_password>`` in ``/etc/kolla/passwords.yml``.
+
+Search logs - Discover tab
+--------------------------
+
+Operators can create and store searches based on various fields from logs, for
+example, "show all logs marked with ERROR on nova-compute".
+
+To do this, click the ``Discover`` tab. Fields from the logs can be filtered by
+hovering over entries from the left hand side, and clicking ``add`` or
+``remove``. Add the following fields:
+
+* Hostname
+* Payload
+* severity_label
+* programname
+
+This yields an easy to read list of all log events from each node in the
+deployment within the last 15 minutes. A "tail like" functionality can be
+achieved by clicking the clock icon in the top right hand corner of the screen,
+and selecting ``Auto-refresh``.
+
+Logs can also be filtered down further. To use the above example, type
+``programname:nova-compute`` in the search bar. Click the drop-down arrow from
+one of the results, then the small magnifying glass icon from beside the
+programname field. This should now show a list of all events from nova-compute
+services across the cluster.
+
+The current search can also be saved by clicking the ``Save Search`` icon
+available from the menu on the right hand side.
+
+Example: using Kibana to diagnose a common failure
+--------------------------------------------------
+
+The following example demonstrates how Kibana can be used to diagnose a common
+OpenStack problem, where an instance fails to launch with the error 'No valid
+host was found'.
+
+First, re-run the server creation with ``--debug``:
+
+::
+
+ openstack --debug server create --image cirros --flavor m1.tiny \
+ --key-name mykey --nic net-id=00af016f-dffe-4e3c-a9b8-ec52ccd8ea65 \
+ demo1
+
+In this output, look for the key ``X-Compute-Request-Id``. This is a unique
+identifier that can be used to track the request through the system. An
+example ID looks like this:
+
+::
+
+ X-Compute-Request-Id: req-c076b50a-6a22-48bf-8810-b9f41176a6d5
+
+Taking the value of ``X-Compute-Request-Id``, enter the value into the Kibana
+search bar, minus the leading ``req-``. Assuming some basic filters have been
+added as shown in the previous section, Kibana should now show the path this
+request made through the OpenStack deployment, starting at a ``nova-api`` on
+a control node, through the ``nova-scheduler``, ``nova-conductor``, and finally
+``nova-compute``. Inspecting the ``Payload`` of the entries marked ``ERROR``
+should quickly lead to the source of the problem.
+
+While some knowledge is still required of how Nova works in this instance, it
+can still be seen how Kibana helps in tracing this data, particularly in a
+large scale deployment scenario.
+
+Visualize data - Visualize tab
+------------------------------
+
+In the visualization tab a wide range of charts is available. If any
+visualization has not been saved yet, after choosing this tab *Create a new
+visualization* panel is opened. If a visualization has already been saved,
+after choosing this tab, lately modified visualization is opened. In this
+case, one can create a new visualization by choosing *add visualization*
+option in the menu on the right. In order to create new visualization, one
+of the available options has to be chosen (pie chart, area chart). Each
+visualization can be created from a saved or a new search. After choosing
+any kind of search, a design panel is opened. In this panel, a chart can be
+generated and previewed. In the menu on the left, metrics for a chart can
+be chosen. The chart can be generated by pressing a green arrow on the top
+of the left-side menu.
+
+.. note:: After creating a visualization, it can be saved by choosing *save
+ visualization* option in the menu on the right. If it is not saved, it
+ will be lost after leaving a page or creating another visualization.
+
+Organize visualizations and searches - Dashboard tab
+----------------------------------------------------
+
+In the Dashboard tab all of saved visualizations and searches can be
+organized in one Dashboard. To add visualization or search, one can choose
+*add visualization* option in the menu on the right and then choose an item
+from all saved ones. The order and size of elements can be changed directly
+in this place by moving them or resizing. The color of charts can also be
+changed by checking a colorful dots on the legend near each visualization.
+
+.. note:: After creating a dashboard, it can be saved by choosing *save dashboard*
+ option in the menu on the right. If it is not saved, it will be lost after
+ leaving a page or creating another dashboard.
+
+If a Dashboard has already been saved, it can be opened by choosing *open
+dashboard* option in the menu on the right.
+
+Exporting and importing created items - Settings tab
+----------------------------------------------------
+
+Once visualizations, searches or dashboards are created, they can be exported
+to a JSON format by choosing Settings tab and then Objects tab. Each of the
+item can be exported separately by selecting it in the menu. All of the items
+can also be exported at once by choosing *export everything* option.
+In the same tab (Settings - Objects) one can also import saved items by
+choosing *import* option.