{"id":26661,"date":"2020-06-03T00:00:00","date_gmt":"2020-06-02T22:00:00","guid":{"rendered":"https:\/\/blexin.com\/creare-dashboard-con-elasticsearch-e-kibana\/"},"modified":"2021-06-16T18:08:21","modified_gmt":"2021-06-16T16:08:21","slug":"lets-see-how-creating-dashboards-starting-from-data-in-elasticsearch-using-kibana","status":"publish","type":"post","link":"https:\/\/blexin.com\/en\/blog-en\/lets-see-how-creating-dashboards-starting-from-data-in-elasticsearch-using-kibana\/","title":{"rendered":"How to create dashboards with ElasticSearch and Kibana"},"content":{"rendered":"\n<figure class=\"wp-block-image size-large\"><img data-recalc-dims=\"1\" loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"608\" data-attachment-id=\"26625\" data-permalink=\"https:\/\/blexin.com\/en\/blog-en\/lets-see-how-creating-dashboards-starting-from-data-in-elasticsearch-using-kibana\/attachment\/373498f4-a70c-4b29-af40-53d04d496510-2\/\" data-orig-file=\"https:\/\/i0.wp.com\/blexin.com\/wp-content\/uploads\/2020\/12\/373498f4-a70c-4b29-af40-53d04d496510.png?fit=1024%2C608&amp;ssl=1\" data-orig-size=\"1024,608\" data-comments-opened=\"0\" data-image-meta=\"{&quot;aperture&quot;:&quot;0&quot;,&quot;credit&quot;:&quot;&quot;,&quot;camera&quot;:&quot;&quot;,&quot;caption&quot;:&quot;&quot;,&quot;created_timestamp&quot;:&quot;0&quot;,&quot;copyright&quot;:&quot;&quot;,&quot;focal_length&quot;:&quot;0&quot;,&quot;iso&quot;:&quot;0&quot;,&quot;shutter_speed&quot;:&quot;0&quot;,&quot;title&quot;:&quot;&quot;,&quot;orientation&quot;:&quot;0&quot;}\" data-image-title=\"373498f4-a70c-4b29-af40-53d04d496510\" data-image-description=\"\" data-image-caption=\"\" data-large-file=\"https:\/\/i0.wp.com\/blexin.com\/wp-content\/uploads\/2020\/12\/373498f4-a70c-4b29-af40-53d04d496510.png?fit=1024%2C608&amp;ssl=1\" src=\"https:\/\/i0.wp.com\/blexin.com\/wp-content\/uploads\/2020\/12\/373498f4-a70c-4b29-af40-53d04d496510.png?resize=1024%2C608&#038;ssl=1\" alt=\"\" class=\"wp-image-26625\" srcset=\"https:\/\/blexin.com\/wp-content\/uploads\/2020\/12\/373498f4-a70c-4b29-af40-53d04d496510.png 1024w, https:\/\/blexin.com\/wp-content\/uploads\/2020\/12\/373498f4-a70c-4b29-af40-53d04d496510-980x582.png 980w, https:\/\/blexin.com\/wp-content\/uploads\/2020\/12\/373498f4-a70c-4b29-af40-53d04d496510-480x285.png 480w\" sizes=\"auto, (min-width: 0px) and (max-width: 480px) 480px, (min-width: 481px) and (max-width: 980px) 980px, (min-width: 981px) 1024px, 100vw\" \/><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\">In my previous articles (here the&nbsp;<a href=\"https:\/\/www.blexin.com\/en-US\/Article\/Blog\/How-to-integrate-ElasticSearch-in-ASPNET-Core-70\" target=\"_blank\" rel=\"noreferrer noopener\">first<\/a>&nbsp;and the&nbsp;<a href=\"https:\/\/www.blexin.com\/en-US\/Article\/Blog\/ElasticSearch-advanced-features-80\" target=\"_blank\" rel=\"noreferrer noopener\">second<\/a>&nbsp;one), I have shown the use of ElasticSearch as a full-text search engine in e-commerce, the set and use of some advanced configurations and the creation of a&nbsp;<code>products&nbsp;<\/code>index which contains all saved products.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">For demonstration purposes, we used the Bogus library for the dynamic generation of products and the NEST library for the CRUD on the ElasticSearch index.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Our model Product class is defined as:<\/p>\n\n\n<div class=\"wp-block-syntaxhighlighter-code \"><pre class=\"brush: csharp; title: ; notranslate\" title=\"\">\npublic class Product\n{\n\u00a0\u00a0\u00a0\u00a0public int Id { get; set; }\n\u00a0\u00a0\u00a0\u00a0public string Ean { get; set; }\n\u00a0\u00a0\u00a0\u00a0public string Name { get; set; }\n\u00a0\u00a0\u00a0\u00a0public string Description { get; set; }\n\u00a0\u00a0\u00a0\u00a0public Brand Brand { get; set; }\n\u00a0\u00a0\u00a0\u00a0public Category Category { get; set; }\n\u00a0\u00a0\u00a0\u00a0public Store Store { get; set; }\n\u00a0\u00a0\u00a0\u00a0public decimal Price { get; set; }\n\u00a0\u00a0\u00a0\u00a0public string Currency { get; set; }\n\u00a0\u00a0\u00a0\u00a0public int Quantity { get; set; }\n\u00a0\u00a0\u00a0\u00a0public float Rating { get; set; }\n\u00a0\u00a0\u00a0\u00a0public DateTime ReleaseDate { get; set; }\n\u00a0\u00a0\u00a0\u00a0public string Image { get; set; }\n\u00a0\u00a0\u00a0\u00a0public List&lt;review&gt; Reviews { get; set; }\n}\n<\/pre><\/div>\n\n\n<p class=\"wp-block-paragraph\">where Brand, Category, Store, Review, and User classes are respectively:<\/p>\n\n\n<div class=\"wp-block-syntaxhighlighter-code \"><pre class=\"brush: csharp; title: ; notranslate\" title=\"\">\npublic class Brand\n{\n\u00a0\u00a0\u00a0\u00a0public int Id { get; set; }\n\u00a0\u00a0\u00a0\u00a0public string Name { get; set; }\n\u00a0\u00a0\u00a0\u00a0public string Description { get; set; }\n}\n\u00a0\npublic class Category\n{\n\u00a0\u00a0\u00a0\u00a0public int Id { get; set; }\n\u00a0\u00a0\u00a0\u00a0public string Name { get; set; }\n\u00a0\u00a0\u00a0\u00a0public string Description { get; set; }\n}\n\u00a0\npublic class Store\n{\n\u00a0\u00a0\u00a0\u00a0public int Id { get; set; }\n\u00a0\u00a0\u00a0\u00a0public string Name { get; set; }\n\u00a0\u00a0\u00a0\u00a0public string Description { get; set; }\n}\n\u00a0\npublic class Review\n{\n\u00a0\u00a0\u00a0\u00a0public int Id { get; set; }\n\u00a0\u00a0\u00a0\u00a0public short Rating { get; set; }\n\u00a0\u00a0\u00a0\u00a0public string Description { get; set; }\n\u00a0\u00a0\u00a0\u00a0public User User { get; set; }\n}\n\u00a0\npublic class User\n{\n\u00a0\u00a0\u00a0\u00a0public int Id { get; set; }\n\u00a0\u00a0\u00a0\u00a0public string FirstName { get; set; }\n\u00a0\u00a0\u00a0\u00a0public string LastName { get; set; }\n\u00a0\u00a0\u00a0\u00a0public string IPAddress { get; set; }\n\u00a0\u00a0\u00a0\u00a0public GeoIp GeoIp { get; set; }\n}\n<\/pre><\/div>\n\n\n<p class=\"wp-block-paragraph\">GeoIP is a class from the NEST library used for geographic data.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">The next step is to create a dashboard that can display the products, and the performed research carried out on them to elaborate more or less advanced statistics.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Rather than developing a custom solution with certain time-consuming efforts, we decided to use&nbsp;<a href=\"https:\/\/www.elastic.co\/kibana\" target=\"_blank\" rel=\"noreferrer noopener\">Kibana<\/a>. It deals with a front end application that is part of the ElasticSearch stack that allows us to view data and searches for all indexed data and track the load of queries.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Kibana can also be used for monitoring, managing, and securing the same stack.<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img data-recalc-dims=\"1\" loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"729\" src=\"https:\/\/i0.wp.com\/blexin.com\/wp-content\/uploads\/2020\/12\/image01-2.png?resize=1024%2C729&#038;ssl=1\" alt=\"\" class=\"wp-image-26629\" srcset=\"https:\/\/blexin.com\/wp-content\/uploads\/2020\/12\/image01-2-980x698.png 980w, https:\/\/blexin.com\/wp-content\/uploads\/2020\/12\/image01-2-480x342.png 480w\" sizes=\"auto, (min-width: 0px) and (max-width: 480px) 480px, (min-width: 481px) and (max-width: 980px) 980px, (min-width: 981px) 1024px, 100vw\" \/><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\">To install and configure it just go om the page&nbsp;<a href=\"https:\/\/www.elastic.co\/downloads\/kibana\" target=\"_blank\" rel=\"noreferrer noopener\">https:\/\/www.elastic.co\/downloads\/kibana<\/a>. Here we can find the installers for all platforms, and download the one suitable for our needs.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Once downloaded and unzipped in a given folder, in our case C:\\ElasticSearch\\Kibana, we open the config\/kibana.yml file and set the elasticsearch.hosts parameter to point to our instance of ElasticSearch (for local versions <a href=\"http:\/\/localhost:9200\" rel=\"nofollow\">http:\/\/localhost:9200<\/a>):<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><code>elasticsearch.hosts: [\"http:\/\/localhost:9200\"]<\/code><\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Let\u2019s run bin\/kibana.bat and open the <a href=\"http:\/\/localhost:5601\" rel=\"nofollow\">http:\/\/localhost:5601<\/a> from a browser page. The page we get is the following:<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img data-recalc-dims=\"1\" loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"388\" src=\"https:\/\/i0.wp.com\/blexin.com\/wp-content\/uploads\/2020\/12\/image02-1.png?resize=1024%2C388&#038;ssl=1\" alt=\"\" class=\"wp-image-26632\" srcset=\"https:\/\/blexin.com\/wp-content\/uploads\/2020\/12\/image02-1-980x372.png 980w, https:\/\/blexin.com\/wp-content\/uploads\/2020\/12\/image02-1-480x182.png 480w\" sizes=\"auto, (min-width: 0px) and (max-width: 480px) 480px, (min-width: 481px) and (max-width: 980px) 980px, (min-width: 981px) 1024px, 100vw\" \/><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\">Kibana interface is divided into several sections.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">In the open source version there are: Discover (data interactive exploration), Visualize (data analysis in graphs, tables, tags), Dashboards (complex data views), Canvas (documents creation), Maps (georeferenced data analysis), Dev Tools (tools to process and analyze queries) and Management (index and cluster management).<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">We can also install the X-Pack plugin to use the Graph and Monitoring sections.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Let&#8217;s go to the Management -&gt; Elasticsearch -&gt; Index Management section to verify that the Elasticsearch indexes have been correctly detected:<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img data-recalc-dims=\"1\" loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"322\" src=\"https:\/\/i0.wp.com\/blexin.com\/wp-content\/uploads\/2020\/12\/image03-1.png?resize=1024%2C322&#038;ssl=1\" alt=\"\" class=\"wp-image-26634\" srcset=\"https:\/\/blexin.com\/wp-content\/uploads\/2020\/12\/image03-1-1024x322.png 1024w, https:\/\/blexin.com\/wp-content\/uploads\/2020\/12\/image03-1-980x308.png 980w, https:\/\/blexin.com\/wp-content\/uploads\/2020\/12\/image03-1-480x151.png 480w\" sizes=\"auto, (min-width: 0px) and (max-width: 480px) 480px, (min-width: 481px) and (max-width: 980px) 980px, (min-width: 981px) 1024px, 100vw\" \/><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\">We can find our&nbsp;<code>products<\/code>&nbsp;index and verify its mapping and matching with our data model:<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img data-recalc-dims=\"1\" loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"533\" src=\"https:\/\/i0.wp.com\/blexin.com\/wp-content\/uploads\/2020\/12\/image04-1.png?resize=1024%2C533&#038;ssl=1\" alt=\"\" class=\"wp-image-26636\" srcset=\"https:\/\/blexin.com\/wp-content\/uploads\/2020\/12\/image04-1-980x510.png 980w, https:\/\/blexin.com\/wp-content\/uploads\/2020\/12\/image04-1-480x250.png 480w\" sizes=\"auto, (min-width: 0px) and (max-width: 480px) 480px, (min-width: 481px) and (max-width: 980px) 980px, (min-width: 981px) 1024px, 100vw\" \/><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\">To create a Kibana index, just go to the Management section -&gt; Kibana -&gt; Index Patterns and type a text that allows you to link the new index to one or more ElasticSearch indexes.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">In our case, we type&nbsp;<code>products<\/code>, so as to create our Kibana index.<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img data-recalc-dims=\"1\" loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"403\" src=\"https:\/\/i0.wp.com\/blexin.com\/wp-content\/uploads\/2020\/12\/image05-1.png?resize=1024%2C403&#038;ssl=1\" alt=\"\" class=\"wp-image-26639\" srcset=\"https:\/\/blexin.com\/wp-content\/uploads\/2020\/12\/image05-1-1024x403.png 1024w, https:\/\/blexin.com\/wp-content\/uploads\/2020\/12\/image05-1-980x386.png 980w, https:\/\/blexin.com\/wp-content\/uploads\/2020\/12\/image05-1-480x189.png 480w\" sizes=\"auto, (min-width: 0px) and (max-width: 480px) 480px, (min-width: 481px) and (max-width: 980px) 980px, (min-width: 981px) 1024px, 100vw\" \/><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\">Once created the index, in the Discover section, it is possible to filter the data by date or by one or more fields:<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img data-recalc-dims=\"1\" loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"413\" src=\"https:\/\/i0.wp.com\/blexin.com\/wp-content\/uploads\/2020\/12\/image06-1.png?resize=1024%2C413&#038;ssl=1\" alt=\"\" class=\"wp-image-26641\" srcset=\"https:\/\/blexin.com\/wp-content\/uploads\/2020\/12\/image06-1-980x395.png 980w, https:\/\/blexin.com\/wp-content\/uploads\/2020\/12\/image06-1-480x194.png 480w\" sizes=\"auto, (min-width: 0px) and (max-width: 480px) 480px, (min-width: 481px) and (max-width: 980px) 980px, (min-width: 981px) 1024px, 100vw\" \/><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\">Using the search bar, we can query between products using the KQL language (Kibana Query language), which allows you to easily query using the autocomplete. For example, we could type:<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><code>category.name : Games AND rating &gt; 0.5<\/code><\/p>\n\n\n\n<p class=\"wp-block-paragraph\">to know all the products in the Games category with a rating higher than 0.5.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">You can select some field and add them to Selected fields, in order to have a custom result view.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Once added the index and verified the correctness of the queries, we can create new data views.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">The visualizations consist of various types of graphs (bar, cakes), tables, indicators, metrics, and tag clouds. Of course, they support data aggregations.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">In the Visualize section, we can create a new data visualization by using graphs.<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img data-recalc-dims=\"1\" loading=\"lazy\" decoding=\"async\" width=\"837\" height=\"666\" data-attachment-id=\"26644\" data-permalink=\"https:\/\/blexin.com\/en\/blog-en\/lets-see-how-creating-dashboards-starting-from-data-in-elasticsearch-using-kibana\/attachment\/image07-1-2\/\" data-orig-file=\"https:\/\/i0.wp.com\/blexin.com\/wp-content\/uploads\/2020\/12\/image07-1.png?fit=837%2C666&amp;ssl=1\" data-orig-size=\"837,666\" data-comments-opened=\"0\" data-image-meta=\"{&quot;aperture&quot;:&quot;0&quot;,&quot;credit&quot;:&quot;&quot;,&quot;camera&quot;:&quot;&quot;,&quot;caption&quot;:&quot;&quot;,&quot;created_timestamp&quot;:&quot;0&quot;,&quot;copyright&quot;:&quot;&quot;,&quot;focal_length&quot;:&quot;0&quot;,&quot;iso&quot;:&quot;0&quot;,&quot;shutter_speed&quot;:&quot;0&quot;,&quot;title&quot;:&quot;&quot;,&quot;orientation&quot;:&quot;0&quot;}\" data-image-title=\"image07-1\" data-image-description=\"\" data-image-caption=\"\" data-large-file=\"https:\/\/i0.wp.com\/blexin.com\/wp-content\/uploads\/2020\/12\/image07-1.png?fit=837%2C666&amp;ssl=1\" src=\"https:\/\/i0.wp.com\/blexin.com\/wp-content\/uploads\/2020\/12\/image07-1.png?resize=837%2C666&#038;ssl=1\" alt=\"\" class=\"wp-image-26644\" srcset=\"https:\/\/blexin.com\/wp-content\/uploads\/2020\/12\/image07-1.png 837w, https:\/\/blexin.com\/wp-content\/uploads\/2020\/12\/image07-1-480x382.png 480w\" sizes=\"auto, (min-width: 0px) and (max-width: 480px) 480px, (min-width: 481px) 837px, 100vw\" \/><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\">For statistical purposes, we create some graphs of products grouped by category, brand, using simple vertical bar graphs. We get results similar to:<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img data-recalc-dims=\"1\" loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"504\" src=\"https:\/\/i0.wp.com\/blexin.com\/wp-content\/uploads\/2020\/12\/image08-1.png?resize=1024%2C504&#038;ssl=1\" alt=\"\" class=\"wp-image-26646\" srcset=\"https:\/\/blexin.com\/wp-content\/uploads\/2020\/12\/image08-1-980x482.png 980w, https:\/\/blexin.com\/wp-content\/uploads\/2020\/12\/image08-1-480x236.png 480w\" sizes=\"auto, (min-width: 0px) and (max-width: 480px) 480px, (min-width: 481px) and (max-width: 980px) 980px, (min-width: 981px) 1024px, 100vw\" \/><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\">You can also add filters to this view. For example, in our case, we want to see only products available in the store, so we type&nbsp;<code>quantity &gt; 0<\/code>&nbsp;in the filter bar. We click then on the Save button to save our view.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Another useful visualization is that of products by price range. In this case, we define buckets in the price field and use them for a pie chart. Let\u2019s divide the products by the following price ranges:<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><code>0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;50<br>50&nbsp;&nbsp;&nbsp;&nbsp;100<br>100&nbsp;&nbsp;&nbsp;200<br>200&nbsp;&nbsp;&nbsp;400<br>400&nbsp;&nbsp;&nbsp;800<br>800<\/code><\/p>\n\n\n\n<p class=\"wp-block-paragraph\">We can get a result similar to the following:<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img data-recalc-dims=\"1\" loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"514\" src=\"https:\/\/i0.wp.com\/blexin.com\/wp-content\/uploads\/2020\/12\/image09.png?resize=1024%2C514&#038;ssl=1\" alt=\"\" class=\"wp-image-26648\" srcset=\"https:\/\/blexin.com\/wp-content\/uploads\/2020\/12\/image09-980x492.png 980w, https:\/\/blexin.com\/wp-content\/uploads\/2020\/12\/image09-480x241.png 480w\" sizes=\"auto, (min-width: 0px) and (max-width: 480px) 480px, (min-width: 481px) and (max-width: 980px) 980px, (min-width: 981px) 1024px, 100vw\" \/><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\">We can also add some sub-buckets to have aggregated data and a nested visualization.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">In the Maps section, we can use Elastic Maps (multilayer maps) to show georeferenced data.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">We can click on the Add layer to add data to our index by selecting which field contains georeferences info (in our case&nbsp;<code>geoIp.location<\/code>).<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img data-recalc-dims=\"1\" loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"368\" src=\"https:\/\/i0.wp.com\/blexin.com\/wp-content\/uploads\/2020\/12\/image10.png?resize=1024%2C368&#038;ssl=1\" alt=\"\" class=\"wp-image-26650\" srcset=\"https:\/\/blexin.com\/wp-content\/uploads\/2020\/12\/image10-980x353.png 980w, https:\/\/blexin.com\/wp-content\/uploads\/2020\/12\/image10-480x173.png 480w\" sizes=\"auto, (min-width: 0px) and (max-width: 480px) 480px, (min-width: 481px) and (max-width: 980px) 980px, (min-width: 981px) 1024px, 100vw\" \/><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\">Once we created all the views needed, we move on to our first Dashboard. This last is a set of views, searches, and maps, usually updated in real-time, which provides high-level information on the index data.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">In the Dashboard section, let\u2019s click on Create a new dashboard, then to Add and select the created views:<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img data-recalc-dims=\"1\" loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"376\" src=\"https:\/\/i0.wp.com\/blexin.com\/wp-content\/uploads\/2020\/12\/image11.png?resize=1024%2C376&#038;ssl=1\" alt=\"\" class=\"wp-image-26653\" srcset=\"https:\/\/blexin.com\/wp-content\/uploads\/2020\/12\/image11-1024x376.png 1024w, https:\/\/blexin.com\/wp-content\/uploads\/2020\/12\/image11-980x360.png 980w, https:\/\/blexin.com\/wp-content\/uploads\/2020\/12\/image11-480x176.png 480w\" sizes=\"auto, (min-width: 0px) and (max-width: 480px) 480px, (min-width: 481px) and (max-width: 980px) 980px, (min-width: 981px) 1024px, 100vw\" \/><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\">Let\u2019s add them all and arrange them on the dashboard layout. We can obtain such a result:<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img data-recalc-dims=\"1\" loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"503\" src=\"https:\/\/i0.wp.com\/blexin.com\/wp-content\/uploads\/2020\/12\/image12.png?resize=1024%2C503&#038;ssl=1\" alt=\"\" class=\"wp-image-26655\" srcset=\"https:\/\/blexin.com\/wp-content\/uploads\/2020\/12\/image12-980x481.png 980w, https:\/\/blexin.com\/wp-content\/uploads\/2020\/12\/image12-480x236.png 480w\" sizes=\"auto, (min-width: 0px) and (max-width: 480px) 480px, (min-width: 481px) and (max-width: 980px) 980px, (min-width: 981px) 1024px, 100vw\" \/><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\">Dashboards can be filtered through KQL queries, and the view is always dynamic. We can also share and integrate them within our Web applications through iframes. If we click on Share -&gt; Copy Iframe Code we will get such a link:<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><code>&lt;iframe src=\"http:\/\/localhost:5601\/app\/kibana#\/dashboard?embed=true\" height=\"600\" width=\"800\"&gt;&lt;\/iframe&gt;<\/code><\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Another interesting feature of Kibana is Canvas. It deals with a tool for viewing and presenting data that show real-time data and combines them with colors, images, and text to create dynamic views.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">In the Canvas section, let\u2019s click on Create workpad and start adding the metrics. In our case, we set parameters for the products and available items, brands, and categories, a pie chart for the brand-category pair and an average of the prices of the items by brand.<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img data-recalc-dims=\"1\" loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"555\" src=\"https:\/\/i0.wp.com\/blexin.com\/wp-content\/uploads\/2020\/12\/image13.png?resize=1024%2C555&#038;ssl=1\" alt=\"\" class=\"wp-image-26657\" srcset=\"https:\/\/blexin.com\/wp-content\/uploads\/2020\/12\/image13-980x531.png 980w, https:\/\/blexin.com\/wp-content\/uploads\/2020\/12\/image13-480x260.png 480w\" sizes=\"auto, (min-width: 0px) and (max-width: 480px) 480px, (min-width: 481px) and (max-width: 980px) 980px, (min-width: 981px) 1024px, 100vw\" \/><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\">Once created, the workpad can be shared as a JSON file or downloaded as a PDF report.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Other interesting features are:<\/p>\n\n\n\n<ul class=\"wp-block-list\"><li>Machine Learning: allows you to check anomalies in the data and create new indexes with normalized data;<\/li><li>Graph: enables you to view the connections between the indexed objects;<\/li><li>Logs: is used to view and manage the log data of our applications, and possibly check anomalies in real-time:<\/li><li>REST API: allows you to communicate via HTTP with the Kibana engine and manage our dashboards;<\/li><li>APM: allows you to monitor services, applications and related performances in real-time;<\/li><li>Dev Tools: a set of tools for interacting with data, including the console and a search profiler.<\/li><\/ul>\n\n\n\n<h2 class=\"wp-block-heading\"><strong>Conclusions<\/strong><\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">In this article, we showed you how to use Kibana to process, manage, and get the best from the ElasticSearch engine.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">We wish we raised your interest in the topic.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">The sample project with the code used in this article is available here:&nbsp;<a href=\"https:\/\/github.com\/enricobencivenga\/ProductElasticSearchAdvanced\" target=\"_blank\" rel=\"noreferrer noopener\">https:\/\/github.com\/enricobencivenga\/ProductElasticSearchAdvanced<\/a>.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">See you at the next article!<\/p>\n\n\n\n\n","protected":false},"excerpt":{"rendered":"<p>Let&#8217;s see how creating dashboards starting from data in elasticsearch using kibana<\/p>\n","protected":false},"author":196716247,"featured_media":26625,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"_et_pb_use_builder":"off","_et_pb_old_content":"","_et_gb_content_width":"","_coblocks_attr":"","_coblocks_dimensions":"","_coblocks_responsive_height":"","_coblocks_accordion_ie_support":"","_crdt_document":"","inline_featured_image":false,"_jetpack_newsletter_access":"","_jetpack_dont_email_post_to_subs":false,"_jetpack_newsletter_tier_id":0,"_jetpack_memberships_contains_paywalled_content":false,"_jetpack_feature_clip_id":0,"_jetpack_memberships_contains_paid_content":false,"footnotes":"","jetpack_publicize_message":"","jetpack_publicize_feature_enabled":true,"jetpack_social_post_already_shared":true,"jetpack_social_options":{"image_generator_settings":{"template":"highway","default_image_id":0,"font":"","enabled":false},"version":2},"_wpas_customize_per_network":false,"jetpack_post_was_ever_published":false},"categories":[688637524],"tags":[688637421,688637542,688637422,688637416,688637384,688637423],"class_list":["post-26661","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-blog-en","tag-net-en","tag-dotnetcore-en","tag-asp-net-en","tag-asp-net-core-en","tag-c-en","tag-elasticsearch-en"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v27.6 - https:\/\/yoast.com\/product\/yoast-seo-wordpress\/ -->\n<title>How to create dashboards with ElasticSearch and Kibana - Blexin<\/title>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/blexin.com\/en\/blog-en\/lets-see-how-creating-dashboards-starting-from-data-in-elasticsearch-using-kibana\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"How to create dashboards with ElasticSearch and Kibana - Blexin\" \/>\n<meta property=\"og:description\" content=\"Let&#039;s see how creating dashboards starting from data in elasticsearch using kibana\" \/>\n<meta property=\"og:url\" content=\"https:\/\/blexin.com\/en\/blog-en\/lets-see-how-creating-dashboards-starting-from-data-in-elasticsearch-using-kibana\/\" \/>\n<meta property=\"og:site_name\" content=\"Blexin\" \/>\n<meta property=\"article:published_time\" content=\"2020-06-02T22:00:00+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2021-06-16T16:08:21+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/i2.wp.com\/blexin.com\/wp-content\/uploads\/2020\/12\/373498f4-a70c-4b29-af40-53d04d496510.png?fit=1024%2C608&ssl=1\" \/>\n\t<meta property=\"og:image:width\" content=\"1024\" \/>\n\t<meta property=\"og:image:height\" content=\"608\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/png\" \/>\n<meta name=\"author\" content=\"Enrico Bencivenga\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"Enrico Bencivenga\" \/>\n\t<meta name=\"twitter:label2\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data2\" content=\"9 minutes\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\\\/\\\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\\\/\\\/blexin.com\\\/en\\\/blog-en\\\/lets-see-how-creating-dashboards-starting-from-data-in-elasticsearch-using-kibana\\\/#article\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/blexin.com\\\/en\\\/blog-en\\\/lets-see-how-creating-dashboards-starting-from-data-in-elasticsearch-using-kibana\\\/\"},\"author\":{\"name\":\"Enrico Bencivenga\",\"@id\":\"https:\\\/\\\/blexin.com\\\/en\\\/#\\\/schema\\\/person\\\/74e4443d1d7ad12d5b4a8db7f63f0194\"},\"headline\":\"How to create dashboards with ElasticSearch and Kibana\",\"datePublished\":\"2020-06-02T22:00:00+00:00\",\"dateModified\":\"2021-06-16T16:08:21+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\\\/\\\/blexin.com\\\/en\\\/blog-en\\\/lets-see-how-creating-dashboards-starting-from-data-in-elasticsearch-using-kibana\\\/\"},\"wordCount\":1119,\"image\":{\"@id\":\"https:\\\/\\\/blexin.com\\\/en\\\/blog-en\\\/lets-see-how-creating-dashboards-starting-from-data-in-elasticsearch-using-kibana\\\/#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/i0.wp.com\\\/blexin.com\\\/wp-content\\\/uploads\\\/2020\\\/12\\\/373498f4-a70c-4b29-af40-53d04d496510.png?fit=1024%2C608&ssl=1\",\"keywords\":[\".Net\",\".NetCore\",\"Asp.net\",\"Asp.net core\",\"C#\",\"Elasticsearch\"],\"articleSection\":[\"Blog\"],\"inLanguage\":\"en-US\"},{\"@type\":\"WebPage\",\"@id\":\"https:\\\/\\\/blexin.com\\\/en\\\/blog-en\\\/lets-see-how-creating-dashboards-starting-from-data-in-elasticsearch-using-kibana\\\/\",\"url\":\"https:\\\/\\\/blexin.com\\\/en\\\/blog-en\\\/lets-see-how-creating-dashboards-starting-from-data-in-elasticsearch-using-kibana\\\/\",\"name\":\"How to create dashboards with ElasticSearch and Kibana - Blexin\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/blexin.com\\\/en\\\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\\\/\\\/blexin.com\\\/en\\\/blog-en\\\/lets-see-how-creating-dashboards-starting-from-data-in-elasticsearch-using-kibana\\\/#primaryimage\"},\"image\":{\"@id\":\"https:\\\/\\\/blexin.com\\\/en\\\/blog-en\\\/lets-see-how-creating-dashboards-starting-from-data-in-elasticsearch-using-kibana\\\/#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/i0.wp.com\\\/blexin.com\\\/wp-content\\\/uploads\\\/2020\\\/12\\\/373498f4-a70c-4b29-af40-53d04d496510.png?fit=1024%2C608&ssl=1\",\"datePublished\":\"2020-06-02T22:00:00+00:00\",\"dateModified\":\"2021-06-16T16:08:21+00:00\",\"author\":{\"@id\":\"https:\\\/\\\/blexin.com\\\/en\\\/#\\\/schema\\\/person\\\/74e4443d1d7ad12d5b4a8db7f63f0194\"},\"breadcrumb\":{\"@id\":\"https:\\\/\\\/blexin.com\\\/en\\\/blog-en\\\/lets-see-how-creating-dashboards-starting-from-data-in-elasticsearch-using-kibana\\\/#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\\\/\\\/blexin.com\\\/en\\\/blog-en\\\/lets-see-how-creating-dashboards-starting-from-data-in-elasticsearch-using-kibana\\\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\\\/\\\/blexin.com\\\/en\\\/blog-en\\\/lets-see-how-creating-dashboards-starting-from-data-in-elasticsearch-using-kibana\\\/#primaryimage\",\"url\":\"https:\\\/\\\/i0.wp.com\\\/blexin.com\\\/wp-content\\\/uploads\\\/2020\\\/12\\\/373498f4-a70c-4b29-af40-53d04d496510.png?fit=1024%2C608&ssl=1\",\"contentUrl\":\"https:\\\/\\\/i0.wp.com\\\/blexin.com\\\/wp-content\\\/uploads\\\/2020\\\/12\\\/373498f4-a70c-4b29-af40-53d04d496510.png?fit=1024%2C608&ssl=1\",\"width\":1024,\"height\":608},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\\\/\\\/blexin.com\\\/en\\\/blog-en\\\/lets-see-how-creating-dashboards-starting-from-data-in-elasticsearch-using-kibana\\\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\\\/\\\/blexin.com\\\/en\\\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"How to create dashboards with ElasticSearch and Kibana\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\\\/\\\/blexin.com\\\/en\\\/#website\",\"url\":\"https:\\\/\\\/blexin.com\\\/en\\\/\",\"name\":\"Blexin\",\"description\":\"Con noi \u00e8 semplice\",\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\\\/\\\/blexin.com\\\/en\\\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"en-US\"},{\"@type\":\"Person\",\"@id\":\"https:\\\/\\\/blexin.com\\\/en\\\/#\\\/schema\\\/person\\\/74e4443d1d7ad12d5b4a8db7f63f0194\",\"name\":\"Enrico Bencivenga\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/4ea7187309674789d6f02c6b757e1f21c8cf800abb2419b4edaa8b09d4c99548?s=96&d=identicon&r=g\",\"url\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/4ea7187309674789d6f02c6b757e1f21c8cf800abb2419b4edaa8b09d4c99548?s=96&d=identicon&r=g\",\"contentUrl\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/4ea7187309674789d6f02c6b757e1f21c8cf800abb2419b4edaa8b09d4c99548?s=96&d=identicon&r=g\",\"caption\":\"Enrico Bencivenga\"},\"url\":\"https:\\\/\\\/blexin.com\\\/en\\\/author\\\/enrico-bencivengablexin-com\\\/\"}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"How to create dashboards with ElasticSearch and Kibana - Blexin","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/blexin.com\/en\/blog-en\/lets-see-how-creating-dashboards-starting-from-data-in-elasticsearch-using-kibana\/","og_locale":"en_US","og_type":"article","og_title":"How to create dashboards with ElasticSearch and Kibana - Blexin","og_description":"Let's see how creating dashboards starting from data in elasticsearch using kibana","og_url":"https:\/\/blexin.com\/en\/blog-en\/lets-see-how-creating-dashboards-starting-from-data-in-elasticsearch-using-kibana\/","og_site_name":"Blexin","article_published_time":"2020-06-02T22:00:00+00:00","article_modified_time":"2021-06-16T16:08:21+00:00","og_image":[{"width":1024,"height":608,"url":"https:\/\/i2.wp.com\/blexin.com\/wp-content\/uploads\/2020\/12\/373498f4-a70c-4b29-af40-53d04d496510.png?fit=1024%2C608&ssl=1","type":"image\/png"}],"author":"Enrico Bencivenga","twitter_card":"summary_large_image","twitter_misc":{"Written by":"Enrico Bencivenga","Est. reading time":"9 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/blexin.com\/en\/blog-en\/lets-see-how-creating-dashboards-starting-from-data-in-elasticsearch-using-kibana\/#article","isPartOf":{"@id":"https:\/\/blexin.com\/en\/blog-en\/lets-see-how-creating-dashboards-starting-from-data-in-elasticsearch-using-kibana\/"},"author":{"name":"Enrico Bencivenga","@id":"https:\/\/blexin.com\/en\/#\/schema\/person\/74e4443d1d7ad12d5b4a8db7f63f0194"},"headline":"How to create dashboards with ElasticSearch and Kibana","datePublished":"2020-06-02T22:00:00+00:00","dateModified":"2021-06-16T16:08:21+00:00","mainEntityOfPage":{"@id":"https:\/\/blexin.com\/en\/blog-en\/lets-see-how-creating-dashboards-starting-from-data-in-elasticsearch-using-kibana\/"},"wordCount":1119,"image":{"@id":"https:\/\/blexin.com\/en\/blog-en\/lets-see-how-creating-dashboards-starting-from-data-in-elasticsearch-using-kibana\/#primaryimage"},"thumbnailUrl":"https:\/\/i0.wp.com\/blexin.com\/wp-content\/uploads\/2020\/12\/373498f4-a70c-4b29-af40-53d04d496510.png?fit=1024%2C608&ssl=1","keywords":[".Net",".NetCore","Asp.net","Asp.net core","C#","Elasticsearch"],"articleSection":["Blog"],"inLanguage":"en-US"},{"@type":"WebPage","@id":"https:\/\/blexin.com\/en\/blog-en\/lets-see-how-creating-dashboards-starting-from-data-in-elasticsearch-using-kibana\/","url":"https:\/\/blexin.com\/en\/blog-en\/lets-see-how-creating-dashboards-starting-from-data-in-elasticsearch-using-kibana\/","name":"How to create dashboards with ElasticSearch and Kibana - Blexin","isPartOf":{"@id":"https:\/\/blexin.com\/en\/#website"},"primaryImageOfPage":{"@id":"https:\/\/blexin.com\/en\/blog-en\/lets-see-how-creating-dashboards-starting-from-data-in-elasticsearch-using-kibana\/#primaryimage"},"image":{"@id":"https:\/\/blexin.com\/en\/blog-en\/lets-see-how-creating-dashboards-starting-from-data-in-elasticsearch-using-kibana\/#primaryimage"},"thumbnailUrl":"https:\/\/i0.wp.com\/blexin.com\/wp-content\/uploads\/2020\/12\/373498f4-a70c-4b29-af40-53d04d496510.png?fit=1024%2C608&ssl=1","datePublished":"2020-06-02T22:00:00+00:00","dateModified":"2021-06-16T16:08:21+00:00","author":{"@id":"https:\/\/blexin.com\/en\/#\/schema\/person\/74e4443d1d7ad12d5b4a8db7f63f0194"},"breadcrumb":{"@id":"https:\/\/blexin.com\/en\/blog-en\/lets-see-how-creating-dashboards-starting-from-data-in-elasticsearch-using-kibana\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/blexin.com\/en\/blog-en\/lets-see-how-creating-dashboards-starting-from-data-in-elasticsearch-using-kibana\/"]}]},{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/blexin.com\/en\/blog-en\/lets-see-how-creating-dashboards-starting-from-data-in-elasticsearch-using-kibana\/#primaryimage","url":"https:\/\/i0.wp.com\/blexin.com\/wp-content\/uploads\/2020\/12\/373498f4-a70c-4b29-af40-53d04d496510.png?fit=1024%2C608&ssl=1","contentUrl":"https:\/\/i0.wp.com\/blexin.com\/wp-content\/uploads\/2020\/12\/373498f4-a70c-4b29-af40-53d04d496510.png?fit=1024%2C608&ssl=1","width":1024,"height":608},{"@type":"BreadcrumbList","@id":"https:\/\/blexin.com\/en\/blog-en\/lets-see-how-creating-dashboards-starting-from-data-in-elasticsearch-using-kibana\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/blexin.com\/en\/"},{"@type":"ListItem","position":2,"name":"How to create dashboards with ElasticSearch and Kibana"}]},{"@type":"WebSite","@id":"https:\/\/blexin.com\/en\/#website","url":"https:\/\/blexin.com\/en\/","name":"Blexin","description":"Con noi \u00e8 semplice","potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/blexin.com\/en\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"en-US"},{"@type":"Person","@id":"https:\/\/blexin.com\/en\/#\/schema\/person\/74e4443d1d7ad12d5b4a8db7f63f0194","name":"Enrico Bencivenga","image":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/secure.gravatar.com\/avatar\/4ea7187309674789d6f02c6b757e1f21c8cf800abb2419b4edaa8b09d4c99548?s=96&d=identicon&r=g","url":"https:\/\/secure.gravatar.com\/avatar\/4ea7187309674789d6f02c6b757e1f21c8cf800abb2419b4edaa8b09d4c99548?s=96&d=identicon&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/4ea7187309674789d6f02c6b757e1f21c8cf800abb2419b4edaa8b09d4c99548?s=96&d=identicon&r=g","caption":"Enrico Bencivenga"},"url":"https:\/\/blexin.com\/en\/author\/enrico-bencivengablexin-com\/"}]}},"jetpack_publicize_connections":[],"jetpack_featured_media_url":"https:\/\/i0.wp.com\/blexin.com\/wp-content\/uploads\/2020\/12\/373498f4-a70c-4b29-af40-53d04d496510.png?fit=1024%2C608&ssl=1","jetpack_shortlink":"https:\/\/wp.me\/pcyUBx-6W1","jetpack_sharing_enabled":true,"_links":{"self":[{"href":"https:\/\/blexin.com\/en\/wp-json\/wp\/v2\/posts\/26661","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/blexin.com\/en\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/blexin.com\/en\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/blexin.com\/en\/wp-json\/wp\/v2\/users\/196716247"}],"replies":[{"embeddable":true,"href":"https:\/\/blexin.com\/en\/wp-json\/wp\/v2\/comments?post=26661"}],"version-history":[{"count":9,"href":"https:\/\/blexin.com\/en\/wp-json\/wp\/v2\/posts\/26661\/revisions"}],"predecessor-version":[{"id":33173,"href":"https:\/\/blexin.com\/en\/wp-json\/wp\/v2\/posts\/26661\/revisions\/33173"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/blexin.com\/en\/wp-json\/wp\/v2\/media\/26625"}],"wp:attachment":[{"href":"https:\/\/blexin.com\/en\/wp-json\/wp\/v2\/media?parent=26661"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/blexin.com\/en\/wp-json\/wp\/v2\/categories?post=26661"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/blexin.com\/en\/wp-json\/wp\/v2\/tags?post=26661"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}