具有可觀察性的演進作業

已完成
深入了解系統、衍生深入解析,並做出數據驅動決策。

建置一種文化特性,藉由監視工作負載並納入 Azure 架構架構的所有要素,來持續改善品質。 藉由提供必要的數據、統計數據和趨勢,讓小組和專案關係人能夠跨許多面向做出短期和長期決策。 從您的數據中學習並推動改善。

基於可觀察性目的而建置的作業,是主動維護應用程式、品質和安全性保證、容量規劃和產品管理的關鍵。

應用程式監視的重要層面是使用健康情況模型,協助您在問題成為事件並影響客戶體驗之前預期問題。 有效率的監視可減少在事件管理上花費的響應迴圈。

範例案例

Contoso 開發了一個應用程式供內部使用,稱為 Contoso Real Estate。 此 Web 應用程式可讓新進員工或現有員工搬遷,以搜尋並保留短期住房,以協助其搬遷。 Contoso 的人力資源部門也會使用應用程式來協助搬遷。

應用程式在生產環境中,且完全部署在 Azure 中。 其是以使用 Azure Container Apps 的微服務為基礎,也使用 Azure Functions、適用於 PostrgreSQL 的 Azure 資料庫、Azure Blob 儲存體 和 Azure 監視器。

透過遙測觀察您的工作負載

從應用程式程式代碼發出遙測,以將執行流程的關鍵點相互關聯,並提供不同層級數據粒度的端對端檢視。

根據嚴重性層級排定動作的優先順序,並了解內容的詳細資訊。 這項信息對於疑難解答而言非常重要。

Contoso 的挑戰

  • 用戶報告,在 Contoso Real Estate 應用程式最近更新之後,他們偶爾會在 Web 應用程式的搜尋頁面上看到空白頁面或一般錯誤訊息。 如果使用者只是重新整理頁面或重新提交搜尋,則錯誤似乎是隨機的,而且搜尋功能通常有效。
  • 在搜尋微服務上檢閱記錄時,小組注意到由於連線到 適用於 PostgreSQL 的 Azure 資料庫 逾時而導致錯誤增加,但他們目前無法判斷他們在搜尋微服務記錄中看到的錯誤是否對應至使用者看到的錯誤頁面。

套用方法和結果

  • 開發小組已決定擴充他們從 Web 應用程式和核心微服務記錄的資訊,以深入了解問題。 在搜尋案例中,他們必須確保擷取搜尋字詞,以及其他可用的交易屬性,例如時間、用戶端IP和與搜尋相關聯的用戶名稱。 此額外數據應該提供足夠的資訊,以便讓交易在各層之間相互關聯。
  • 這項變更可讓小組確認在應用程式的最新更新中未正確處理的資料庫查詢逾時,是使用者遇到失敗的根本原因。 找到根本原因之後,小組就直接實作修正程式。
  • 小組現在正使用OpenTelemetry設計新的方法,以實作涵蓋所有解決方案層的更全面分散式追蹤解決方案。

在儀錶板中可視化監視數據

匯總和可視化儀錶板中的數據,以呈現符合物件需求並記住商務內容的監視數據。 使用案例儀錶板來呈現數據,以推動專案關係人之間的認知。 針對事件回應等操作員活動,使用操作儀錶板和活頁簿與向下切入功能。 經常重新整理儀錶板並提供細微的數據。

透過視覺效果,您可以分析趨勢、追蹤商務目標,以及管理事件。

針對客戶興趣量身打造的儀錶板會進行相關解譯,並加速偵測和動作的時間。

Contoso 的挑戰

  • 工作負載小組會將來自所有解決方案層的遙測數據匯總成單一 Log Analytics 工作區,可由作業和開發小組和其他專案項目關係人存取。 不過,與數據互動很困難且複雜,這讓需要辨別可採取動作數據的背景雜訊的小組成員感到沮喪。

套用方法和結果

  • 小組會著手使用儀錶板來匯總和可視化數據。 每個儀錶板都會針對特定物件量身打造:
    • 解決方案項目關係人的儀錶板將更具業務導向性,呈現解決方案整體健康情況的較高層級概觀,以及執行的用戶數目、搜尋和保留等商務指標。
    • 作業儀錶板和活頁簿將會有作業小組更詳細且更細微的數據。 這些儀錶板會有向下切入功能,可讓使用者以不同層級的數據粒度來探索數據。 用戶將能夠使用這些儀錶板和活頁簿來執行疑難解答和其他事件回應工作。
  • 儀錶板可讓使用者更有效地分析趨勢、追蹤商務目標及管理事件。 每個儀錶板上呈現的數據會與其預定物件更相關,並受到其興趣和需求所驅動。

設計健全的警示策略

使用標準化描述和嚴重性層級來通知責任角色,讓警示成為可採取動作。 提供從各種來源定序的資訊,並追蹤與商務目標的偏差。

只針對需要採取動作的事件觸發警示,並努力尋找主動式和有想法的警示,這些警示會在降級狀態變成失敗之前起始動作。 良好的警示系統可識別動作和嚴重性,並提供足夠的數據來提升清晰度和目的。 操作員可以在補救時啟動,而不會延遲。

Contoso 的挑戰

  • 當發生問題時,Azure 監視器會用來將警示傳送給作業小組。 不過,小組目前收到太多無關、不清楚或備援的警示。 這會導致警示疲勞,並影響小組的生產力,並導致一些重要警示不受注意。
  • 如果傳送警示預期失敗,也出現了一些可能已防止或最小化的中斷情況。 如果小組在發生中斷之前有較佳的警示,可能已避免這些情況。 例如,資料庫查詢處理時間的緩慢導致中斷。 針對中斷進行疑難解答時,小組注意到查詢處理效能會隨著時間緩慢降低,直到造成完全中斷為止,變得更糟和更糟。

套用方法和結果

  • 作業小組會啟動一項計劃,以清除所有造成警示疲勞的低優先順序警示。 只允許重要且可採取動作的警示保持作用中。 此外,小組會檢閱(並視需要加強)將保持作用中的警示,以確保它們包含足夠的內容,讓他們能夠採取必要的更正動作。
  • 他們還有機會定義新的主動式和可採取動作的警示,讓警示能夠在失敗發生之前採取動作。 例如,它們會產生新的警示,以在資料庫查詢效能出現一致的速度變慢時通知 DBA。
  • 在下一個步驟中,小組會研究自動化常見警示的回應,例如資料庫查詢效能的情況。

檢定您的知識

1.

Contoso 如何識別空白頁面問題的根本原因,以及某些使用者遇到的一般錯誤?

2.

下列哪一項是設計監視儀錶板的好方法?

3.

True 或 false:警示大多應該是參考性的。