一、ASP.NET Core WebApi如何設計一個日誌中間件?
ASP.NET Core WebApi一個良好的日誌記錄內容包含,唯一請求Id(traceId),請求url,請求body內容,相應body內容,執行開始和執行結束時間,總耗時時間等等。通過組合 Docker,ElasticSearch,Kibana,ASP.NET Core 和 Serilog ,您獲得了前所未有的便利性和功能,再也沒有理由不再將日誌記錄整合到應用程序中了。。
• 一句話總結今天我們學習到達的目標?
如何在ASP.NET Core使用Elasticsearch和Kibana 來存儲和展示我們應用程序的請求詳細日誌。
ElasticSearch 和 Kibana 改變了這一切。而 Docker 已經使 ElasticSearch 和 Kibana 的啓動和運行變得毫不費力。ElasticSearch 和 Kibana 提供的強大功能以及非常高的性能,再加上它是開源的,這真的令人印象非常深刻。
如果對本次分享課程《ASP.NET Core使用Elasticsearch記錄請求響應日誌實戰演練》感興趣的話,那麼請跟着阿笨一起學習吧。廢話不多說,直接上乾貨,我們不生產乾貨,我們只是乾貨的搬運工。
二、ASP.NET Core WebApi如何存儲應用程序請求相應日誌?
• 什麼是 ElasticSearch ?
簡單來說,ElasticSearch 是一個開源數據庫,非常適合索引日誌和分析數據。
• 什麼是 Serilog ?
Serilog 是 ASP.NET Core 的一個插件,可以簡化日誌記錄。Serilog 有各種可用的接收器,例如,有純文本、SQL 和 ElasticSearch 接收器等等。
三、使用Docker快速安裝Elasticsearch和Kibana
• 爲什麼我需要 ElasticSearch 和 Kibana ?
如果您曾經構建過應用程序,那麼你一定記錄過日誌。我們經常去記錄錯誤,但這些錯誤日誌存儲在服務器某處的文件文件裏,經常會無法被訪問。ElasticSearch 使任何類型的日誌記錄變得簡單,易於訪問和搜索。
ElasticSearch 令人難以置信的速度和簡單的查詢語言加上 Kibana 的圖形界面,構成了強大的組合。如果您還沒有使用 ElasticSearch 進行日誌記錄,我強烈建議您開始使用它。
四、ASP.NET Core WebApi如何友好的檢索和實時展示日誌?
1)、關於日誌的檢索,可以通過開啓服務端目錄訪問權限,方便進行檢索查到定位日誌。
• ASP.NET Core開啓目錄瀏覽 EnableDirectoryBrowsing = true
2)、關於日誌的實時展示,通過kibana工具來進行顯示和分析。
• 什麼是 Kibana ?
Kibana 是開源的 ElasticSearch 的數據可視化用戶界面。可以將 ElasticSearch 視爲數據庫,將Kibana 視爲 Web 用戶界面,您可以使用它在 ElasticSearch 中構建圖表和查詢數據
作者:阿笨
官方QQ羣:422315558 574187616 967920586
【網易雲課堂主頁】:https://study.163.com/provider/2544628/index.htm?share=2&shareId=2544628
【騰訊課堂主頁】:https://abennet.ke.qq.com/
【微信公衆號】:http://dwz.cn/ABenNET