建立或編輯記錄搜尋警示規則

本文說明如何建立新的記錄搜尋警示規則,或編輯現有的記錄搜尋警示規則。 若要深入了解警示,請參閱警示概觀

您可以結合要監視的資源、資源的監視資料,以及您想要觸發警示的條件,來建立警示規則。 然後,您可以定義動作群組警示處理規則,以判斷觸發警示時會發生什麼事。

這些警示規則所觸發的警示包含使用常見警示結構描述的承載。

在 Azure 入口網站中存取警示規則精靈

有數種方式可讓您建立或編輯新的警示規則。

從入口網站首頁建立或編輯警示規則

  1. 入口網站中,選取 [監視]>[警示]

  2. 開啟 [+ 建立] 功能表,並選取 [警示規則]

    顯示建立新警示規則步驟的螢幕快照。

從指定資源建立或編輯警示規則

  1. 入口網站中,瀏覽至資源。

  2. 從左窗格中選取警示,然後選取+ 建立 > 警示規則

    此螢幕快照顯示從選取的資源建立新警示規則的步驟。

編輯現有的警示規則

  1. 入口網站中,從首頁或特定資源選取左窗格中的 [警示]

  2. 選取 [警示規則]

  3. 選取您要編輯的警示規則,然後選取 [編輯]

    顯示編輯現有記錄搜尋警示規則步驟的螢幕快照。

  4. 選取警示規則的任何索引標籤,以編輯設定。

設定警示規則的範圍

  1. [選取資源] 窗格上,設定警示規則的範圍。 您可以依訂閱、資源類型或資源位置來篩選。

  2. 選取套用

    顯示用於建立新警示規則之選取資源窗格的螢幕快照。

設定警示規則條件

  1. 在 [條件] 索引標籤上,當您選取 [訊號名稱] 字段時,請選取 [自定義記錄搜尋],或如果您想要為條件選擇不同的訊號,請選取 [查看所有訊號]。

  2. (選擇性) 如果您在上一個步驟中選擇 [查看所有訊號],請使用 [選取訊號] 窗格搜尋訊號名稱或篩選訊號清單。 篩選條件:

    • 訊號類型:選取 [記錄搜尋]。
    • 訊號來源:傳送「自訂記錄搜尋」和「記錄 (已儲存的查詢)」訊號的服務。 選取 [訊號名稱] 和 [套用]
  3. 在 [記錄] 窗格中,撰寫查詢,以傳回您要建立警示的記錄事件。 若要使用其中一個預先定義的警示規則查詢,請展開 [記錄] 窗格左側的 [結構描述及篩選] 窗格。 然後選取 [查詢] 索引標籤,並且選取其中一個查詢。

