監視 Azure Spring Apps 登陸區域加速器的作業
本文提供 Azure Spring Apps 中部署之 Spring Boot 應用程式的可觀察性考慮和建議。
組織可能會提供所有工作負載共用的集中式監視,或針對每個工作負載提供專用的 Azure 監視器 Log Analytics 工作區。 如果您依賴集中式資源,請確定應用程式小組成員可以使用其 Azure 角色型存取控制來存取記錄, (RBAC) 角色。
如需平臺設計的相關資訊,請參閱 工作負載管理和監視。
您可以布建自己的監視資源。 這種方法可讓應用程式小組更有自主性,並簡化應用程式的整體管理。 取捨可能會增加管理額外負荷。 Azure Spring Apps 登陸區域加速器和下列指引是以此方法為基礎。
設計考量
記錄和計量。 收集從應用程式和資源發出的記錄和計量。 記錄可提供工作負載作業的深入解析。 計量會定期收集,並提供近乎即時的深入解析。 記錄和計量有助於調查與資源健康情況和使用率相關的調查。
計量是調整決策的關鍵。 您可以允許應用程式根據計量閾值進行調整,或應用程式可以在特定時間範圍期間進行調整。
您應該考慮儲存此資料以供日後分析。 維持將資料視覺化的能力,以便快速找出趨勢。
檢測。 讓檢測能夠從應用程式產生更多可觀察性資料。 若要收集檢測資訊,請使用應用程式效能管理 (APM) 工具,例如 Azure 應用程式 Insights JAVA 代理程式。 結合平臺診斷與這項資訊,以提供增強的監視功能。
分散式追蹤。 實作分散式追蹤,以在 Azure Spring Apps 生態系統內取得不同服務的可觀察性。
警示。 應用程式小組必須收到工作負載重要事件的通知。 您可以根據計量設定監視資源的警示,例如儲存體、要求率和資料使用量。
健康情況探查。 您可以設定健康情況探查來偵測後端服務的健康情況。 檢閱健康情況探查的設定方式,讓要求路由傳送至狀況良好的實例,並確保應用程式在後端服務無法使用時正常終止。
設計建議
使用 Azure 監視器計量,將從受監視的資源發出的計量收集到時間序列資料庫。
針對 Azure Spring Apps,檢視每個應用程式概觀頁面和一般計量頁面的圖表。
使用 Azure Spring Apps 內的 [診斷設定] 頁面,為您的應用程式設定所需的診斷設定組合。
注意
記錄會延遲出現在儲存體帳戶、事件中樞或 Log Analytics 中。 如果 Spring 應用程式實例在該時間遭到刪除或移動,則應該刪除診斷設定,以確保具有相同資源識別碼的另一個應用程式不會重複使用相同的診斷設定。
在所有應用程式元件中使用 Application Insights 作為一致的應用程式效能監視 (APM) 工具來收集應用程式記錄、計量和追蹤。 它可以從所有相依性和追蹤收集資料,並能夠視覺化端對端交易。
Azure Spring Apps 可讓您將 Spring Cloud Resilience4J 計量收集到 Application Insights。 啟用 JAVA In-Process 代理程式,並設定維度集合以啟用此功能。
Azure Spring Apps 整合 Spring Cloud Sleuth 和 Zipkin 與 Application Insights。
選擇可讓您快速探索和註冊應用程式實例的服務探索機制。 這些選項會根據 Azure Spring Apps 層而有所不同。
使用整備和即時性探查,讓狀況不良的應用程式實例從服務探索功能中移除。
如果您的應用程式有較長的啟動時間,請將總逾
initialDelaySeconds + periodSeconds * failureThreshold
時時間調整為超過應用程式開始時間的值。 這項調整有助於避免探查失敗,並強制應用程式重新開機。設定健康情況探查,以根據應用程式特定命令、TCP 通訊端連線或 HTTP 要求採取動作。
針對 Spring Boot 應用程式,利用 Spring Boot 執行器健康情況指標來設定健康情況探查。