Kibana and Beyond: How to Visualize Elasticsearch Data

DZone 's Guide to

Kibana and Beyond: How to Visualize Elasticsearch Data

Create robust and powerful visualizations.

· Big Data Zone ·
Free Resource

The power of Kibana data visualization capabilities is undeniable. Created to be a window into the Elastic Stack, it represents the handiest way to interact with your Elasticsearch data and visualize it through dashboards. Kibana can also act as a centralized data storage system. With such a feature, it’s easy to keep your data in one place, even if it comes from various data sources.

At your fingertips, there are countless visualizations and widgets that are designed to improve your reporting experience and help to better understand data. These include area, pie, line, and bar charts, histograms, sunbursts, heat, region, and coordinate maps, gauges, data tables, tag clouds, etc. On top of analytical power, all of the charts are interactive and visually appealing.

Creating Visualizations

Visualizing Your Elasticsearch Data in Kibana.

Once you are taken to the Visualize page, you can start building visualizations around your data. Here, there are many features at your service — you can apply metric and bucket aggregations to the axes, select subsets of documents by filtering data interactively based on logical conditions, choose modes and colors of charts, and place legends and labels.

I’d like to draw your attention to filtering which is incredibly interactive — to visualize a particular subset of documents, you can open the filtering menu, select the field from a drop-down list as well as logical conditions, apply the changes and voila! You see only the relevant data.

For the query syntax, you can choose either Kibana Query Language or Lucene.

An alternative approach to filtering is to add a control widget that filters the data in the entire dashboard once you click it.

                                                                            Control widget

Here is an example of a custom visualization you can create to know the average flight time depending on the weather:

Average flight time based on weather

Average flight time (weather dependent)

Organizing Dashboards

Once you have at least one or two visualizations, you can proceed to combine them. Kibana allows placing multiple visualizations on a single dashboard and reusing them anytime later. Furthermore, you can enable anyone on the team to use your created visualizations, provided that the co-workers have access to your Kibana’s instance.

In my mind, with dashboards, you are more likely to reveal precious insights about your data and empower business strategies based on data-driven decisions.

Moreover, you can make it be refreshed automatically once in a while and get a real-time picture of your data.

Automatic refresh

Here is an example of a dashboard you can create:

Example dashboard

Example dashboard

Looks stunning, doesn't it?

Personal Thoughts and Impressions

Kibana has everything for creating dashboards. As a business intelligence tool, it provides many visualizations that are easy to configure and work with.

The great thing is that every widget can be customized and used multiple times. A dashboard, in turn, can be shared as a PDF or PNG report across departments.

Development of Kibana

Due to the open-source nature of Kibana, plenty of developers from all around the world do their best to broaden the available features of Kibana by contributing to its development.

One can notice that the community is active and supportive — no issue will remain unsolved.

However, the activeness of the community sometimes makes it difficult for plugin creators, as it is difficult to constantly keep up with the latest releases of Kibana. 

Extra Tools for Elasticsearch Data Analysis and Visualization

Given the activity raised by this GitHub issue and questions on the forum, I’ve managed to discover that a pivot table for Kibana is a popular request.

This is the feature that I also missed for slicing and dicing data and looking at metrics from multiple angles before supplying with that data.

In trying various custom plugins for visualization, I’ve noticed that not all of them are compatible with the latest version of Kibana and Elasticsearch (at the time of writing — 7.2.0). However, I came across this one, which smoothly integrates with Kibana.

It’s called a Flexmonster Pivot Table — a tool meant to provide quick access to all the vital reporting features I’ve been searching for.

What is so special about it? Firstly, a rapid connecting to Elasticsearch indices is a huge plus as well as available aggregation functions, filtering, and sorting options. Secondly, the plugin is responsive and looks natively in the working space of Kibana. There are also personalization options that I’m going to try out: report themes, customizing the toolbar, and localization.

The interface is intuitive — the fields list is close at hand and makes it possible to drag and drop hierarchies to rows, columns, and measures.

Pivot table fields list

Reporting With a Plugin

Let me illustrate the process of working with the plugin. As a result, I’ve got the tabular report with highlighted metrics.

Image title

Tabular report (highlighted metrics)

After you’ve completed the analysis, you can save the report or export to PDF, Excel, CSV or some other format of your choice.

Export file

Final Words

Considering the analytical features of Kibana and Flexmonster, I’d like to recommend getting the best of both tools. Coupled together, they empower data analysts and increase the chances of making the right decisions based on the data.

Learn More

big data, data analysis, data science, data visualization, elasticsearch, javascript, kibana, nosql, programming, reporting tools

Opinions expressed by DZone contributors are their own.

{{ parent.title || parent.header.title}}

{{ parent.tldr }}

{{ parent.urlSource.name }}