日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 编程语言 > asp.net >内容正文

asp.net

Asp.NET Core 如何使用ElasticSearch和Kibana创建仪表板

發(fā)布時間:2023/12/4 asp.net 35 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Asp.NET Core 如何使用ElasticSearch和Kibana创建仪表板 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

圖片

在我以前的文章(這里是第一[1]篇和第二篇[2])中,我展示了ElasticSearch作為電子商務(wù)中的全文搜索引擎的使用,一些高級配置的設(shè)置和使用以及products包含所有內(nèi)容的索引的創(chuàng)建保存的產(chǎn)品。

出于演示目的,我們使用Bogus庫來動態(tài)生成產(chǎn)品,并使用NEST庫來處理ElasticSearch索引上的CRUD。

我們的模型產(chǎn)品類定義為:

public class Product {public int Id { get; set; }public string Ean { get; set; }public string Name { get; set; }public string Description { get; set; }public Brand Brand { get; set; }public Category Category { get; set; }public Store Store { get; set; }public decimal Price { get; set; }public string Currency { get; set; }public int Quantity { get; set; }public float Rating { get; set; }public DateTime ReleaseDate { get; set; }public string Image { get; set; }public List<review> Reviews { get; set; } }

其中品牌,類別,商店,評論和用戶類別分別是:

public class Brand {public int Id { get; set; }public string Name { get; set; }public string Description { get; set; } }public class Category {public int Id { get; set; }public string Name { get; set; }public string Description { get; set; } }public class Store {public int Id { get; set; }public string Name { get; set; }public string Description { get; set; } }public class Review {public int Id { get; set; }public short Rating { get; set; }public string Description { get; set; }public User User { get; set; } }public class User {public int Id { get; set; }public string FirstName { get; set; }public string LastName { get; set; }public string IPAddress { get; set; }public GeoIp GeoIp { get; set; } }

GeoIP是NEST庫中用于地理數(shù)據(jù)的類。下一步是創(chuàng)建一個可以顯示產(chǎn)品的儀表板,并對產(chǎn)品進行所進行的研究以詳細(xì)介紹或減少高級統(tǒng)計信息。

我們決定使用Kibana[3],而不是開發(fā)耗時費力的定制解決方案。它處理作為ElasticSearch堆棧一部分的前端應(yīng)用程序,使我們可以查看數(shù)據(jù)并搜索所有索引數(shù)據(jù)并跟蹤查詢的負(fù)載。

Kibana還可以用于監(jiān)視,管理和保護同一堆棧。

圖片

要安裝和配置它,只需轉(zhuǎn)到頁面https://www.elastic.co/downloads/kibana。在這里,我們可以找到所有平臺的安裝程序,然后下載適合我們需求的安裝程序。

一旦下載并解壓縮到給定的文件夾(在我們的示例中為C:\ ElasticSearch \ Kibana)中,我們打開config / kibana.yml文件,并將elasticsearch.hosts參數(shù)設(shè)置為指向我們的ElasticSearch實例(對于本地版本http://本地主機:9200):

elasticsearch.hosts: ["http://localhost:9200"]

讓我們運行bin / kibana.bat并從瀏覽器頁面打開http:// localhost:5601。我們得到的頁面如下:

圖片

Kibana界面分為幾個部分。

在開源版本中,包括:發(fā)現(xiàn)(數(shù)據(jù)交互式探索),可視化(圖形,表格,標(biāo)簽中的數(shù)據(jù)分析),儀表板(復(fù)雜的數(shù)據(jù)視圖),畫布(文檔創(chuàng)建),地圖(地理參考數(shù)據(jù)分析),開發(fā)工具(處理和分析查詢的工具)和管理(索引和群集管理)。

我們還可以安裝X-Pack插件以使用“圖形”和“監(jiān)視”部分。

讓我們轉(zhuǎn)到管理-> Elasticsearch->索引管理部分,以驗證是否已正確檢測到Elasticsearch索引:

圖片

我們可以找到products索引并驗證其映射和與數(shù)據(jù)模型的匹配:

圖片

要創(chuàng)建一個Kibana索引,只需轉(zhuǎn)到“管理”部分->“ Kibana->索引模式”,然后輸入文本,即可將新索引鏈接到一個或多個ElasticSearch索引。

在本例中,我們鍵入products,以創(chuàng)建我們的Kibana索引。

圖片

創(chuàng)建索引后,可以在“發(fā)現(xiàn)”部分中按日期或一個或多個字段過濾數(shù)據(jù):

圖片

使用搜索欄,我們可以使用KQL語言(Kibana查詢語言)在產(chǎn)品之間進行查詢,這使您可以使用自動完成功能輕松查詢。例如,我們可以輸入:

category.name : Games AND rating > 0.5

了解游戲類別中所有評分高于0.5的產(chǎn)品。

您可以選擇一些字段并將其添加到“選定的字段”中,以便獲得自定義結(jié)果視圖。

添加索引并驗證查詢的正確性后,我們可以創(chuàng)建新的數(shù)據(jù)視圖。

可視化由各種類型的圖形(條形圖,蛋糕),表格,指標(biāo),指標(biāo)和標(biāo)簽云組成。當(dāng)然,它們支持?jǐn)?shù)據(jù)聚合。

