{"id":816,"date":"2022-01-25T12:59:28","date_gmt":"2022-01-25T12:59:28","guid":{"rendered":"https:\/\/blog.ngocha.biz\/?p=816"},"modified":"2022-01-25T12:59:28","modified_gmt":"2022-01-25T12:59:28","slug":"kibana-dashboard-tutorial","status":"publish","type":"post","link":"https:\/\/blog.ngocha.biz\/?p=816","title":{"rendered":"Kibana Dashboard Tutorial for Beginners: Comprehensive Guide"},"content":{"rendered":"<p>In this <strong>Kibana dashboard tutorial<\/strong>, we will look at the important Kibana concepts involved in the creation of different Kibana dashboards and visualizations.<\/p>\n<p>Kibana is an open-source tool that helps in search and data visualization capabilities. We have covered the Kibana basics in our <a href=\"https:\/\/devopscube.com\/setup-efk-stack-on-kubernetes\/\" rel=\"noreferrer noopener\">Kubernetes EFK stack tutorial<\/a>. Take a look at the EFK stack guide to understand how Kibana interacts with Elasticsearch. Also, in our <a href=\"https:\/\/devopscube.com\/become-devops-engineer\/\" rel=\"noreferrer noopener\">DevOps Engineers Guide<\/a>, we have covered the importance of logging in an organization.<\/p>\n<p>We will also look at some of the <strong>examples of Kibana dashboards<\/strong> to better understand all the visualizing concepts.<\/p>\n<h2 id=\"kibana-dashboard-tutorial-for-beginners\">Kibana Dashboard Tutorial for Beginners<\/h2>\n<p>When it comes to troubleshooting, it is essential to have <strong>logging dashboards<\/strong> and log search functionalities that help developers and DevOps engineers troubleshoot applications and infrastructure issues in real-time.<\/p>\n<p>In this guide, we are going to learn the following.<\/p>\n<h2 id=\"importing-kibana-sample-data\">Importing Kibana Sample Data<\/h2>\n<p>To get started, we need data in Kibana. The good news is, Kibana comes pre-loaded with some sample data. We are going to use it to learn to create Kibana dashboards.<\/p>\n<p>Let&#8217;s go ahead and import the sample data into Kibana to create visualizations. Follow the steps given below to import the sample data.<\/p>\n<p><strong>Step 1:<\/strong> To get the sample data, go to the Kibana home. Sample URL: <code>http:\/\/&lt;node-ip&gt;:30000\/app\/kibana#\/home<\/code>. Click the Load a data set option as shown below.<\/p>\n<figure class=\"kg-card kg-image-card\"><img decoding=\"async\" src=\"https:\/\/storage.ghost.io\/c\/5f\/2f\/5f2f4d20-2abf-4534-8d40-7aa233aedd43\/content\/images\/2025\/03\/image-8-54.png\" class=\"kg-image\" alt=\"Kibana option to load sample data set.\" loading=\"lazy\" width=\"536\" height=\"490\"><\/figure>\n<p><strong>Step 2:<\/strong> Load the &#8216;<strong>Sample eCommerce orders<\/strong>&#8216; data by clicking the &#8220;Add data&#8221; option. This is the data that we are going to use for dashboards.<\/p>\n<figure class=\"kg-card kg-image-card\"><img decoding=\"async\" src=\"https:\/\/storage.ghost.io\/c\/5f\/2f\/5f2f4d20-2abf-4534-8d40-7aa233aedd43\/content\/images\/2025\/03\/image-9-39.png\" class=\"kg-image\" alt=\"Add Sample eCommerce orders data to Kibana\" loading=\"lazy\" width=\"544\" height=\"447\"><\/figure>\n<p>Once the data is added, you should see the installed option as shown below.<\/p>\n<figure class=\"kg-card kg-image-card\"><img decoding=\"async\" src=\"https:\/\/storage.ghost.io\/c\/5f\/2f\/5f2f4d20-2abf-4534-8d40-7aa233aedd43\/content\/images\/2025\/03\/image-10-52.png\" class=\"kg-image\" alt=\"Sample data added to Kibana\" loading=\"lazy\" width=\"542\" height=\"548\"><\/figure>\n<p>Let&#8217;s look at the popular visualizations and create some visualizations for our sample data. After this, we will create our dashboards.<\/p>\n<p>Open the visualization section inside Kibana for this.<\/p>\n<h2 id=\"understaning-kibana-gauge\">Understaning Kibana Gauge<\/h2>\n<p>Let&#8217;s understand the concept of Gauge in Kibana.<\/p>\n<ol>\n<li><strong>What does Kibana gauge signify? <\/strong>It indicates the status of the metric.<\/li>\n<li><strong>How is it usable?<\/strong> It displays the metric against a &#8216;range,&#8217; i.e., it depicts a comparison of current value to a predetermined lower and upper limit.<\/li>\n<li><strong>How will we use it?<\/strong>  Let&#8217;s use it to signify the volume of business in a given time frame. Next, we will use the &#8216;range&#8217; settings to signify business state.<\/li>\n<\/ol>\n<p>Since each <strong>log indicates a transaction<\/strong> &#8211; we can assume that a higher no. of such logs means higher business transactions.<\/p>\n<p>We will use colors such as Red, Yellow, and Green to indicate poor, average, and good business performance in the time frame.<\/p>\n<h3 id=\"steps-to-create-gauge-visualization\">Steps to create Gauge Visualization<\/h3>\n<ol>\n<li>Create a gauge visualization.<\/li>\n<li>Add a metric with aggregation as count.<\/li>\n<li>Save the visualization.<\/li>\n<\/ol>\n<p><strong>Additional features:<\/strong> It has several other settings that help in creating better visualizations like:<\/p>\n<ol>\n<li><strong>type:<\/strong> to create a complete circle or a semi-circle.<\/li>\n<li><strong>alignment:<\/strong> to control horizontal or vertical display styles.<\/li>\n<li><strong>color-schemes:<\/strong> to control the color for each range, try it by clicking on the color in the legend.<\/li>\n<li><strong>sub-levels:<\/strong> to control the text being displayed inside the visualization.<\/li>\n<\/ol>\n<figure class=\"kg-card kg-image-card kg-card-hascaption\"><img decoding=\"async\" src=\"https:\/\/storage.ghost.io\/c\/5f\/2f\/5f2f4d20-2abf-4534-8d40-7aa233aedd43\/content\/images\/2025\/03\/gauge-visualization-1.png\" class=\"kg-image\" alt=\"\" loading=\"lazy\" width=\"1816\" height=\"916\" srcset=\"https:\/\/storage.ghost.io\/c\/5f\/2f\/5f2f4d20-2abf-4534-8d40-7aa233aedd43\/content\/images\/size\/w600\/2025\/03\/gauge-visualization-1.png 600w, https:\/\/storage.ghost.io\/c\/5f\/2f\/5f2f4d20-2abf-4534-8d40-7aa233aedd43\/content\/images\/size\/w1000\/2025\/03\/gauge-visualization-1.png 1000w, https:\/\/storage.ghost.io\/c\/5f\/2f\/5f2f4d20-2abf-4534-8d40-7aa233aedd43\/content\/images\/size\/w1600\/2025\/03\/gauge-visualization-1.png 1600w, https:\/\/storage.ghost.io\/c\/5f\/2f\/5f2f4d20-2abf-4534-8d40-7aa233aedd43\/content\/images\/2025\/03\/gauge-visualization-1.png 1816w\" sizes=\"auto, (min-width: 720px) 720px\"><figcaption><span style=\"white-space: pre-wrap;\">Click to view in HD<\/span><\/figcaption><\/figure>\n<h2 id=\"undestanding-kibana-metrics\">Undestanding Kibana Metrics<\/h2>\n<p>Let&#8217;s understand the concept of Metrics in Kibana.<\/p>\n<ol>\n<li><strong>What does Kibana metrics signify:<\/strong> It displays a calculation as a single figure.<\/li>\n<li><strong>How is it usable:<\/strong> It has the capability to display any metric and also perform calculations of it.<\/li>\n<li><strong>How will we use it:<\/strong> Let&#8217;s use it to display the overall total revenue of the business (sum of <code>taxful_total_price<\/code>) and the total revenue from each customer (sum of <code>taxful_total_price<\/code> grouped by customer&#8217;s email address)<\/li>\n<\/ol>\n<p>This will help the business find out which customer is spending more at their store! <\/p>\n<p>We will display the revenue from the top 5 customers at a given time.<\/p>\n<h3 id=\"steps-to-create-kibana-metric-visualization\">Steps to create Kibana Metric Visualization<\/h3>\n<ol>\n<li>Create a metrics visualization.<\/li>\n<li>Add a metric. Select aggregation as &#8216;sum&#8217; and field as &#8216;taxful_total_price&#8217;.<\/li>\n<li>Save this visualization as &#8216;metric-01&#8217;.<\/li>\n<li>Add a bucket &#8211; &#8216;split group&#8217;. Select aggregation as &#8216;terms&#8217; and field as &#8217;email&#8217;.<\/li>\n<li>This will now display results split by customer emails.<\/li>\n<li>Save this visualization as a new visualization.<\/li>\n<\/ol>\n<h3 id=\"additional-features\">Additional Features<\/h3>\n<p>It has several other settings that help in creating better visualizations like:<\/p>\n<ol>\n<li><strong><em>buckets:<\/em><\/strong> to group data according to another field (e.g., email)<\/li>\n<li><strong><em>label:<\/em><\/strong> to control the text being displayed inside the visualization.<\/li>\n<li><strong><em>ranges:<\/em><\/strong> to treat values in a given range as per its significance,<\/li>\n<li>e.g. total revenue in the range 0-100 is low and total revenue in the range of 100000-1000000 is high &#8211; so we can assign colors differently using this feature.<\/li>\n<li><strong><em>color-schema:<\/em><\/strong> to control the color displayed in the visualization as per the ranges.<\/li>\n<\/ol>\n<p>To split data by customer&#8217;s email,<\/p>\n<p>Create a new visualization for total revenue and modify it &#8211;<\/p>\n<ol>\n<li>Add a bucket (split group)<\/li>\n<li>Add aggregation of &#8216;terms&#8217;. We use terms when we want to use a custom field like email.<\/li>\n<li>Select &#8217;email&#8217; as the field.<\/li>\n<\/ol>\n<figure class=\"kg-card kg-image-card kg-card-hascaption\"><img decoding=\"async\" src=\"https:\/\/storage.ghost.io\/c\/5f\/2f\/5f2f4d20-2abf-4534-8d40-7aa233aedd43\/content\/images\/2025\/03\/metric-01-1.png\" class=\"kg-image\" alt=\"\" loading=\"lazy\" width=\"1825\" height=\"967\" srcset=\"https:\/\/storage.ghost.io\/c\/5f\/2f\/5f2f4d20-2abf-4534-8d40-7aa233aedd43\/content\/images\/size\/w600\/2025\/03\/metric-01-1.png 600w, https:\/\/storage.ghost.io\/c\/5f\/2f\/5f2f4d20-2abf-4534-8d40-7aa233aedd43\/content\/images\/size\/w1000\/2025\/03\/metric-01-1.png 1000w, https:\/\/storage.ghost.io\/c\/5f\/2f\/5f2f4d20-2abf-4534-8d40-7aa233aedd43\/content\/images\/size\/w1600\/2025\/03\/metric-01-1.png 1600w, https:\/\/storage.ghost.io\/c\/5f\/2f\/5f2f4d20-2abf-4534-8d40-7aa233aedd43\/content\/images\/2025\/03\/metric-01-1.png 1825w\" sizes=\"auto, (min-width: 720px) 720px\"><figcaption><span style=\"white-space: pre-wrap;\">Click to view in HD<\/span><\/figcaption><\/figure>\n<figure class=\"kg-card kg-image-card kg-card-hascaption\"><img decoding=\"async\" src=\"https:\/\/storage.ghost.io\/c\/5f\/2f\/5f2f4d20-2abf-4534-8d40-7aa233aedd43\/content\/images\/2025\/03\/metric-02-1.png\" class=\"kg-image\" alt=\"\" loading=\"lazy\" width=\"1817\" height=\"965\" srcset=\"https:\/\/storage.ghost.io\/c\/5f\/2f\/5f2f4d20-2abf-4534-8d40-7aa233aedd43\/content\/images\/size\/w600\/2025\/03\/metric-02-1.png 600w, https:\/\/storage.ghost.io\/c\/5f\/2f\/5f2f4d20-2abf-4534-8d40-7aa233aedd43\/content\/images\/size\/w1000\/2025\/03\/metric-02-1.png 1000w, https:\/\/storage.ghost.io\/c\/5f\/2f\/5f2f4d20-2abf-4534-8d40-7aa233aedd43\/content\/images\/size\/w1600\/2025\/03\/metric-02-1.png 1600w, https:\/\/storage.ghost.io\/c\/5f\/2f\/5f2f4d20-2abf-4534-8d40-7aa233aedd43\/content\/images\/2025\/03\/metric-02-1.png 1817w\" sizes=\"auto, (min-width: 720px) 720px\"><figcaption><span style=\"white-space: pre-wrap;\">Click to view in HD<\/span><\/figcaption><\/figure>\n<h2 id=\"kibana-controller\">Kibana Controller<\/h2>\n<ol>\n<li><strong><em>What it signifies? <\/em><\/strong>It creates interactive controls for easy manipulation of the dashboard data.<\/li>\n<li><strong><em>How is it usable?<\/em><\/strong> It has the capability to apply filters to the visualizations inside a dashboard.<\/li>\n<li><strong><em>How will we use it?<\/em><\/strong> Let&#8217;s use it to filter the logs based on important fields like manufacturer, category, and quantity.<\/li>\n<\/ol>\n<p>We will display the logs by creating a saved query and importing it into our dashboard.<\/p>\n<h3 id=\"steps-to-create\">Steps to create:<\/h3>\n<ol>\n<li>Go to the discover tab.<\/li>\n<li>Add the required fields from the left-hand side options.<\/li>\n<li>You should see only the added field in the logs panel now.<\/li>\n<li>Save it by clicking on &#8216;save.&#8217; (It&#8217;s on the top side of the panel.<\/li>\n<li>Now let&#8217;s try to create a controller. Create a controller visualization.<\/li>\n<li>Add an &#8216;options list&#8217;. Select the index pattern &amp; choose a field.<\/li>\n<li>Repeat step 6 for all the controller fields that you wish to add.<\/li>\n<\/ol>\n<p><strong><em>Additional features &#8211;<\/em><\/strong><br \/>It has several other settings that help in better filtrations like:<\/p>\n<p><strong><em>parentcontrol:<\/em><\/strong> It&#8217;s used to control the values of a field. Let us understand it with the help of an example.<\/p>\n<p>The &#8216;category&#8217; controller field has &#8216;manufacturer&#8217; as the parent control, and the current value for the &#8216;manufacturer&#8217; field is &#8216;Low Tide Media.&#8217;<\/p>\n<p>This implies that the &#8216;category&#8217; field will have only those values for which &#8216;manufacturer&#8217; is &#8216;Low Tide Media.&#8217;<\/p>\n<p>In this way, filtering becomes easier.<\/p>\n<p><strong><em>multiselect:<\/em><\/strong> This enables\/disables the functionality to have multiple selections in the field. This also helps in filtering out.<\/p>\n<p>E.g., let&#8217;s say we want to look at logs where &#8216;manufacturer&#8217; is &#8216;Low Tide Media&#8217; and &#8216;Spiritechnologies&#8217;. We can add both values if multiselect is enabled.<\/p>\n<p><strong><em>dynamic options:<\/em><\/strong> dynamically updates the options list according to user inputs. <\/p>\n<p><strong><em>control label:<\/em><\/strong> It controls the text being displayed inside the visualization.<\/p>\n<p>Controllers are usually added to dashboards along with a saved query (Yes, you can add a saved query from discover into a Kibana dashboard as well!)<\/p>\n<figure class=\"kg-card kg-image-card kg-card-hascaption\"><img decoding=\"async\" src=\"https:\/\/storage.ghost.io\/c\/5f\/2f\/5f2f4d20-2abf-4534-8d40-7aa233aedd43\/content\/images\/2025\/03\/controller-01-1.png\" class=\"kg-image\" alt=\"\" loading=\"lazy\" width=\"1800\" height=\"965\" srcset=\"https:\/\/storage.ghost.io\/c\/5f\/2f\/5f2f4d20-2abf-4534-8d40-7aa233aedd43\/content\/images\/size\/w600\/2025\/03\/controller-01-1.png 600w, https:\/\/storage.ghost.io\/c\/5f\/2f\/5f2f4d20-2abf-4534-8d40-7aa233aedd43\/content\/images\/size\/w1000\/2025\/03\/controller-01-1.png 1000w, https:\/\/storage.ghost.io\/c\/5f\/2f\/5f2f4d20-2abf-4534-8d40-7aa233aedd43\/content\/images\/size\/w1600\/2025\/03\/controller-01-1.png 1600w, https:\/\/storage.ghost.io\/c\/5f\/2f\/5f2f4d20-2abf-4534-8d40-7aa233aedd43\/content\/images\/2025\/03\/controller-01-1.png 1800w\" sizes=\"auto, (min-width: 720px) 720px\"><figcaption><span style=\"white-space: pre-wrap;\">Click to view in HD<\/span><\/figcaption><\/figure>\n<figure class=\"kg-card kg-image-card kg-card-hascaption\"><img decoding=\"async\" src=\"https:\/\/storage.ghost.io\/c\/5f\/2f\/5f2f4d20-2abf-4534-8d40-7aa233aedd43\/content\/images\/2025\/03\/controller-02-1.png\" class=\"kg-image\" alt=\"\" loading=\"lazy\" width=\"1825\" height=\"970\" srcset=\"https:\/\/storage.ghost.io\/c\/5f\/2f\/5f2f4d20-2abf-4534-8d40-7aa233aedd43\/content\/images\/size\/w600\/2025\/03\/controller-02-1.png 600w, https:\/\/storage.ghost.io\/c\/5f\/2f\/5f2f4d20-2abf-4534-8d40-7aa233aedd43\/content\/images\/size\/w1000\/2025\/03\/controller-02-1.png 1000w, https:\/\/storage.ghost.io\/c\/5f\/2f\/5f2f4d20-2abf-4534-8d40-7aa233aedd43\/content\/images\/size\/w1600\/2025\/03\/controller-02-1.png 1600w, https:\/\/storage.ghost.io\/c\/5f\/2f\/5f2f4d20-2abf-4534-8d40-7aa233aedd43\/content\/images\/2025\/03\/controller-02-1.png 1825w\" sizes=\"auto, (min-width: 720px) 720px\"><figcaption><span style=\"white-space: pre-wrap;\">Click to view in HD<\/span><\/figcaption><\/figure>\n<h2 id=\"lines\">Lines<\/h2>\n<p><strong><em>What it signifies? <\/em><\/strong><br \/>It creates a visualization of trends in the data.<\/p>\n<p>How is it usable? <br \/>It has the capability to plot various fields and apply basic calculations to the field such as sum, min, max.<\/p>\n<p><strong><em>How will we use it?<\/em><\/strong> <br \/>Let&#8217;s use it to display the total_quantity of products for various dates; let us also group this information according to the product type, such as &#8216;men&#8217;s shoes&#8217; or &#8216;women&#8217;s clothing.<\/p>\n<p>This type of filtering can help us understand the trends easily.<\/p>\n<p><strong><em>Steps to create:<\/em><\/strong><\/p>\n<ol>\n<li>Create a line visualization.<\/li>\n<li>In the Y-axis, we will plot the sum of quantities. So let&#8217;s select aggregation as &#8216;sum&#8217; and field as &#8216;total_quantity.&#8217;<\/li>\n<li>In the X-axis, we will display the trend as a histogram (It shows the distribution of data) with an interval of 1 hour. It means the data points will be taken on a per-hour basis.<\/li>\n<li>We wish to understand the trend for each product category separately. So let&#8217;s split the data according to the product category.\n<p>To do this, add a &#8216;split series&#8217; option and add a &#8216;sub-aggregation&#8217; of &#8216;terms&#8217; and select &#8216;category&#8217; in the field.<\/li>\n<li>Apply the changes by clicking on the &#8216;play&#8217; button at the top of the panels.<\/li>\n<\/ol>\n<p>Save it by clicking on &#8216;save.&#8217; (It&#8217;s on the top side of the panel.)<\/p>\n<p><strong><em>Additional features &#8211;<\/em><\/strong><br \/>It has several other settings that help in better visualizations like:<\/p>\n<p><strong><em>grid:<\/em><\/strong> It&#8217;s used to control the visibility of x and y-axis grids.<br \/><strong><em>positions:<\/em><\/strong> It&#8217;s used to control the placement of the x and y-axis.<br \/><strong><em>customlabels<\/em><\/strong>: to control the text being displayed inside the visualization.<\/p>\n<p>Apart from this, it has a lot of options for aggregations like average, min, max, etc.<\/p>\n<p>This is the most commonly used visualization type! So I encourage you to explore this deeply.<\/p>\n<figure class=\"kg-card kg-image-card kg-card-hascaption\"><img decoding=\"async\" src=\"https:\/\/storage.ghost.io\/c\/5f\/2f\/5f2f4d20-2abf-4534-8d40-7aa233aedd43\/content\/images\/2025\/03\/lines-02-1.png\" class=\"kg-image\" alt=\"\" loading=\"lazy\" width=\"1827\" height=\"909\" srcset=\"https:\/\/storage.ghost.io\/c\/5f\/2f\/5f2f4d20-2abf-4534-8d40-7aa233aedd43\/content\/images\/size\/w600\/2025\/03\/lines-02-1.png 600w, https:\/\/storage.ghost.io\/c\/5f\/2f\/5f2f4d20-2abf-4534-8d40-7aa233aedd43\/content\/images\/size\/w1000\/2025\/03\/lines-02-1.png 1000w, https:\/\/storage.ghost.io\/c\/5f\/2f\/5f2f4d20-2abf-4534-8d40-7aa233aedd43\/content\/images\/size\/w1600\/2025\/03\/lines-02-1.png 1600w, https:\/\/storage.ghost.io\/c\/5f\/2f\/5f2f4d20-2abf-4534-8d40-7aa233aedd43\/content\/images\/2025\/03\/lines-02-1.png 1827w\" sizes=\"auto, (min-width: 720px) 720px\"><figcaption><span style=\"white-space: pre-wrap;\">Click to view in HD<\/span><\/figcaption><\/figure>\n<h2 id=\"region-map\">Region Map<\/h2>\n<p><strong><em>What it signifies? <\/em><\/strong><br \/>It shows metrics on a map.<\/p>\n<p><strong><em>How is it usable?<\/em><\/strong> <br \/>It gives a visualization over the world map! You can visualize your metrics on a per-country basis.<\/p>\n<p><strong><em>How will we use it?<\/em><\/strong> <br \/>Let&#8217;s use it to display the transactions, i.e., the count of logs carried out in each country. <\/p>\n<p>This type of filtering can help us get a 360&#8242; view.<\/p>\n<p><strong><em>Steps to create:<\/em><\/strong><\/p>\n<ol>\n<li>Create a region map visualization.<\/li>\n<li>In the metrics section, we want to plot the count of logs for the countries, so let us select &#8216;count&#8217; as the aggregation.<\/li>\n<li>We obviously want to see the count for each country separately. So let&#8217;s create a bucket.<\/li>\n<li>We have a field called &#8216;country_iso_code&#8217; that tells Kibana about each transaction log&#8217;s country. So select &#8216;terms&#8217; in the bucket&#8217;s &#8216;aggregation&#8217; and field as &#8216;country_iso_code&#8217;.<\/li>\n<li>Increase the size to about 50 to see data for more countries.<\/li>\n<\/ol>\n<p>Save it by clicking on &#8216;save&#8217;. (It&#8217;s on the top side of the panel.)<\/p>\n<p><strong><em>Additional features &#8211;<\/em><\/strong><br \/>It has several other settings that help in better visualizations like:<\/p>\n<p><strong><em>vectormaps:<\/em><\/strong> It&#8217;s used to specify different maps. <\/p>\n<p>By default, the world map is displayed. But what if we want to visualize data related to just India. We can select &#8216;India state and territories&#8217; in vectormap option.<\/p>\n<p>It will display a detailed map of India with the state boundaries now.<\/p>\n<p>Similarly, there are other options such as &#8216;USA states&#8217; or &#8216;Australia states&#8217;.<\/p>\n<p><strong><em>color-schema:<\/em><\/strong> to control the color displayed in the visualization as per the ranges. <\/p>\n<p>border thickness: to control the line size by which Kibana draws the boundaries in the map.<\/p>\n<figure class=\"kg-card kg-image-card kg-card-hascaption\"><img decoding=\"async\" src=\"https:\/\/storage.ghost.io\/c\/5f\/2f\/5f2f4d20-2abf-4534-8d40-7aa233aedd43\/content\/images\/2025\/03\/region-01-1.png\" class=\"kg-image\" alt=\"\" loading=\"lazy\" width=\"1815\" height=\"974\" srcset=\"https:\/\/storage.ghost.io\/c\/5f\/2f\/5f2f4d20-2abf-4534-8d40-7aa233aedd43\/content\/images\/size\/w600\/2025\/03\/region-01-1.png 600w, https:\/\/storage.ghost.io\/c\/5f\/2f\/5f2f4d20-2abf-4534-8d40-7aa233aedd43\/content\/images\/size\/w1000\/2025\/03\/region-01-1.png 1000w, https:\/\/storage.ghost.io\/c\/5f\/2f\/5f2f4d20-2abf-4534-8d40-7aa233aedd43\/content\/images\/size\/w1600\/2025\/03\/region-01-1.png 1600w, https:\/\/storage.ghost.io\/c\/5f\/2f\/5f2f4d20-2abf-4534-8d40-7aa233aedd43\/content\/images\/2025\/03\/region-01-1.png 1815w\" sizes=\"auto, (min-width: 720px) 720px\"><figcaption><span style=\"white-space: pre-wrap;\">Click to view in HD<\/span><\/figcaption><\/figure>\n<h2 id=\"how-to-create-a-kibana-dashboard\">How to Create a Kibana Dashboard?<\/h2>\n<p>A dashboard in Kibana is a collection of various visualizations. Here is an example dashboard.<\/p>\n<figure class=\"kg-card kg-image-card kg-card-hascaption\"><img decoding=\"async\" src=\"https:\/\/storage.ghost.io\/c\/5f\/2f\/5f2f4d20-2abf-4534-8d40-7aa233aedd43\/content\/images\/2025\/03\/dashboard-01-1.png\" class=\"kg-image\" alt=\"\" loading=\"lazy\" width=\"1808\" height=\"955\" srcset=\"https:\/\/storage.ghost.io\/c\/5f\/2f\/5f2f4d20-2abf-4534-8d40-7aa233aedd43\/content\/images\/size\/w600\/2025\/03\/dashboard-01-1.png 600w, https:\/\/storage.ghost.io\/c\/5f\/2f\/5f2f4d20-2abf-4534-8d40-7aa233aedd43\/content\/images\/size\/w1000\/2025\/03\/dashboard-01-1.png 1000w, https:\/\/storage.ghost.io\/c\/5f\/2f\/5f2f4d20-2abf-4534-8d40-7aa233aedd43\/content\/images\/size\/w1600\/2025\/03\/dashboard-01-1.png 1600w, https:\/\/storage.ghost.io\/c\/5f\/2f\/5f2f4d20-2abf-4534-8d40-7aa233aedd43\/content\/images\/2025\/03\/dashboard-01-1.png 1808w\" sizes=\"auto, (min-width: 720px) 720px\"><figcaption><span style=\"white-space: pre-wrap;\">Click to view in HD<\/span><\/figcaption><\/figure>\n<p>We will create a similar dashboard from the visualizations in the above section.<\/p>\n<p><strong><em>Steps to create a dashboard<\/em><\/strong><\/p>\n<ol>\n<li>Head to the dashboard section of Kibana and create a new dashboard.<\/li>\n<li>Start adding the visualization and saved queries here.<\/li>\n<\/ol>\n<p>That&#8217;s it! You have created your very own first dashboard now! Save it for future use.<\/p>\n<h2 id=\"next-steps\">Next steps<\/h2>\n<p>In production environments, teams usually try to keep a backup of these visualizations and dashboards in a JSON file for safekeeping.<\/p>\n<p><strong><em>Steps to create a backup file:<\/em><\/strong><\/p>\n<ol>\n<li>Go to Kibana&#8217;s management section.<\/li>\n<li>Go to the saved objects tab.<\/li>\n<li>Select your visualizations and dashboards from the list.<\/li>\n<li>Export them. Kibana will create a JSON file for you and download it to your system.<\/li>\n<\/ol>\n<p>Creating a backup is not enough; we also need to understand importing the objects through the file.<\/p>\n<p><strong><em>Steps to import an object using a backup file:<\/em><\/strong><\/p>\n<ol>\n<li>Under the saved objects click on the Import button.<\/li>\n<li>Next, select your JSON backup file. Kibana will import them into its list now.<\/li>\n<\/ol>\n<p>Besides backups, Kibana also has tons of features like anomaly detection using Machine Learning and functionalities to receive email &amp; slack alerts. So be sure to explore them too!<\/p>\n<h2 id=\"conclusion\">Conclusion<\/h2>\n<p>EFK is a tool used by 100s of DevOps teams every day. In this EFK tutorial series, you have learned a very useful skill of creating a Kibana dashboard <\/p>\n<p>There are many others; explore different options thoroughly to create the best visualizations!<\/p>\n<p>In the next article, we will learn how to create Kibana dashboards for Kubernetes cluster monitoring.<\/p>\n<p>Also, if you are learning about logging &amp; monitoring, you might like my guide on <a href=\"https:\/\/devopscube.com\/setup-prometheus-monitoring-on-kubernetes\/\" rel=\"noreferrer noopener\">setting up Prometheus on Kubernetes<\/a>.<\/p>\n<hr>\n<p><strong>Ngu\u1ed3n:<\/strong> <a href=\"https:\/\/devopscube.com\/kibana-dashboard-tutorial\/\" target=\"_blank\" rel=\"noopener noreferrer\">Kibana Dashboard Tutorial for Beginners: Comprehensive Guide \u2014 DevOpsCube<\/a><\/p>\n","protected":false},"excerpt":{"rendered":"<p>Source: https:\/\/devopscube.com\/kibana-dashboard-tutorial\/<\/p>\n","protected":false},"author":1,"featured_media":817,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[1],"tags":[],"class_list":["post-816","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-devops"],"_links":{"self":[{"href":"https:\/\/blog.ngocha.biz\/index.php?rest_route=\/wp\/v2\/posts\/816","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/blog.ngocha.biz\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/blog.ngocha.biz\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/blog.ngocha.biz\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/blog.ngocha.biz\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=816"}],"version-history":[{"count":0,"href":"https:\/\/blog.ngocha.biz\/index.php?rest_route=\/wp\/v2\/posts\/816\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/blog.ngocha.biz\/index.php?rest_route=\/wp\/v2\/media\/817"}],"wp:attachment":[{"href":"https:\/\/blog.ngocha.biz\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=816"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/blog.ngocha.biz\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=816"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/blog.ngocha.biz\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=816"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}