快速入門:使用記錄、計量和追蹤來監視 Azure Spring Apps 應用程式
注意
Azure Spring Apps 是 Azure Spring Cloud 服務的新名稱。 雖然服務有新的名稱,但是您暫時還是會在某些位置看到舊的名稱。我們正在致力更新螢幕擷取畫面、影片和圖表等資產。
本文適用於: ✔️ 基本/標準 ❌ 企業
透過 Azure Spring Apps 內建的監視功能,您就可以對複雜的問題進行偵錯和監視。 Azure Spring Apps 會整合 Steeltoe 分散式追蹤與 Azure 的 Application Insights。 這項整合可讓您從 Azure 入口網站獲得強大的記錄、計量和分散式追蹤功能。
下列程序說明如何搭配您在先前的快速入門中部署的範例應用程式來使用記錄串流、記錄分析、計量和分散式追蹤。
必要條件
完成此系列的前面幾個快速入門:
記錄
在 Azure Spring Apps 上查看記錄的方式有兩種:記錄串流是每個應用程式執行個體的即時記錄,或使用記錄分析查看具有進階查詢功能的彙總記錄。
記錄串流
在 Azure 入口網站中遵循下列步驟以串流記錄:
根據預設,記錄會開始串流隨機選取的應用程式執行個體。 之後,您可以選擇您的項目。
為了方便起見,串流記錄有許多進入點。 您可以在下列窗格中找到他們:
- [應用程式清單] 窗格
- [部署清單] 窗格
- [應用程式執行個體清單] 窗格
Log Analytics
在 Azure 入口網站中,移至 [服務 | 概觀] 頁面,並在 [監視] 區段中選取 [記錄]。 在 Azure Spring Apps 的其中一個範例查詢上選取 [執行]。
編輯查詢以移除會將顯示限制為警告和錯誤記錄的 Where 子句。
選取執行。 將顯示記錄。 如需詳細資訊,請參閱開始使用 Azure 監視器中的記錄查詢。
若要深入了解 Log Analytics 中使用的查詢語言,請參閱 Azure 監視器記錄查詢。 若要從集中式用戶端查詢所有 Log Analytics 記錄,請參閱 Azure 資料總管。
計量
在 Azure 入口網站中,移至 [服務 |概觀] 頁面,並在 [監視] 區段中選取 [計量]。 在 [計量] 下拉式清單中的 [效能 (.NET)] 或 [要求 (.NET)] 下選取其中一個 .NET 計量,以新增您的第一個計量,並在 [彙總] 中選取 [平均] 以查看該計量的時間軸。
在工具列中選取 [新增篩選],然後選取
App=solar-system-weather
,只查看 solar-system-weather 應用程式的 CPU 使用量。關閉在上一個步驟中建立的篩選,選取 [套用分割],然後針對 [值] 選取 [應用程式],以查看不同應用程式的 CPU 使用量。
分散式追蹤
透過 Azure Spring Apps 內建的監視功能,您就可以對複雜的問題進行偵錯和監視。 Azure Spring Apps 可整合 Spring Cloud Sleuth 與 Azure 的 Application Insights。 這項整合可讓您從 Azure 入口網站獲得強大的記錄、計量和分散式追蹤功能。 下列程序說明如何搭配已部署的 PetClinic 應用程式使用記錄串流、記錄分析、計量和分散式追蹤。
必要條件
完成此系列的前面幾個快速入門:
記錄
在 Azure Spring Apps 上查看記錄的方式有兩種:記錄串流是每個應用程式執行個體的即時記錄,或使用記錄分析查看具有進階查詢功能的彙總記錄。
記錄串流
在 Azure 入口網站中遵循下列步驟以串流記錄:
根據預設,記錄會開始串流隨機選取的應用程式執行個體。 之後,您可以選擇您的項目。
為了方便起見,串流記錄有許多進入點。 您可以在下列窗格中找到他們:
- [應用程式清單] 窗格
- [部署清單] 窗格
- [應用程式執行個體清單] 窗格
Log Analytics
移至 [服務 |總覽] 頁面,並在 [監視] 區段中選取 [記錄]。 在 Azure Spring Apps 的其中一個範例查詢上選取 [執行]。
然後會顯示篩選的記錄。 如需詳細資訊,請參閱開始使用 Azure 監視器中的記錄查詢。
計量
瀏覽至 [Application Insights] 頁面,然後瀏覽至 [計量] 頁面。 您可以查看 Spring Boot 應用程式、Spring 模組和相依性貢獻的計量。
下方圖表顯示 gateway_requests
(Spring Cloud Gateway)、hikaricp_connections
(JDBC 連線) 和 http_client_requests
。
Spring Boot 會註冊數個核心計量,包括 JVM、CPU、Tomcat 和 Logback。 Spring Boot 自動設定可檢測 Spring MVC 所處理的要求。 這三個 REST 控制器 (OwnerResource
、PetResource
和 VisitResource
) 都已由類別層級的 @Timed
Micrometer 註釋檢測。
customers-service
應用程式已啟用下列自訂計量:
- @Timed:
petclinic.owner
- @Timed:
petclinic.pet
visits-service
應用程式已啟用下列自訂計量:
- @Timed:
petclinic.visit
您可以在 [計量] 頁面中查看這些自訂計量:
您可以在 Application Insights 中使用可用性測試功能,並監視應用程式的可用性:
瀏覽至 [即時計量] 頁面,以查看低延遲的即時計量 (低於一秒):
追蹤
開啟 Azure Spring Apps 所建立的 Application Insights,並開始監視 Spring 應用程式。
瀏覽至 [應用程式對應] 頁面:
瀏覽至 [效能] 頁面:
瀏覽至 [相依性],您可以查看相依性的效能數字,特別是 SQL 呼叫:
選取 SQL 呼叫來查看端對端交易的內容:
瀏覽至 [失敗] 頁面和 [例外狀況] 索引標籤,您可以看到例外狀況的集合:
選取例外狀況來查看端對端交易和堆疊追蹤的內容:
清除資源
如果您打算繼續進行後續的快速入門和教學課程,您可以讓這些資源留在原處。 如果不再需要,請刪除資源群組,這會刪除資源群組中的資源。 若要使用 Azure CLI 刪除資源群組,請使用下列命令:
echo "Enter the Resource Group name:" &&
read resourceGroupName &&
az group delete --name $resourceGroupName &&
echo "Press [ENTER] to continue ..."
在先前的快速入門中,您也設定了預設的資源群組名稱。 如果您不打算繼續進行下一個快速入門,則請執行下列 CLI 命令來清除該預設值:
az config set defaults.group=
下一步
若要探索 Azure Spring Apps 的更多監視功能,請參閱: