ASP.NET Core之OpenTelemetry、SEQ構建視覺化日誌

tuqunfu發表於2024-06-15

一、前言

  在上兩個章節,我們介紹使用文字檔案記錄日誌、並且學習了OpenTelemetry在日誌、監控、鏈路上的可觀測性、標準化高效元件。所以本章基於上述內容來學習,構建視覺化的日誌,日誌管理的無非包括日誌來源、日誌採集、日誌過濾、日誌儲存、日誌視覺化、日誌的搜尋功能。透過各種元件的組合滿足上述功能,服務於分散式或者微服務系統構建高效的日誌管理體系,從而滿足業務或者開發人員開發、除錯、運維繫統需求。

二、SEQ

  在基於OpenTelemetry+SEQ+ASP.NET Core的Microsoft.Extensions.Logging前先來熟悉SEQ。1、SEQ是一個平臺,Seq是一個用於結構化應用程式日誌和跟蹤的實時搜尋和分析伺服器。其精心設計的使用者介面、JSON事件儲存和熟悉的查詢語言使其成為檢測和診斷複雜應用程式和微服務中問題的高效平臺。2、Seq是自託管的,在Windows或Docker/Linux下執行。您可以將Seq部署到自己的基礎設施中,也可以輕鬆地在任何公共雲中啟動例項。3、應用程式遙測可以從各種日誌庫和協議中獲取。警報和通知可以傳送到各種各樣的輸出。而且,輸入和輸出外掛都可以用任何語言或使用編寫。NET應用程式SDK。

  透過上述架構圖,SEQ是處於一個核心位置,圍繞SEQ來收集從Applicationn傳輸來的結構化日誌(Log data);Seq使用JSON事件儲存的方式進行儲存並且在獲取資料;開發或者運維使用透過提供的視覺化介面,使用SQL語句便捷的查詢相關日誌資料;提供多種方式進行通知提醒功能。

三、實踐

四、總結

相關文章