在“可視化”部分,我們可以使用圖形來創(chuàng)建新的數(shù)據(jù)可視化。

圖片

出于統(tǒng)計目的,我們使用簡單的垂直條形圖創(chuàng)建了一些按類別,品牌分組的產(chǎn)品圖。我們得到的結(jié)果類似于:

圖片

您也可以向此視圖添加過濾器。例如,在我們的情況下,我們只想查看商店中可用的產(chǎn)品,因此我們quantity > 0在過濾器欄中鍵入。然后單擊“保存”按鈕以保存我們的視圖。

另一個有用的可視化是按價格范圍的產(chǎn)品視圖。在這種情況下,我們在價格字段中定義存儲桶,并將其用于餅圖。讓我們按以下價格范圍劃分產(chǎn)品:

0 50

50 100

100 200

200 400

400 800

800

我們可以得到類似于以下結(jié)果:

圖片

我們還可以添加一些子桶以具有聚合數(shù)據(jù)和嵌套的可視化效果。

在“地圖”部分中,我們可以使用“彈性地圖”(多層地圖)顯示地理參考數(shù)據(jù)。

我們可以單擊“添加”層,通過選擇包含地理參考信息的字段(在我們的示例中g(shù)eoIp.location)將數(shù)據(jù)添加到索引中。?

圖片

創(chuàng)建了所需的所有視圖后,我們將繼續(xù)執(zhí)行第一個儀表板。最后一個是一組視圖,搜索和地圖,通常實時更新,從而提供有關(guān)索引數(shù)據(jù)的高級信息。

在“儀表板”部分,讓我們單擊“創(chuàng)建新儀表板”,然后單擊“添加”并選擇創(chuàng)建的視圖:

圖片

讓我們?nèi)刻砑铀鼈儾⑺鼈兣帕性趦x表板布局上。我們可以獲得這樣的結(jié)果:

圖片

儀表板可以通過KQL查詢進行過濾,并且視圖始終是動態(tài)的。我們還可以通過iframe在Web應(yīng)用程序中共享和集成它們。如果點擊共享->復(fù)制iframe代碼,我們將獲得這樣的鏈接:

<iframe src="http://localhost:5601/app/kibana#/dashboard?embed=true" height="600" width="800"></iframe>

Kibana的另一個有趣功能是Canvas。它使用一種查看和呈現(xiàn)數(shù)據(jù)的工具來顯示實時數(shù)據(jù),并將其與顏色,圖像和文本結(jié)合在一起以創(chuàng)建動態(tài)視圖。

在“畫布”部分中,讓我們單擊“創(chuàng)建工作臺”,然后開始添加指標(biāo)。在我們的案例中,我們?yōu)楫a(chǎn)品和可用商品,品牌和類別設(shè)置參數(shù),為品牌-類別對設(shè)置餅圖,并按品牌劃分商品平均價格。

圖片

創(chuàng)建后,工作臺可以共享為JSON文件或下載為PDF報告。

其他有趣的功能是:

?機器學(xué)習(xí):允許您檢查數(shù)據(jù)中的異常并使用規(guī)范化數(shù)據(jù)創(chuàng)建新索引;?圖形:使您可以查看索引對象之間的連接;?日志:用于查看和管理我們應(yīng)用程序的日志數(shù)據(jù),并可能實時檢查異常情況:?REST API:允許您通過HTTP與Kibana引擎進行通信并管理我們的儀表板;?APM:允許您實時監(jiān)視服務(wù),應(yīng)用程序和相關(guān)性能;?開發(fā)工具:一組用于與數(shù)據(jù)進行交互的工具,包括控制臺和搜索分析器。

結(jié)論

在本文中,我們向您展示了如何使用Kibana來處理,管理和從ElasticSearch引擎中獲得最佳收益。

希望我們引起您對該主題的興趣。

此處提供了帶有本文中使用的代碼的示例項目:https[4]?:?//github.com/enricobencivenga/ProductElasticSearchAdvanced[5]

References

[1]?第一:?https://www.blexin.com/en-US/Article/Blog/How-to-integrate-ElasticSearch-in-ASPNET-Core-70
[2]?第二篇:?https://www.blexin.com/en-US/Article/Blog/ElasticSearch-advanced-features-80
[3]?Kibana:?https://www.elastic.co/kibana
[4]?https:?https://github.com/enricobencivenga/ProductElasticSearchAdvanced
[5]?//github.com/enricobencivenga/ProductElasticSearchAdvanced:?https://github.com/enricobencivenga/ProductElasticSearchAdvanced

總結(jié)

以上是生活随笔為你收集整理的Asp.NET Core 如何使用ElasticSearch和Kibana创建仪表板的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。