Microsoft AZ-204: Azure 監視、診斷和 DevOps 整合 — 學習指南

屬於 Microsoft Azure Developer Associate AZ-204 — 學習指南. 使用經過驗證的解答練習: Microsoft 考試中心, 或參加限時模擬考試: ExamRoll.io.

總覽

Azure Monitor 與 Application Insights 為 Azure 應用程式提供了一個統一且以開發人員為中心的可觀測性堆疊。Application Insights 收集應用程式的遙測資料,例如請求、相依性、例外狀況與追蹤;而 Azure Monitor 則將跨資源的計量與日誌彙總到一個 Log Analytics 工作區,並驅動警示與 DevOps 整合。精通檢測選擇、遙測語意、可用性測試、Kusto 查詢語言 (KQL)、使用動作群組的警示、分散式追蹤,以及使用 ARM 範本的基礎設施即程式碼 (Infrastructure as Code),可確保解決方案的可靠性、可診斷性與可自動化性。

Application Insights 檢測與遙測

Application Insights 資源是透過檢測金鑰或連線字串來識別以進行資料擷取。檢測金鑰是舊版的單一 GUID,供 SDK 用於路由遙測資料。連線字串是目前的建議作法;它包含檢測金鑰以及端點中繼資料 (擷取與 Live Metrics 端點),並允許路由到非預設的端點 (適用於主權雲或私有雲)。在新的程式碼與組態中應使用連線字串;它讓未來的端點變更無需重新部署程式碼。在 App Service 中,於平台層級啟用 Application Insights 會將連線字串填入環境設定中,供自動偵測的執行階段使用。

檢測可透過 SDK 或自動檢測來完成。SDK 方法 (例如,.NET 的

undefined

、Node.js 的

undefined

,以及 Application Insights Java 代理程式) 提供程式碼層級的控制:可自訂事件、計量,並透過 TelemetryInitializers 與處理器 (包含自動調整取樣) 來豐富遙測資料。自動檢測 (無程式碼附加) 可用於 App Service 與某些運算堆疊,它使用網站擴充功能/代理程式來收集傳入的請求、相依性與例外狀況,無需任何程式碼變更。當您需要在背景作業中處理自訂事件、業務計量或明確的關聯性時,請使用 SDK 檢測;對於需要快速、低工作量可視性或隨即轉移 (lift-and-shift) 的工作負載,請使用無程式碼附加。在這兩種情況下,都應設定雲端角色名稱以在微服務架構中區分服務,並謹慎設定取樣以平衡精確度與成本。

Application Insights 會發出數種核心遙測類型:

undefined

捕捉自訂的、業務層級的事件,支援自訂維度與計數。

Application Insights 中的分散式追蹤關鍵在於關聯性。每個端對端作業都有一個作業 ID (在 W3C 術語中稱為追蹤 ID),在所有相關的遙測資料中共享;每個 span 都有透過傳播標頭強制執行的父子關係。現代的 SDK 使用 W3C Trace Context (traceparent, tracestate)。KQL 中的

undefined

將同一個異動的 Requests、Dependencies、Exceptions 與 Traces 連結起來。請確保傳出的 HTTP 用戶端會傳播標頭;對於 .NET,

undefined

與 AI SDK 會自動處理此問題。相依性追蹤會檢測常見的用戶端 (HTTP、SQL、Service Bus、Storage)。當服務跨越邊界 (例如,從 App Service 到 AKS) 時,一致的傳播會產生一個單一的連接異動地圖。對於非同步與基於訊息的流程,請確保 SDK 在訊息中繼資料中捕捉並傳遞關聯性 ID;大多數 Azure SDK 預設會這樣做。

可用性測試與綜合監控

可用性測試從多個地理位置驗證外部的可達性與回應能力。URL ping 測試會以設定的頻率從多個測試位置發出 HTTP 請求,並驗證狀態碼、SSL 健康狀況與可選的內容比對。使用重試與多個位置來減少誤報,並針對測試失敗設定警示以獲得可採取行動的通知。

