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

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

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

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

在 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 百分比。
    彙總類型 在多個記錄上執行的計算,會使用匯總數據粒度將其匯總為一個數值。 範例包括 Total、Average、Minimum 或 Maximum。
    彙總細微性 將多筆記錄彙總成一個數值的間隔。
  6. (選擇性)在 [ 依維度分割] 區 段中,您可以使用維度來協助提供觸發警示的內容。

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

    維度是查詢結果中的數據行,其中包含其他數據。 當您使用維度時,警示規則會依維度值將查詢結果分組,並分別評估每個群組的結果。 如果符合條件,規則會引發該群組的警示。 警示承載包含觸發警示的組合。

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

    例如:

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

    選取這些欄位的值:

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

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

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

    注意

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

    • 查詢包含 搜尋等位 * 或 採取 (限制) 作業
    • 查詢包含 ingestion_time() 函式
    • 查詢會 使用 adx 模式
    • 查詢會呼叫呼叫其他數據表的函式

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

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

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

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

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

    注意

    如果您或系統管理員指派了透過Log Analytics工作區 Azure 原則 Azure 記錄搜尋警示應該使用客戶管理的密鑰,您必須選取 [檢查工作區連結的記憶體]。 如果您未這麼做,建立規則將會失敗,因為它不符合原則需求。

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

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

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

設定警示規則動作

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

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

設定警示規則詳細資訊

  1. 在 [ 詳細數據] 索引標籤上 ,定義 [項目詳細數據]。

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

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

    1. 選取 [嚴重性]。

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

      注意

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

    3. 選取 [ 區域]。

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

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

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

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

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

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

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

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

    欄位 描述
    在建立時啟用 選取警示規則,即可在建立警示規則后立即開始執行。
    自動解決警示 (預覽) 選取以設定警示狀態。 當警示具狀態時,當條件不再符合特定時間範圍時,就會解決警示。 時間範圍會根據警示的頻率而有所不同:
    1 分鐘:不符合警示條件 10 分鐘。
    5-15 分鐘:三個頻率期間不符合警示條件。
    15 分鐘 - 11 小時:兩個頻率期間不符合警示條件。
    11 到 12 小時:一個頻率期間不符合警示條件。

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

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

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

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

    注意

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

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

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

    範例 1

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

    • 名稱:「其他詳細資料」
    • 值: "Evaluation 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 此範例會新增有關解決或引發警示原因的資料。

    • 名稱: "Alert ${data.essentials.monitorCondition} reason"
    • 值:"${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}”
    • 結果:範例結果可能如下:
      • 「已解決警示的原因:CPU GreaterThan5 已解決的百分比。 此值為 3.585」
      • 「警示引發的原因」:「CPU GreaterThan5 已解決的百分比。 此值為 10.585」

設定警示規則標記

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

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

檢閱並建立警示規則

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

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

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

下一步