使用 .NET Aspire 儀表板

已完成

記錄遙測資料之後,您需要一種方式來加以檢查。 透過 .NET Aspire,儀表板提供豐富的工具來調查遙測和診斷問題。

假設您任職於戶外設備零售商。 您在 .NET Aspire 雲端原生應用程式中使用 OpenTelemetry。 現在您要檢查遙測發出的資料,以決定是否可以將其用來改善效能。

在本單元中,您將了解 .NET Aspire 儀表板如何顯示遙測資料。

.NET Aspire 儀表板中的遙測

當您在開發電腦上啟動以 .NET Aspire 建置的應用程式,以及執行每個整合的容器時,.NET 會啟動 .NET Aspire 儀表板。 此 Web 介面有五個區段,其中四個區段會顯示遙測:

  • 資源:列出組成整個雲端原生應用程式的容器、專案和可執行檔。 使用 [端點] 資料行中的連結來連線到每個微服務。
  • [主控台]:顯示從您指定的整合傳送至標準輸出的文字。
  • 結構化記錄:顯示傳送至 OpenTelemetry 記錄器的資訊。
  • 追蹤:顯示應用程式中任何微服務所接收到每個要求的追蹤。
  • 計量:顯示可設定的時間網域圖形,其中顯示您選擇的計量會如何變化。

儀表板中的記錄

記錄的事件會描述您的應用程式啟動和執行時會發生什麼事。 您可以在儀表板中看到兩種類型的記錄資訊:主控台記錄和結構化記錄。

主控台記錄

主控台記錄會顯示應用程式已傳送至標準輸出的文字。 命令行程式會在主控台中顯示如行之類的文字,但微服務和備份服務沒有內建位置可顯示標準輸出。 .NET Aspire 可在儀表板中提供 [主控台記錄] 頁面來協助。

當您開啟頁面時,必須先選取來源整合,例如其中一個微服務。 此工具會在主視窗中顯示該來源的所有標準輸出,其中包含一些格式設定。 例如,資訊事件會以綠色顯示,而失敗則以紅色顯示。

主控台記錄只是文字行。 應用程式可以很容易建立及發出這些記錄,但人類卻很難以閱讀這些記錄,且難以就分析目的進行處理,因為這些記錄缺乏結構。

顯示 .NET Aspire 儀表板中主控台記錄的螢幕擷取畫面。

結構化記錄

結構化記錄會使用其範本和訊息參數來保留記錄的訊息,而不是一般文字。 此結構可讓您更輕鬆地篩選出無關的事件,以便向下鑽研來針對特定問題進行疑難排解。 在實際執行環境中,記錄可以保存、編製索引,然後像資料庫一樣查詢。 如此一來,您就可以對其所包含的資料執行豐富的分析。

注意

結構化記錄通常也稱為語意記錄。

在您的程式代碼中,使用 OpenTelemetry ILogger 物件將事件傳送至結構化記錄:

logger.Info("{shopitem} added to basket by {user}", "Ski goggles", "Kenny");

在 .NET 儀表板中,[結構化記錄] 頁面會顯示您應用程式中每個資源的事件。 若要向下鑽研,請選取您要疑難排解的資源,並使用 [篩選] 和 [層級] 方塊只顯示相關的事件。

顯示 .NET Aspire 儀表板中結構化記錄的螢幕擷取畫面。

儀表板中的分散式追蹤

追蹤是一種記錄,會描述如何處理要求並傳回給呼叫者。 每個追蹤都可能涉及呼叫應用程式中的多個整合。 例如,當使用者要求產品目錄網頁時,Web UI 微服務可能會收到要求,該要求可能會呼叫驗證微服務、目錄微服務和 Redis 快取後,再將網頁傳回給使用者。

顯示 .NET Aspire 儀表板中追蹤清單的螢幕擷取畫面。

每個追蹤都是由範圍所組成,例如對目錄微服務的呼叫。 系統會記錄每個範圍及其計時和父資訊,讓您可以查看哪個整合會快速回應,以及哪個整合會導致延遲。 每個範圍都有進一步的詳細資料。

顯示 .NET Aspire 儀表板中個別追蹤的螢幕擷取畫面。

類似於結構化記錄,您可以選取來源並套用篩選條件來向下鑽研,以及找出您所要診斷特定問題的追蹤。

儀表板中的計量

計量是隨時間變化的值,由您應用程式的整合記錄。 例如,計量可能會記錄要求和回應的持續時間,或目錄錄微服務的作用中連線計數。 有些計量內建於 .NET 中,有些則隨附於 OpenTelemetry SDK 程式庫,而開發人員可以新增其整合特有的自訂 OpenTelemetry 計量。

.NET Aspire 儀表板包含 [計量] 區段,可供您用來調查及顯示計量隨時間變化的方式。

例如,http.server.active_requests 計量會顯示在任何指定時間處理的要求數目:

顯示 .NET Aspire 儀表板中作用中要求計量圖表的螢幕擷取畫面。

http.server.request.duration 計量會顯示應用程式在任何指定時間的回應方式:

顯示 .NET Aspire 儀表板中要求持續時間計量圖表的螢幕擷取畫面。

在每個圖表下,您可以指定以圖形為目標的篩選條件。 例如,此圖表會顯示首頁路由要求的要求持續時間計量:

顯示 .NET Aspire 儀表板中已套用篩選條件的要求持續時間計量圖表的螢幕擷取畫面。

深入了解