多步驟可用性測試在過去會執行已錄製的、帶有狀態 cookie 的 HTTP 請求序列以驗證工作流程。傳統的多步驟 Web 測試已被淘汰;對於多重請求或需驗證的情境,請透過檢測您自己的用戶端或服務,使用

undefined

API (或 OpenTelemetry 匯出器) 來發出

undefined

,以實作綜合測試。這種方法允許自訂驗證、承載以及特定領域的驗證,同時保留集中式的報告與警示。

自訂

undefined

讓您能控制:

將可用性測試與後端的相依性及請求遙測資料結合,以快速區分端點可用性問題 (網路、DNS、TLS)、應用程式失敗 (例外狀況、逾時) 與下游服務中斷 (SQL、外部 API)。將可用性測試失敗連結到動作群組,以驅動事件工作流程。

使用 ARM 範本達成可監控性與可重複部署

Azure Resource Manager (ARM) 範本以程式碼形式宣告式地定義資源與監控組態。一個範本的結構包含:

使用連結或巢狀範本來組合複雜的部署。一個部署資源 (Microsoft.Resources/deployments) 透過 templateLink (外部 URI) 參考子範本,或將其內嵌。透過 parameters 或 parametersLink 傳遞參數物件,定義 dependsOn 以排序,並跨環境重複使用模組。透過 ARM 實現預設可監控性的範例如下:

採用條件與複製迴圈以實現可擴展的部署(例如,將診斷設定應用於一組資源 ID)。使用 ARM 函式,例如 resourceId、subscriptionResourceId、reference、concat 與 guid,來建立動態參考與穩定的名稱。透過 ARM 或 App Service 組態資源提供的應用程式設定,集中管理 role name 慣例與取樣,以保持跨服務的遙測組態一致性。

實務問題情境

Adobe 需要為一個建構在 Azure App Service API 和 AKS 微服務上的新多區域媒體處理管線,建立端到端的觀測能力。他們要求能快速偵測延遲衰退、跨服務的分散式追蹤、對公開端點進行主動的可用性檢查,以及將事件自動路由到其 on-call 系統,並具備基礎設施即程式碼的可重複性。

  1. 使用連接字串以 Application Insights 檢測服務
  1. 啟用分散式追蹤與相依性追蹤
  1. 實作可用性測試與自訂綜合檢查
  1. 將資料集中到 Log Analytics 工作區並路由平台日誌
  1. 建立帶有動作群組的指標與日誌警示
  1. 透過動作群組與 webhooks 整合事件回應
  1. 使用 ARM 範本將監控程式碼化
  1. 使用 KQL 儀表板進行驗證

Azure 快取、CDN 和效能 · 所有領域

練習這些題目 → · 在 ExamRoll.io 上限時練習 →

Pass the whole exam — not just this question

You found this answer. Get every verified question and explanation in one place, and save hours of prep. Free to start.

通過考試 →

瀏覽 Microsoft →

Related guides

一站式存取

一份訂閱。所有考試。

每個方案都可無限存取答案搜尋、練習測驗、AI 解釋和完整的資源庫 — 支援 20 多種語言。

每月
24.87
Just €0.83/day
包含所有內容:
  • 無限答案搜尋
  • 無限練習測驗
  • AI 驅動的解釋
  • 完整資源庫
  • 20 多種語言
  • 每週內容更新
  • 獎勵與推薦
  • 優先支援
開始免費試用

無需信用卡*

最佳價值
12 個月
179.87
Just €0.49/daySave 40%
包含所有內容:
  • 無限答案搜尋
  • 無限練習測驗
  • AI 驅動的解釋
  • 完整資源庫
  • 20 多種語言
  • 每週內容更新
  • 獎勵與推薦
  • 優先支援
開始免費試用

無需信用卡*

✓ 包含免費方案 · ✓ 隨時取消 · ✓ 所有方案解鎖完整產品