記錄搜尋警示規則查詢的限制:

  • 記錄搜尋警示規則查詢不支援 'bag_unpack()'、'pivot()' 和 'narrow()' 外掛程式.

  • 該詞 "AggregatedValue" 是保留字,無法在記錄搜尋警示規則的查詢中使用。

  • 記錄警示規則屬性中所有數據的合併大小不能超過 64KB。

    顯示建立新記錄搜尋警示規則時 [查詢] 窗格的螢幕快照。

  1. (選擇性)如果您要查詢 ADX 或 ARG 叢集,Log Analytics 就無法使用事件時間戳自動識別數據行。 我們建議您將時間範圍篩選新增至查詢。 例如:

        adx('https://help.kusto.windows.net/Samples').table    
        | where MyTS >= ago(5m) and MyTS <= now()
    
        arg("").Resources
        | where type =~ 'Microsoft.Compute/virtualMachines'
        | project _ResourceId=tolower(id), tags
    

    顯示建立新記錄搜尋警示規則時 [條件] 索引標籤的螢幕快照。

    如需查詢 ARG 或 ADX 的範例記錄搜尋警示查詢,請參閱 記錄搜尋警示查詢範例

    以下是使用跨查詢的限制:

  2. 選取 [執行] 執行警示。

  3. [預覽] 區段會顯示查詢結果。 您完成查詢編輯時,請選取 [繼續編輯警示]

  4. [條件] 索引標籤隨即開啟,填入您的記錄查詢。 根據預設,規則會計算過去五分鐘內的結果數目。 如果系統偵測到摘要查詢結果,規則會以此資訊自動更新。

  5. 在 [量值] 區段中,選取這些欄位的值:

    顯示建立新記錄搜尋警示規則時 [度量] 索引標籤的螢幕快照。

    欄位 描述
    量值 記錄搜尋警示可以測量下列兩種不同項目,並可用於不同的監視案例:
    資料列數:傳回的資料列數目可用於處理 Windows 事件記錄、syslog 和應用程式例外狀況等事件。
    計算數值資料行:您可使用任一數值資料行的計算,包含任意數目的資源。 例如 CPU 百分比。
    彙總類型 透過使用彙總細微性,將多筆記錄的計算彙總成一個數值。 例如總計、平均、最小值或最大值。
    彙總細微性 將多筆記錄彙總成一個數值的間隔。
  6. (選擇性) 在 [依維度分割] 區段中,您可以使用維度來協助提供觸發警示的內容。

    此螢幕快照顯示新記錄搜尋警示規則的 [依維度分割] 區段。

    維度是查詢結果中的資料行,其中包含額外的資料。 若您使用維度,警示規則會依維度值將查詢結果分組,然後分別評估每個群組的結果。 如果符合條件,規則會引發該群組的警示。 警示承載包含觸發警示的組合。

    每個警示規則最多可以套用六個維度。 維度只能是字串或數值資料行。 如果您想要使用不是數值或字串類型的資料行做為維度,則必須在查詢中將資料行轉換成字串或數值。 如果您選取多個維度值,組合中各個時間序列的結果會觸發自身警示,並個別計費。

    例如:

    • 您可以使用維度監視在網站或應用程式上所執行多個執行個體的 CPU 使用量。 每個執行個體的監視會個別進行,而且會針對 CPU 使用量超過設定值的每個執行個體傳送通知。
    • 若您想要將一項條件套用至範圍中的多個資源,您可以決定不依維度分割。 例如,如果您想要在資源群組範圍中至少有五部機器的 CPU 使用量高於設定值時引發警示,您不會使用維度。

    選取這些欄位的值:

    • 資源識別碼資料行:一般而言,如果您的警示規則範圍是工作區,則會在工作區上引發警示。 如果您想要每個受影響 Azure 資源的個別警示,您可以:
      • 使用 ARM Azure 資源識別碼資料行作為維度 (請注意,使用此選項,警示就會在工作區上以 Azure 資源識別碼資料行作為維度觸發。
      • 在 Azure 資源識別碼屬性中將其指定為維度,使查詢傳回的資源成為警示的目標,因此當查詢傳回該資源 (例如虛擬機器或儲存體帳戶) 時會引發警示,而不是在工作區中。 若您使用此選項,如果工作區從多個訂用帳戶取得資源,則可以針對不同於警示規則訂用帳戶的訂用帳戶資源觸發警示。
    欄位 描述
    維度名稱 維度可以是數字或字串資料行。 維度用以監視特定的時間序列並提供引發的警示內容。
    運算子 用於維度名稱和值的運算子。
    維度值 維度值是以過去 48 個小時的資料為基礎。 選取 [新增自訂值] 以新增自訂維度值。
    包含所有日後的值 選取此欄位,以包含新增至所選維度的任何未來值。
  7. 在 [警示邏輯] 區段中,選取這些欄位的值:

    此螢幕快照顯示新記錄搜尋警示規則的 [警示邏輯] 區段。

    欄位 描述
    運算子 查詢結果會轉換成數字。 請在此欄位中,選取以此數字比較閾值的運算子。
    臨界值 閾值的數值。
    評估頻率 執行查詢的頻率。 可以設定從一分鐘到一天 (24 小時) 之間的任意時間。

    注意

    使用一分鐘警示規則頻率會有一些限制。 當您將警示規則頻率設定為一分鐘時,會執行內部操作來最佳化查詢。 如果查詢包含不支援的作業,這項操作可能會導致查詢失敗。 以下是不支持查詢的最常見原因:

    • 查詢包含有 searchunion * 或 take (限制) 運算
    • 查詢包含有 ingestion_time() 函式
    • 查詢使用 adx 模式
    • 查詢呼叫的函式呼叫其他資料表

    如需查詢 ARG 或 ADX 的記錄搜尋警示查詢範例,請參閱記錄搜尋警示查詢範例 (部分機器翻譯)

  8. (選擇性) 在 [進階選項] 區段中,您可以指定觸發警示所需要的失敗次數和警示評估期間。 例如,如果您將 [彙總細微性] 設定為 5 分鐘,就可以指定唯有在過去一小時內發生三次失敗 (15 分鐘) 時才會觸發警示。 您的應用程式商務原則會決定此設定。

    顯示新記錄搜尋警示規則 [進階選項] 區段的螢幕快照。

    在 [違規次數] 下,選取觸發警示的這些欄位值:

    欄位 描述
    違規次數 觸發警示的違規次數。
    評估期間 發生違規次數的時間週期。
    覆寫查詢時間範圍 如果您想要警示評估期間與查詢時間範圍不同,請在這裡輸入時間範圍。
    警示時間範圍的上限為兩天。 即使查詢包含時間範圍超過兩天的 ago 命令,也會套用兩天的時間範圍上限。 例如,即使查詢文字包含 ago(7d),查詢最多只掃描兩天的資料。 如果查詢需要比警示評估更多的數據,您可以手動變更時間範圍。 如果查詢包含前一個命令,它會自動變更為 2 天(48 小時)。

    注意

    如果您或管理員指派 Azure 原則為 Log Analytics 工作區的 Azure 記錄搜尋警示應該使用客戶自控金鑰,則您必須選取 [檢查工作區連結的儲存體]。 如果未選取,規則建立將會失敗,因為不符合原則需求。

  9. [預覽] 圖表會顯示一段時間的查詢評估結果。 您可以變更圖表週期,或選取由維度分割唯一警示所產生的不同時間序列。

    顯示新警示規則預覽的螢幕快照。

  10. 選取完成。 此時,您可以隨時選取 [檢閱 + 建立] 按鈕。

設定警示規則動作

  1. 在 [動作] 索引標籤中,選取或建立必要的動作群組

    顯示建立新警示規則時 [動作] 索引標籤的螢幕快照。

設定警示規則詳細資訊

  1. 在 [詳細資料] 索引標籤中,定義 [專案詳細資料]

    • 選取 [訂用帳戶]
    • 選取 [資源群組]
  2. 定義 [警示規則詳細資料]

    顯示建立新記錄搜尋警示規則時 [詳細數據] 索引標籤的螢幕快照。

    1. 選取 [嚴重性]

    2. 輸入 [警示規則名稱] 和 [警示規則描述] 的值。

      注意

      請注意,使用 Identity 的規則在警示規則名稱中 不能有字元 “;”

    3. 選取 [區域]

    4. 在 [身分識別] 區段中,選取記錄搜尋警示規則用來傳送記錄查詢的身分識別。 當警示規則執行記錄查詢時,會使用此身分識別進行驗證。

      選取身分識別時,請記住下列事項:

      • 如果您要將查詢傳送至 Azure 數據總管 (ADX) 或 Azure Resource Graph (ARG),則需要受控識別。
      • 如果您想要能夠查看或編輯與警示規則相關聯的權限,請使用受控識別。
      • 如果您未使用受控識別,警示規則的權限會以上次編輯規則時最後一位編輯規則的使用者權限為基礎。
      • 使用受控識別可協助您避免規則無法如預期般運作的情況,因為上次編輯規則的使用者沒有規則範圍內所有新增資源的權限。

      與規則相關聯的身分識別必須具有下列角色:

      • 如果查詢存取 Log Analytics 工作區,則必須將查詢所存取所有工作區的讀者角色指派給該身分識別。 如果您要建立以資源為中心的記錄搜尋警示,警示規則可能會存取多個工作區,則必須將所有工作區的讀者角色指派給該身分識別。
      • 如果您要查詢 ADX 或 ARG 叢集,您必須為查詢所存取所有資料來源新增讀者角色。 例如,如果查詢以資源為中心,則身分識別需要該資源的讀者角色。
      • 如果查詢要存取遠端 Azure 資料總管叢集,則必須將身分識別指派為:
        • 查詢所存取所有資料來源的讀者角色。 例如,如果查詢使用 adx() 函式呼叫遠端 Azure 資料總管叢集,則查詢需要該 ADX 叢集的讀者角色。
        • 查詢所存取所有資料庫的資料庫檢視者

      如需受控識別的詳細資訊,請參閱適用於 Azure 資源的受控識別

      針對警示規則所使用的身分識別,選取下列其中一個選項:

      身分識別 描述
      None 警示規則的權限會以編輯規則時最後一位編輯規則的使用者權限為基礎。
      系統指派的受控身分識別 Azure 為此警示規則建立新的專用身分識別。 此身分識別沒有權限,而且會在刪除規則時自動刪除。 建立規則之後,您必須將權限指派給此身分識別,才能存取查詢所需的工作區和資料來源。 如需指派權限的詳細資訊,請參閱使用 Azure 入口網站指派 Azure 角色
      使用者指派的受控識別 建立警示規則之前,您建立身分識別,然後將記錄查詢的適當權限給該身分識別。 這是一般的 Azure 身分識別。 您可以在多個警示規則中使用一個身分識別。 刪除規則時,不會刪除此身分識別。 當您選取此類型的身分識別時,隨即會開啟一個窗格,讓您選取規則的相關聯身分識別。
  3. (選擇性) 在 [進階選項] 區段中,您可以設定數個選項:

    欄位 描述
    在建立時啟用 選取將在警示規則建立完成後立即開始執行。
    自動解決警示 (預覽) 選取以讓警示具有狀態。 若警示有狀態,當條件不再符合達一段特定時間範圍後,系統會自動解決警示。 時間範圍會根據警示的頻率而有所不同:
    1 分鐘:警示條件未符合達 10 分鐘。
    5-15 分鐘:警示條件在三個頻率週期後未能符合。
    15 分鐘 - 11 小時:警示條件在兩個頻率週期後未能符合。
    11 至 12 小時::警示條件在一個頻率週期後未能符合。

    請注意,具狀態記錄搜尋警示具有下列限制:
    - 每個評估最多可以觸發 300 個警示。
    - fired 警示條件最多可以有 5000 個警示。
    將動作靜音 選取將設定再次觸發警示動作之前所要等候的時間長度。 如果您選取此核取方塊,欄位的 [動作靜音期間] 會顯示為選取在警示引發後等待的時間量,然後再次觸發動作。
    檢查工作區連結的儲存空間 選取是否已設定警示的記錄工作區連結儲存體。 如果未設定任何連結的儲存體,則不會建立規則。
  4. (選擇性) 在 [自訂屬性] 區段中,如果此警示規則包含動作群組,您可以新增自己的屬性以包含在警示通知承載中。 您可以在動作群組所呼叫的動作中使用這些屬性,例如 Webhook、Azure 函式或邏輯應用程式動作。

    自訂屬性會使用靜態文字、從警示承載擷取的動態值,或兩者的組合,指定為索引鍵:值組。

    從警示承載擷取動態值的格式為:${<path to schema field>}。 例如:${data.essentials.monitorCondition}。

    使用一般警示結構描述的格式來指定承載中的欄位,無論為警示規則設定的動作群組是否使用通用結構描述。

    注意

    • 通用結構描述會覆寫自訂組態。 您無法同時使用自訂屬性和通用結構描述。
    • 自訂屬性會新增至警示的承載,但不會出現在電子郵件範本或 Azure 入口網站中的警示詳細數據中。
    • 服務健康狀態警示不支援自訂屬性。

    顯示建立新警示規則之自定義屬性區段的螢幕快照。

    在下列範例中,自訂屬性中的值會用於使用一般警示結構描述承載中的資料:

    範例 1

    此範例會建立「其他詳細資料」標記,其中包含有關「時間範圍開始時間」和「時間範圍結束時間」的資料。

    • 名稱: "其他詳細資料"
    • 值: "評估 windowStartTime: ${data.alertContext.condition.windowStartTime}. windowEndTime: ${data.alertContext.condition.windowEndTime}"
    • 結果: "AdditionalDetails:Evaluation windowStartTime: 2023-04-04T14:39:24.492Z. windowEndTime: 2023-04-04T14:44:24.492Z"

    範例 2 此範例會新增有關解決或引發警示原因的資料。

    • 名稱: "警示 ${data.essentials.monitorCondition} 原因"
    • 值: "${data.alertContext.condition.allOf[0].metricName} ${data.alertContext.condition.allOf[0].operator} ${data.alertContext.condition.allOf[0].threshold} ${data.essentials.monitorCondition}。 值為 ${data.alertContext.condition.allOf[0].metricValue}"
    • 結果: 範例結果可能如下:
      • 「警示解決原因:已解決 GreaterThan5 的 CPU 百分比。 值為 3.585」
      • 「警示引發原因」:「引發 GreaterThan5 的 CPU 百分比。 此值為 10.585」

設定警示規則標記

  1. 在 [標記] 索引標籤中,設定警示規則資源上的任何必要標籤。

    顯示建立新警示規則時 [卷標] 索引標籤的螢幕快照。

檢閱並建立警示規則

  1. 在 [檢閱 + 建立] 索引標籤上,系統會驗證規則,並讓您知道任何問題。

  2. 當驗證通過且您已檢閱設定時,請選取 [建立] 按鈕。

    顯示建立新警示規則時 [檢閱和建立] 索引標籤的螢幕快照。

下一步