事件
Azure 監視器自動調整的最佳作法
本文提供 Azure 監視器記錄的架構最佳做法。 此指導方針是以 Azure Well-Architected Framework 中所述卓越的五大架構要素為基礎。
可靠性是指系統從失敗中復原並繼續運作的能力。 目標是儘量減少單一失敗元件的影響。 使用下列資訊將 Log Analytics 工作區的失敗降到最低,並保護其收集的資料。
Log Analytics 工作區提供高度的可靠性。 擷取管線將收集到的資料傳送到 Log Analytics 工作區,在從管線中移除記錄之前,驗證 Log Analytics 工作區是否成功處理了每條記錄。 如果擷取管線不可用,則傳送資料緩衝區並重試傳送記錄的代理程式將持續數小時。
Azure 監視器記錄提供了幾個功能,可以增強工作區對各種類型問題的韌性。 您可以根據需求單獨或組合使用這些功能。
此影片提供了 Log Analytics 工作區可用的可靠性和韌性選項之概觀:
每個支援可用性區域的 Azure 區域都有一組配備獨立電源、冷卻和網路基礎結構的資料中心。
Azure 監視器記錄可用性區域為 [備援],這表示 Microsoft 在支援的區域中跨不同區域散佈服務要求和複寫資料。 如果事件影響一個區域,Microsoft 將自動使用區域中的其他可用性區域。 由於區域之間的切換是無縫的,您不需要採取任何動作。
在大多數區域,Azure 監視器記錄可用性區域支援 [資料韌性],這表示您的已儲存資料受到保護,不會因區域失敗而造成資料外洩,但服務作業仍可能受區域事件的影響。 如果服務無法執行査詢,在問題解决之前,您將無法檢視記錄。
支援資料韌性的可用性區域的子集也支援 [服務韌性],這表示 Azure 監視器記錄服務作業 (例如記錄擷取、査詢和警示) 可以在區域發生失敗時繼續進行。
可用性區域可防止與基礎結構相關的事件,如儲存體失敗。 它們不能抵禦應用程式層級問題,如錯誤的程式碼部署或憑證失敗,這些問題會影響整個區域。
您可以 [將傳送到 Log Analytics 工作區中特定資料表的資料連續匯出] 到 Azure 儲存體帳戶。
您匯出資料的儲存體帳戶必須與 Log Analytics 工作區位於同一區域。 為了保護和存取您內嵌的記錄,即使工作區區域已關閉,也請使用 GRS 帳戶,如 [設定建議] 中所述。
匯出機制不能抵禦影響擷取管線或匯出流程本身的事件。
備註
您可以使用 [外部資料運算子] 從 Azure 監視器記錄存取儲存體帳戶中的資料。 然而,匯出的資料儲存在五分鐘 blob 中,分析跨越多個 blob 的資料可能很麻煩。 因此,將資料匯出到儲存體帳戶是一種很好的資料備份機制,但如果需要在 Azure 監視器記錄中進行分析,將資料備份在儲存體帳戶中並不理想。 您可以使用 [Azure Data Explorer]、[Azure Data Factory] 或任何其他儲存體存取工具査詢大量 blob 資料。
工作區複寫 (預覽) 是最廣泛的韌性解決方案,因為它將 Log Analytics 工作區和傳入記錄複寫到另一個區域。
工作區複寫保護您的記錄和服務作業,並允許您在發生與基礎結構或應用程式相關的全區域事件時繼續監視您的系統。
與 Microsoft 端對端管理的可用性區域不同,您需要監視主要工作區的健康情況,並决定何時切換到次要區域中的工作區以及何時切換回來。
- 為確保服務和資料對全區域事件的韌性,請啟用工作區複寫。
- 為了確保對資料中心失敗的區域內保護,請在支援可用性區域的區域中建立工作區。
- 對於特定資料表中的跨區域資料備份,請使用連續匯出功能將資料傳送到異地複寫的儲存體帳戶。
- 監視 Log Analytics 工作區的健康情況。
建議 | 優點 |
---|---|
為了確保最大程度的韌性,請啟用工作區複寫。 | 工作區資料和服務作業的跨區域韌性。 [工作區複寫 (預覽)] 透過在另一個區域建立工作區的次要執行個體並將記錄內嵌到兩個工作區來確保高可用性。 需要時,請切換至次要工作區,直到影響主要工作區的問題得到解决。 您可以在次要工作區中繼續内嵌記錄、査詢資料、使用儀表板、警示和 Sentinel。 您還可以存取在區域切換之前内嵌的記錄。 這是付費功能,因此請考慮是要複寫所有傳入記錄,還是只是一些資料流。 |
如果可能,請在支援 Azure 監視器服務韌性的區域中建立您的工作區。 | [資料中心發生問題時,工作區資料和服務作業的區域內韌性。] 支援服務韌性的可用性區域也支援資料韌性。 這表示,即使整個資料中心無法使用,區域之間的備援也允許 Azure 監視器服務作業 (如擷取和査詢) 以繼續運作,並且您内嵌的記錄保持可用。 可用性區域提供區域內保護,但不能抵禦影響整個區域的問題。 如需哪些區域支援資料韌性的資訊,請參閱 [使用可用性區域增強 Azure 監視器記錄中的資料和服務韌性]。 |
在支援資料韌性的區域中建立您的工作區。 | [在資料中心發生問題時,提供區域內保護,防止工作區中的記錄外洩]。 在支援資料韌性的區域中建立工作區表示,即使整個資料中心不可用,您内嵌的記錄也是安全的。 如果服務無法執行査詢,在問題解决之前,您將無法檢視記錄。 如需哪些區域支援資料韌性的資訊,請參閱 [使用可用性區域增強 Azure 監視器記錄中的資料和服務韌性]。 |
設定從特定資料表到跨區域複寫的儲存體帳戶之資料匯出。 | [在不同區域維護記錄資料的備份副本]。 Azure 監視器的資料匯出功能可讓您將傳送至特定資料表的資料連續匯出至 Azure 儲存體,以便保留一段時間。 使用 GRS 或異地區域備援儲存體 (GZRS) 帳戶來保護您的資料安全,即使整個區域變得無法使用。 若要使您的資料可以從其他區域讀取,請為您的儲存體帳戶設定次要區域的讀取存取。 如需詳細資訊,請參閱 [次要區域上的 Azure 儲存體備援] 和 [次要區域中資料的 Azure 儲存體讀取存取]。 對於 [不支援連續資料匯出的資料表],您可以使用其他匯出資料的方法,包括 Logic Apps,來保護您的資料。 這個解決方案主要是為了遵循資料保留合規性,因為該資料可能難以分析和還原至工作區。 資料匯出容易受到區域事件的影響,因為其依賴您區域中 Azure 監視器擷取管線的穩定性。 針對影響區域擷取管線的事件,該功能無法提供復原能力。 |
監視 Log Analytics 工作區的健康情況。 | 使用 Log Analytics 工作區深入解析來追蹤失敗的查詢,並建立健全狀態警示,以便在工作區因資料中心或區域性失敗而無法使用時主動通知您。 |
功能 | 服務復原能力 | 資料備份 | 高可用性 | 保護範圍 | 設定 | 成本 |
---|---|---|---|---|---|---|
工作區複寫 | ✅ | ✅ | ✅ | 跨區域保護,抵禦發生全區域事件 | 啟用工作區和相關資料收集規則的複寫。 根據需要在區域之間切換。 | 根據複寫的 GB 數量和區域。 |
可用性區域 | ✅ 在支援的區域內 |
✅ | ✅ | 針對資料中心問題的區域內保護 | 在支援的區域中自動啟用。 | 無成本 |
連續資料匯出 | ✅ | 抵禦因區域失敗導致的資料外洩 1 | 為每個資料表啟用。 | 資料導出 + 儲存體 Blob 或事件中樞的成本 |
1 如果將記錄匯出至異地複寫的儲存體帳戶,資料匯出將提供跨區域保護。 發生事件時,先前匯出的資料會備份並隨時可用;不過根據事件的性質不同,進一步匯出可能會失敗。
安全性是任何架構中最為重要的部分。 Azure 監視器提供了採用最低權限和深度防禦準則的功能。 使用下列資訊,將 Log Analytics 工作區的安全性最大化,並確保只有授權使用者能夠存取收集的資料。
- 設定工作區中不同類型資料的存取權,以對應要求組織中的不同角色。
- 使用 Azure 私人連結,從公用網路移除工作區的存取權。
- 設定記錄查詢稽核,以追蹤正在執行查詢的使用者。
- 確定稽核數據的不變性。
- 決定在工作區中篩選或混淆敏感資料的策略。
- 清除意外收集到的敏感資料。
- 將您的工作區連結至專用叢集,以取得增強的安全性功能,包括使用客戶管理的密鑰進行雙重加密,以及Microsoft Azure 的客戶加密箱,以核准或拒絕Microsoft數據存取要求。
- 使用傳輸層安全性 (TLS) 1.2 或更高版本,使用代理程式、連接器和記錄擷取 API 將數據傳送至您的工作區。
建議 | 優點 |
---|---|
設定工作區中不同類型資料的存取權,以對應要求組織中的不同角色。 | 將工作區的存取控制模式設定為 [使用資源或工作區權限],以允許資源擁有者使用資源內容來存取其資料,而不授與工作區的明確存取權。 這可簡化您的工作區設定,並協助確保使用者無法存取他們不應該存取的數據。 指派適當的內建角色以根據其責任範圍,將工作區權限授與訂用帳戶、資源群組或工作區層級的系統管理員。 針對 需要跨多個資源存取一組數據表的使用者套用數據表層級 RBAC 。 具有資料表權限的使用者無論其資源權限為何,都可以存取該資料表中的所有資料。 如需授與工作區中資料存取權的不同選項詳細資訊,請參閱管理對 Log Analytics 工作區的存取。 |
使用 Azure 私人連結,從公用網路移除工作區的存取權。 | 透過端對端加密來保護與公用端點的連線。 如果您需要私人端點,可以使用 Azure 私人連結,讓資源透過授權的私人網路連線到 Log Analytics 工作區。 私人連結還可以用於透過 ExpressRoute 或 VPN 強制擷取工作區資料。 請參閱設計您的 Azure Private Link 設定,以判斷您環境的最佳網路和 DNS 拓撲。 |
設定記錄查詢稽核,以追蹤正在執行查詢的使用者。 | 記錄查詢稽核會記錄工作區中所執行每個查詢的詳細資料。 系統會將此稽核資料視為安全性資料,並妥善保護 LAQueryLogs 資料表。 將每個工作區的稽核記錄設定為傳送至本機工作區,或如果您將作業和安全性資料分隔,請在專用的安全性工作區中合併。 使用 Log Analytics 工作區深入解析定期檢閱此資料,並考慮建立記錄搜尋警示規則,以便在未經授權的使用者嘗試執行查詢時主動通知您。 |
確定稽核數據的不變性。 | Azure 監視器是僅附加的資料平台,但包含為了合規性目的而刪除資料的條款。 讓您可在 Log Analytics 工作區設定鎖定,以封鎖所有可能刪除資料的活動:清除、資料表刪除以及資料表或工作區層級資料保留變更。 不過,這個鎖仍可移除。 如果您需要完全防竄改的解決方案,建議您 將數據匯出至不可變的記憶體解決方案。 使用資料匯出將資料傳送至具有不變性原則的 Azure 儲存體帳戶,以防止資料遭到竄改。 並非所有類型的記錄都會用於合規性、稽核或安全性,因此請判斷應該導出的特定資料類型。 |
決定在工作區中篩選或混淆敏感資料的策略。 | 您可能會收集到包含敏感性資訊的資料。 請使用特定資料資來源的設定來篩選不應收集的記錄。 如果只應移除或模糊處理資料中的特定資料行,請使用轉換。 如果您有要求原始資料不可修改的標準,可以使用 KQL 查詢中的 'h' 常值來混淆活頁簿中顯示的查詢結果。 |
清除意外收集到的敏感資料。 | 定期檢查工作區中可能不小心收集的私人數據,並使用 數據清除 將其移除。 目前無法清除具有 輔助計劃的 數據表中的數據。 |
將您的工作區連結至專用叢集,以取得增強的安全性功能,包括使用客戶管理的密鑰進行雙重加密,以及Microsoft Azure 的客戶加密箱,以核准或拒絕Microsoft數據存取要求。 | Azure 監視器會使用Microsoft管理的金鑰來加密待用數據和已儲存的查詢(MMK)。 如果您為 專用叢集收集足夠的資料,請使用: - 客戶管理的金鑰 ,以取得更大的彈性和密鑰生命週期控制。 如果您使用 Microsoft Sentinel,請確定您已熟悉設定 Microsoft Sentinel 客戶自控金鑰中的考量事項。 - Microsoft Azure 的客戶加密箱,以檢閱和核准或拒絕客戶數據存取要求。 當Microsoft工程師需要存取客戶數據時,會使用客戶加密箱,無論是回應客戶起始的支援票證,還是Microsoft所識別的問題。 加密箱目前無法套用至使用輔助方案的資料表。 |
使用傳輸層安全性 (TLS) 1.2 或更高版本,使用代理程式、連接器和記錄擷取 API 將數據傳送至您的工作區。 | 若要確保傳輸至 Azure 監視器的數據安全性,請使用傳輸層安全性 (TLS) 1.2 或更高版本。 我們已發現較舊版本的 TLS/安全通訊端層 (SSL) 較易受到攻擊,而且在其目前的運作中仍允許回溯相容性,因此並不建議使用這些版本,很快地,業界也會捨棄這些舊版通訊協定的支援。 PCI 安全標準委員會已設定 2018 年 6 月 30 日作為最後期限,在此之後將停用舊版 TLS/SSL,並升級至更安全的通訊協定。 當 Azure 捨棄舊版支援後,如果您的代理程式無法透過至少 TLS 1.3 進行通訊,您就無法將資料傳送至 Azure 監視器記錄。 除非必要,否則建議您不要將您的代理程式明確設定為只使用 TLS 1.3。 建議讓代理程式自動偵測、交涉及利用未來的安全性標準。 否則,您可能會錯過較新標準的額外安全性,而且如果較新的標準已取代 TLS 1.3,也可能會遇到問題。 |
成本最佳化是指設法減少不必要的費用,並提升營運效率。 您可以了解不同設定選項和機會來減少 Azure 監視器收集的資料量,藉此大幅降低其成本。 查看 Azure 監視器成本和使用量,了解 Azure 監視器收費的不同方式,以及如何檢視每月帳單。
備註
如需 Azure 監視器所有功能的成本最佳化建議,請參閱將 Azure 監視器中的成本最佳化。
- 判斷是否要在相同的 Log Analytics 工作區中結合操作資料和安全性資料。
- 針對每個 Log Analytics 工作區通常收集的資料量設定定價層。
- 設定資料保留和封存。
- 將用於偵錯、疑難排解和稽核的資料表設定為基本記錄。
- 限制工作區從資料來源收集的資料。
- 定期分析收集的資料,以識別趨勢和異常狀況。
- 建立資料收集過高的警示。
- 考慮使用每日上限作為預防性措施,以確保您不會超過特定預算。
- 針對 Log Analytics 工作區設定 Azure Advisor 成本建議的警示。
建議 | 優點 |
---|---|
判斷是否要在相同的 Log Analytics 工作區中結合操作資料和安全性資料。 | 因為如果已啟用 Sentinel,則 Log Analytics 工作區中的所有資料都會受限於 Microsoft Sentinel 定價,因此合併此資料可能會對成本造成影響。 請參閱設計 Log Analytics 工作區策略,了解為環境制定此決策並與其他要素中準則達到平衡的詳細資料。 |
針對每個 Log Analytics 工作區通常收集的資料量設定定價層。 | 根據預設,Log Analytics 工作區會使用隨用隨付定價,沒有最低資料量。 如果您收集的資料量夠多,則可以使用承諾用量層來大幅降低成本,這可讓您藉由承諾每日最低的資料收集量來換取較低費率。 如果您在單一區域中的各個工作區上收集的資料夠多,您可以將這些工作區連結至專用叢集,並使用叢集定價來合併其收集的資料量。 請參閱 Azure 監視器記錄成本計算和選項,以取得關於定額層的詳細資料,以及最適合您使用量層級的階層判斷指引。 請參閱使用量和估計成本,以檢視不同定價層的使用量估計成本。 |
設定互動式和長期資料保留。 | 若在 Log Analytics 工作區中保留資料超過預設的 31 天則須付費 (在已啟用 Microsoft Sentinel 的工作區上為 90 天,而 Application Insights 資料也是 90 天)。 請考量您的特定需求,讓資料可方便記錄查詢使用。 您可以藉由設定長期保留來大幅降低成本,這可讓您將資料保留最多十二年,而且仍可使用搜尋作業或將一組資料還原至工作區來偶爾存取資料。 |
將用於偵錯、疑難排解和稽核的資料表設定為基本記錄。 | Log Analytics 工作區中專為基本記錄設定的資料表可降低擷取成本,但功能有限,查詢記錄也會收費。 如果您不常查詢這些資料表,而且不會將其用於警示,此查詢成本可能會高於降低擷取成本抵銷的費用。 |
限制工作區從資料來源收集的資料。 | Azure 監視器成本的主要因素是 Log Analytics 工作區中收集的資料量,因此您應確保收集的資料量不超過評估服務和應用程式健康情況和效能所需的資料。 請參閱設計 Log Analytics 工作區結構,了解為環境制定此決策並與其他要素中準則達到平衡的詳細資料。 權衡取捨:成本與監視需求之間可能會有所取捨。 例如,您可能能夠透過高採樣速率更快地偵測效能問題,但您可能也想要較低的採樣速率來節省成本。 大部分環境都會有多個不同收集類型的資料來源,因此您必須使特定需求與每個資料來源的成本目標達到平衡。 如需針對不同資料來源設定收集方式的建議,請參閱 Azure 監視器中的成本最佳化。 |
定期分析收集的資料,以識別趨勢和異常狀況。 | 使用 Log Analytics 工作區深入解析來定期檢閱工作區中收集的資料量。 此功能除了可協助您了解不同來源所收集的資料量之外,還會識別資料收集中可能導致成本過高的異常和上升趨勢。 使用分析 Log Analytics 工作區中的使用量中所述的方法,進一步分析資料收集,以判斷是否有其他設定可以進一步減少使用量。 當您新增一組新的資料來源 (例如一組新的虛擬機器或將新的服務上線) 時,這會特別重要。 |
建立資料收集過高的警示。 | 為了避免非預期的帳單,您應該在遇到過多使用量時主動收到通知。 通知可讓您在計費週期結束時,解決任何潛在的異常。 |
考慮使用每日上限作為預防性措施,以確保您不會超過特定預算。 | 每日上限會在達到您設定的限制之後,停用 Log Analytics 工作區中的資料收集。 這不應該當做降低成本的方法,如使用每日上限的時機中所述。 如果您設定每日上限,除了在達到上限時建立警示之外,請確定您也會建立警示規則,以在達到某個百分比時收到通知 (例如 90%)。 這可讓您在因為上限而停止資料收集之前,調查並解決資料增加的原因。 |
針對 Log Analytics 工作區設定 Azure Advisor 成本建議的警示。 | 當有機會將成本最佳化時,Log Analytics 工作區的 Azure Advisor 建議會主動提醒您。 針對下列成本建議建立 Azure Advisor 警示:
|
卓越營運是指服務在生產環境中可靠地執行所需的作業程式。 使用下列資訊將支援 Log Analytics 工作區的營運需求降到最低。
- 設計工作區架構時,使用最少數量的工作區來滿足您的商務需求。
- 管理多個工作區時,請使用基礎結構即程式碼 (IaC)。
- 使用 Log Analytics 工作區深入解析來追蹤 Log Analytics 工作區的健康情況和效能。
- 建立警示規則以接收工作區作業問題的主動通知。
- 確保您具有妥善定義的資料隔離作業流程。
建議 | 優點 |
---|---|
設計工作區策略以滿足您的業務需求。 | 如需設計 Log Analytics 工作區策略的指引,請參閱設計 Log Analytics 工作區架構,其中包括建立的數量以及放置位置。 單一或最低數量的工作區數目可讓作業效率最大化,因為此做法會限制作業和安全性資料的分佈、提高潛在問題的可見度、讓模式更容易識別,並且將維護需求降至最低。 您可能有多個工作區的需求 (例如多個租用戶),或者可能需要多個區域中的工作區來支援可用性需求。 在這些情況下,請確定您有適當的流程可管理由此增加的複雜度。 |
管理多個工作區時,請使用基礎結構即程式碼 (IaC)。 | 使用基礎結構即程式碼 (IaC) 來定義 ARM、BICEP 或 Terraform 當中工作區的詳細資料。 這可讓您利用現有的 DevOps 程式來部署新的工作區和 Azure 原則,進而強制執行其設定。 |
使用 Log Analytics 工作區深入解析來追蹤 Log Analytics 工作區的健康情況和效能。 | Log Analytics 工作區深入解析提供所有工作區的使用量、效能、健康情況、代理程式、查詢和變更記錄的統一檢視。 請定期檢閱這項資訊,以追蹤每個工作區的健康情況和作業。 |
建立警示規則以接收工作區作業問題的主動通知。 | 每個工作區都有一個作業資料表,可記錄影響工作區的重要活動。 請根據此資料表建立警示規則,以在發生作業問題時主動獲得通知。 您可以使用工作區的建議警示來簡化建立最重大的警示規則。 |
確保您具有妥善定義的資料隔離作業流程。 | 針對儲存在工作區中的不同類型資料,您可能有不同的需求。 在設計工作區策略以及設定權限和長期保留等設定時,請務必清楚了解資料保留和安全性等需求。 您也應建立一個明確的已定義流程,以便不時清除意外收集到包含個人資訊的資料。 |
效能效率讓您的工作負載能夠進行調整,以有效率的方式符合使用者對其放置的需求。 使用下列資訊來確保 Log Analytics 工作區和記錄查詢已妥善設定可發揮最高效能。
- 設定記錄查詢稽核,並使用 Log Analytics 工作區深入解析來識別緩慢且效率不佳的查詢。
建議 | 優點 |
---|---|
設定記錄查詢稽核,並使用 Log Analytics 工作區深入解析來識別緩慢且效率不佳的查詢。 | 記錄查詢稽核會儲存執行每個查詢所需的計算時間,以及傳回結果的時間。 Log Analytics 工作區深入解析會使用此資料來列出工作區中可能效率不佳的查詢。 請考慮重新撰寫這些查詢以改善其效能。 如需將記錄查詢最佳化的指引,請參閱將 Azure 監視器中的記錄查詢最佳化。 |
更多資源
訓練
學習路徑
Use advance techniques in canvas apps to perform custom updates and optimization - Training
Use advance techniques in canvas apps to perform custom updates and optimization
認證
Microsoft Certified: Azure Cosmos DB Developer Specialty - Certifications
透過 Microsoft Azure Cosmos DB 在 SQL API 和 SDK 中撰寫有效率的查詢、建立索引編製原則、管理及佈建資源。