Azure 監視器警示的最佳做法
本文提供用於 Azure 監視器警示、警示處理規則和動作群組的架構最佳做法。 此指導方針是以 Azure Well-Architected Framework 中所述卓越的五大架構要素為基礎。
如需警示和通知的詳細資訊,請參閱 Azure 監視器警示概觀。 如需大規模解決方案警示的詳細資訊,請參閱 大規模警示。
可靠性
在雲端中,我們知道失敗在所難免。 此目標不是試著完全避免失敗,而是將單一故障元件的影響降至最低。 使用下列資訊,將您的 Azure 監視器警示規則元件的失敗降到最低。
Azure 監視器警示可提供高度的可靠性,而不需要任何設計決策。 其他 Azure 監視器元件的功能通常可以減緩可能發生暫時遺失警示資料的情況。
設計檢查清單
- 設定服務健康情況警示規則。
- 設定資源健康情況警示規則。
- 避免產生大規模通知的警示規則的服務限制。
組態建議
建議 | 優點 |
---|---|
設定服務健康情況警示規則。 | 服務健康情況警示會向您傳送有關中斷、服務中斷、計劃性維護和安全性建議的通知。 請參閱建立或編輯警示規則。 |
設定資源健康情況警示規則。 | 資源健康狀態警示會在這些資源的健康狀態變更時,以近乎即時的方式通知您。 請參閱建立或編輯警示規則。 |
避免產生大規模通知的警示規則的服務限制。 | 如果您的警示規則會傳送大量的通知,則您可能會達到您用來傳送電子郵件或簡訊通知之服務的服務限制。 設定程式設計動作,或選擇一個替代的通知方法或提供者來處理大規模的通知。 請參閱通知的服務限制。 |
安全性
安全性是任何架構中最為重要的部分。 Azure 監視器提供了採用最低權限和深度防禦準則的功能。 使用下列資訊以將 Azure 監視器警示的安全性提高到最大。
設計檢查清單
- 如果您需要自己的加密金鑰來保護工作區中的資料和已儲存的查詢,請使用客戶管理的金鑰
- 使用受控識別並透過控制權限來提高安全性
- 為所有不需要設定權限的使用者指派監視讀取者角色
- 使用安全的 Webhook 動作
- 使用使用私人連結的動作群組時,請使用事件中樞動作
組態建議
建議 | 優點 |
---|---|
如果您需要自己的加密金鑰來保護工作區中的資料和已儲存的查詢,請使用客戶管理的金鑰。 | Azure 監視器可確保所有資料和已儲存的查詢都會使用 Microsoft 管理的金鑰 (MMK) 在待用時加密。 如果您需要自己的加密金鑰並為專用叢集收集足夠的資料,請使用客戶管理的密鑰以獲得更大的彈性和金鑰生命週期控制。 如果您使用 Microsoft Sentinel,則請確保您熟悉設定 Microsoft Sentinel 客戶管理金鑰中的注意事項。 |
若要控制記錄搜尋警示規則的權限,請針對您的記錄搜尋警示規則使用受控識別。 | 開發人員常見的挑戰是管理用來保護服務間安全通訊的祕密、認證、憑證和金鑰。 受控識別會排除開發人員管理這些認證的需求。 針對您的記錄搜尋警示規則設定受控識別可讓您控制和查看警示規則的確切權限。 您可以隨時檢視您的規則的查詢權限,並直接從其受控識別中新增或移除權限。 此外,如果您的規則的查詢存取 Azure 資料總管 (ADX) 或 Azure Resource Graph (ARG),則需要使用受控識別。 請參閱<受控識別>(機器翻譯)。 |
為所有不需要設定權限的使用者指派監視讀取者角色。 | 為使用者提供其角色所需的最少權限來增強安全性。 請參閱 Azure 監視器中的角色、權限與安全性。 |
可能的話,請使用安全的 Webhook 動作。 | 如果您的警示規則包含使用 Webhook 動作的動作群組,請優先使用安全的 Webhook 動作來進行其他驗證。 請參閱設定安全 Webhook 的驗證 |
成本最佳化
成本最佳化是指設法減少不必要的費用,並提升營運效率。 您可以了解不同設定選項和機會來減少 Azure 監視器收集的資料量,藉此大幅降低其成本。 查看 Azure 監視器成本和使用量,了解 Azure 監視器收費的不同方式,以及如何檢視每月帳單。
注意
如需 Azure 監視器所有功能的成本最佳化建議,請參閱將 Azure 監視器中的成本最佳化。
設計檢查清單
- 活動記錄警示、服務健康情況警示和資源健康情況警示是免費的。
- 使用記錄搜尋警示時,請將記錄搜尋警示頻率降至最低。
- 使用計量警示時,請將所監視的資源數目降至最低。
組態建議
建議 | 優點 |
---|---|
請記住,活動記錄警示、服務健康情況警示和資源健康情況警示是免費的。 | Azure 監視器活動警示、服務健康情況警示和資源健康情況警示是免費的。 如果這些警示類型可達到您的監視目的,請使用這些類型。 |
使用記錄搜尋警示時,請將記錄搜尋警示頻率降至最低。 | 設定記錄搜尋警示時,請記住評估規則的頻率越高,成本就越高。 請據以設定規則。 |
使用計量警示時,請將所監視的資源數目降至最低。 | 某些資源類型支援計量警示規則,這些規則可以監視相同類型的多個資源。 針對這些資源類型,請記住,如果規則監視許多資源,規則的成本可能會提高。 若要降低成本,您可以縮小計量警示規則的範圍,或使用記錄搜尋警示規則,這麼做可降低監視大量資源的成本。 |
卓越營運
卓越營運是指服務在生產環境中可靠地執行所需的作業程式。 使用下列資訊,將支援 Azure 監視器警示的操作需求降到最低。
設計檢查清單
- 在適當的情況下,在計量警示規則中使用動態閾值。
- 盡可能使用一個警示規則來監視多個資源。
- 若要大規模控制行為,請使用警示處理規則。
- 利用自訂屬性來增強診斷
- 利用 Logic Apps 來自訂、擴充及整合各種系統
組態建議
建議 | 優點 |
---|---|
在適當的情況下,在計量警示規則中使用動態閾值。 | 動態閾值是使用機器學習來判斷正確的閾值,因此您不需要知道要設定的正確閾值。 動態閾值也適用於監視多個資源的規則,而且無法針對所有資源設定單一閾值。 請參閱計量警示中的動態閾值。 |
盡可能使用一個警示規則來監視多個資源。 | 使用監視多個資源的警示規則,可讓您管理一個規則來監視大量的資源,以減少管理額外負荷。 |
若要大規模控制行為,請使用警示處理規則。 | 警示處理規則可用來減少您需要建立和管理的警示規則的數目。 |
使用自訂屬性來增強診斷。 | 如果警示規則使用動作群組,您可以新增自己的屬性來包含在警示通知承載中。 您可以在動作群組所呼叫的動作中使用這些屬性,例如 Webhook、Azure 函式或邏輯應用程式動作。 |
使用 Logic Apps 來自訂通知工作流程並與各種系統整合。 | 您可以使用 Azure Logic Apps 建置和自訂工作流程以進行整合。 使用 Logic Apps 自訂警示通知。 您可以: - 藉由使用您自己的電子郵件主旨和本文格式,自訂警示電子郵件。 - 查閱受影響資源的標籤或擷取記錄查詢搜尋結果,以自訂警示中繼資料。 - 藉由使用 Outlook、Microsoft Teams、Slack 和 PagerDuty 等現有連接器,以便與外部服務整合。 您也可以為自己的服務設定邏輯應用程式。 |
效能效益
效能效率可讓您的工作負載進行調整,以有效率的方式符合使用者對其放置的需求。 警示可提供高度的效能效率,而不需要任何設計決策。