使用 Azure 監視器建立 Azure Cosmos DB 的警示

適用於:NoSQL MongoDB Cassandra Gremlin Table

警示是用來設定定期測試,以監視 Azure Cosmos DB 資源的可用性和回應性。 警示可透過電子郵件的形式傳送通知給您,或是在您的其中一個計量達到閾值或如果有特定事件記錄在活動記錄中時,執行 Azure 函數。

您可以根據 Azure Cosmos DB 帳戶上的計量、活動記錄事件或 log Analytics 記錄來接收警示:

  • 計量 - 當指定計量的值超出您指派的閾值時,就會觸發警示。 例如,當取用的要求單位總計超過 1000 RU/s。 第一次符合條件時,以及之後不再符合該條件時,兩者都會觸發此警示。 如需 Azure Cosmos DB 中可用的不同計量,請參閱監視資料參考一文。

  • 活動記錄事件 –此警示會在發生特定事件時觸發。 例如,當您 Azure Cosmos DB 帳戶的金鑰遭存取或重新整理時。

  • Log analytics –當 Log Analytics 查詢結果中的指定屬性值超出您指派的閾值時,就會觸發此警示。 例如,您可以撰寫 Log Analytics 查詢,在Azure Cosmos DB 中監視邏輯分割區索引鍵儲存空間是否達到 20 GB 的邏輯分割區索引鍵儲存空間限制

您可以從 [Azure Cosmos DB] 窗格或 Azure 入口網站中的 Azure 監視器服務設定警示。 這兩個介面提供相同的選項。 本文說明如何使用 Azure 監視器設定 Azure Cosmos DB 的警示。

建立警示規則

本節說明如何在要求受速率限制而收到 HTTP 狀態碼 429 時建立警示。 例如,您可能想要在受速率限制的要求有 100 個或更多時收到警示。 本文說明如何使用 HTTP 狀態碼設定這類案例的警示。 您也可以使用類似步驟設定其他類型的警示,只需要根據您的需求選擇不同的條件即可。

提示

根據 429 次數超過閾值而發出警示的案例,在這裡是為了說明之用。 這並不表示在您的資料庫或容器上看見 429 會有任何本質上的錯誤。 一般而言,如果您在生產工作負載中看到有 1-5% 的要求發生 429,且整體應用程式延遲在您的需求範圍內,則這是正常且狀況良好的現象,表示您充份使用已佈建的輸送量 (RU/s)。 深入了解如何對 429 例外狀況解譯和偵錯

  1. 登入 Azure 入口網站

  2. 從左側導覽列選取 [監視器],然後選取 [警示]

  3. 選取 [新增警示規則] 按鈕,開啟 [建立警示規則] 窗格。

  4. 填寫 [範圍] 區段:

    • 開啟 [選取資源] 窗格,並設定下列各項:

    • 選擇您的訂用帳戶名稱。

    • 針對 [資源類型] 選取 [Azure Cosmos DB 帳戶]

    • Azure Cosmos DB 帳戶的位置

    • 填入詳細資料之後,即會顯示所選範圍中的 Azure Cosmos DB 帳戶清單。 選擇您要設定警示的帳戶,然後選取 [完成]

  5. 填寫 [條件] 區段:

    • 開啟 [選取條件] 窗格以開啟 [選取訊號] 頁面,並設定下列各項:

    • 選取一個訊號。 訊號類型可以是 [計量]、[活動記錄] 或 [記錄] (Log Analytics)。 在此案例中,請選擇 [計量],因為您想要在達到要求單位總計的計量而發生速率限制時收到警示。

    • 針對 [監視服務] 選取 [全部]

    • 選擇 [訊號名稱]。 若要取得 HTTP 狀態碼的警示,請選擇 [要求單位總計]訊號。

    • 現在,您可以定義觸發警示的邏輯,並使用圖表檢視 Azure Cosmos DB 帳戶的趨勢。 要求單位總計的計量支援維度。 這些維度可讓您篩選計量。 例如,您可以使用維度篩選您想要監視的特定資料庫或容器。 如果您未選取任何維度,則會忽略此值。

    • 選擇 [StatusCode] 做為 [維度名稱]。 選取 [新增自訂值],並將狀態碼設定為 429。

    • 在 [警示邏輯]中,將 [閾值] 設定為 [靜態]。 靜態閾值會利用使用者定義的閾值評估規則,動態閾值則利用內建的機器學習演算法來持續學習計量行為模式,然後自動計算閾值。

    • 將 [運算子] 設定為 [大於],將 [彙總類型] 設定為 [總計],將 [閾值] 設定為 [100]。 透過此邏輯,如果您的用戶端看見具有 429 狀態碼的要求超過 100 個,就會觸發警示。 您也可以根據您的需求,設定彙總類型、彙總細微性和評估頻率。

    • 填寫表單之後,請選取 [完成]。 下列螢幕擷取畫面顯示警示邏輯的詳細資料:

      Configure the logic to receive alerts for rate limited/429 requests

  6. 填寫 [動作群組] 區段:

    • 在 [建立規則] 窗格上,選取現有的動作群組或建立新的動作群組。 動作群組可讓您定義發生警示條件時所要採取的動作。 針對此範例,請建立新的動作群組,在觸發警示時收到電子郵件通知。 開啟 [新增動作群組] 窗格,填寫下列詳細資料:

    • 動作群組名稱 - 動作群組名稱在資源群組內必須是唯一的。

    • 簡短名稱 - 動作群組的簡短名稱,此值會包含在電子郵件和 SMS 通知中,用以識別哪個動作群組是通知的來源。

    • 選擇將在其中建立此動作群組的訂用帳戶和資源群組。

    • 提供您的動作名稱,並選取 [電子郵件/SMS 訊息/推播/語音] 做為 [動作類型]。 下列螢幕擷取畫面顯示動作類型的詳細資料:

      Configure the action type such as email notification to receive the alert

  7. 填寫 [警示規則詳細資料] 區段:

    • 定義規則的名稱、提供選擇性的描述、選擇警示的嚴重性層級、選擇是否要在建立規則時啟用規則,然後選取 [建立規則警示],建立計量規則警示。

建立警示之後,警示會在 10 分鐘內啟用。

常見的警示案例

以下是您可以使用警示的一些案例:

下一步