Book Image

Learning Kibana 5.0

By : Bahaaldine Azarmi
Book Image

Learning Kibana 5.0

By: Bahaaldine Azarmi

Overview of this book

Kibana is an open source data visualization platform that allows you to interact with your data through stunning, powerful graphics. Its simple, browser-based interface enables you to quickly create and share dynamic dashboards that display changes to Elasticsearch queries in real time. In this book, you’ll learn how to use the Elastic stack on top of a data architecture to visualize data in real time. All data architectures have different requirements and expectations when it comes to visualizing the data, whether it’s logging analytics, metrics, business analytics, graph analytics, or scaling them as per your business requirements. This book will help you master Elastic visualization tools and adapt them to the requirements of your project. You will start by learning how to use the basic visualization features of Kibana 5. Then you will be shown how to implement a pure metric analytics architecture and visualize it using Timelion, a very recent and trendy feature of the Elastic stack. You will learn how to correlate data using the brand-new Graph visualization and build relationships between documents. Finally, you will be familiarized with the setup of a Kibana development environment so that you can build a custom Kibana plugin. By the end of this book you will have all the information needed to take your Elastic stack skills to a new level of data visualization.
Table of Contents (17 chapters)
Learning Kibana 5.0
About the Author
About the Reviewers
Customer Feedback

Diving into Timelion code

Understanding how a Kibana plugin is structured is essential to tackle the development of extensions. This is what we'll look at first before diving into the Timelion function's code.

Understanding the Kibana plugin structure

A Kibana plugin is fundamentally an Angular application; it follows a specific structure, that is, a layout, as shown next:

app.js server
  • The public folder contains all the public files that will be served to the user's browser, except the app.js file, which is used to load the following:

    • All the application UI components and libraries

    • All the routes that the backend API will serve

  • The server folder contains all the backend files, which implement the API called by the front end code. Typically, the routes defined in the app.js file will point to that API. Note that this folder could have a different name.

  • The index.js file is used to bootstrap the application and essentially...