在 Azure 監視器中執行搜尋工作

搜尋作業是您在 Log Analytics 中任何資料上執行的非同步查詢,無論是分析保留還是長期保留,都會在您工作區內的新搜尋資料表中,針對互動式查詢提供查詢結果。 搜尋作業運用平行處理,並能在大型資料集中執行數小時。 本文說明如何建立搜尋作業,以及如何查詢其產生的資料。

這段影片說明使用搜尋作業的時機和方式:

需要的權限

動作 需要的權限
執行搜尋作業 例如,Microsoft.OperationalInsights/workspaces/tables/write所提供的 Log Analytics 工作區 Microsoft.OperationalInsights/workspaces/searchJobs/write 和 權限。

附註

不支援跨租用戶搜尋作業。 即使已指派的委派角色包含 searchJobs/write 權限,搜尋作業 (或還原) 也不支援 Azure Lighthouse 委派的存取。

使用搜尋作業的時機

使用搜尋作業可以:

  • 從長期保留及包含基本日誌或輔助日誌的資料表中取得紀錄,並建立支援 Azure 監視器 日誌完整分析功能的全新 Analytics Logs 資料表。
  • 如果 10 分鐘的記錄查詢逾時時間不夠,則會掃描大量資料。

搜尋作業的作用是什麼?

搜尋作業會掃描資料,並將其結果傳送至與來源資料相同工作區中的新資料表。 搜尋作業開始時,即可使用結果資料表,但結果可能需要一些時間才會開始出現。 成本是根據已掃描之資料的定價模型和擷取結果的大小所產生。 執行搜尋作業之前,可以使用成本估計來協助您決定是否要執行該作業。

顯示成本估計預覽的螢幕擷取畫面。

搜尋作業結果資料表是 分析記錄資料表,可供記錄查詢,以及供其他使用工作區中資料表的 Azure 監視器 功能使用。 資料表繼承工作區設定的 保留值 ,建立後仍可編輯。

搜尋結果資料表結構描述是以來源資料表結構描述和指定的查詢為基礎。 下列其他欄位可協助您追蹤來源紀錄:

資料行 值
_OriginalType 從來源資料表輸入值。
_OriginalItemId 從來源資料表中取得_ItemID的值。
_OriginalTimeGenerated 來源資料表的 TimeGenerated 值。
TimeGenerated 搜尋作業執行的時間。

結果資料表上的查詢會出現在記錄查詢稽核中,但不會出現在初始搜尋作業中。

執行搜尋作業

執行搜尋工作,以將大型資料集中的記錄擷取到工作區中的新搜尋結果資料表。

以下程式碼範例限制結果為 1,500 筆紀錄。 請以 UTC 時間戳指定搜尋視窗,例如 2026-01-01T00:00:00.000Z。 例如,查詢 Heartbeat | where ComputerIP has "198.51.100.101" 會搜尋特定電腦 IP 位址的紀錄。

提示

執行搜尋工作會產生費用。 在執行搜尋作業之前,請以互動式查詢模式撰寫查詢並將其最佳化。 使用成本估計預覽來了解潛在成本。

若要執行搜尋工作,請在 Azure 入口網站中:

  1. 從 [Log Analytics 工作區] 功能表中,選取 [記錄]。

  2. 輸入搜尋工作查詢或選擇你想要的表格。

  3. 選擇螢幕右側的省略號選單,然後選擇 搜尋工作。

    [記錄] 畫面的螢幕擷取畫面,其中反白顯示了 [搜尋工作] 功能表項目。

  4. 或者使用「執行」下拉選單,選擇「以搜尋作業執行」。

    日誌畫面的截圖,其中「以搜尋方式執行」的功能選單項目已被選取突出顯示。

  5. 使用時間選擇器指定搜尋工作日期範圍。 選擇總保留期間內的任何期間。

    如果您的 Kusto 查詢也指定時間範圍,則會針對搜尋作業使用時間範圍的聯集。

    顯示提示時間範圍和搜尋作業結果數據表之搜尋作業介面的螢幕快照。

  6. 輸入搜尋工作結果資料表的名稱,然後選取 [執行搜尋工作]。

    Azure 監視器記錄會執行搜尋工作,並在工作區中為您的搜尋工作結果建立新的資料表。

  7. 當新的數據表準備就緒時,請選取 [檢視 '<searchtablename>_SRCH' 以檢視 Log Analytics 中的數據表。

    搜尋作業結果會在開始流入新建立的搜尋作業結果數據表時提供。

    此螢幕擷取畫面顯示含有資料的搜尋工作結果資料表。

    Azure 監視器記錄會顯示搜尋 作業 完成時訊息。 當您看到該訊息或進度顯示 100% 時,表示結果資料表現在已準備好,其中包含與搜尋查詢相符的所有記錄。

取得搜尋工作狀態和詳細資料

請查看搜尋結果表格,追蹤搜尋工作的進度。

  1. 從 [Log Analytics 工作區] 功能表中,選取 [記錄]。

  2. 從 [數據表>搜尋結果] 中,將滑鼠停留在搜尋結果數據表上以檢視進度。

    搜尋作業結果數據表上的圖示會顯示更新指標圖示,直到搜尋作業完成為止。

    截圖顯示搜尋表結果的狀態。

刪除搜尋任務表

查詢完後刪除搜尋工作表。 此最佳做法可減少工作區雜亂和數據保留的額外費用。

考慮事項

搜尋作業須遵循下列考量:

  • 進行最佳化,一次查詢一個資料表
  • 搜尋日期範圍是總保留期間內的任何期間
  • 支援最多可達 24 小時逾時的長時間執行搜尋
  • 結果限制為記錄集中的 100,000,000 筆記錄 - 如果超過限制,Azure 監視器會中止作業,狀態為 部分成功,而資料表只會包含到該點為止擷取的記錄
  • 平行執行局限於每個工作區十個搜尋作業。
  • 每個工作區限制為 200 個搜尋結果表格
  • 每個工作區每天只能執行 200 次搜尋工作
  • 不支援跨租用戶搜尋作業
  • 即使委派包含適當的 searchJobs/write 權限,搜尋作業也不支援 Azure Lighthouse 委派的存取權,會失敗並顯示錯誤訊息:
    User<managing-tenant-userId>。

KQL 查詢注意事項

搜尋工作會掃描特定資料表中的大量資料,因此搜尋工作查詢必須始終以資料表名稱開始。 為了透過分發與分割實現非同步執行,查詢支援 KQL 的子集,包括以下表格運算子:

這些運算子中的所有函式和二元運算元都可以使用。

contains字串運算子被阻止在搜尋工作中使用,因為進階文字比對對效能有重大影響。 請改用 has 字串運算子。 如需效能考慮的詳細資訊,請參閱 優化 Azure 監視器中的記錄查詢。

計價模式

搜尋作業費用取決於:

  • 搜尋作業執行

    • 分析日誌 ——搜尋工作掃描的長期保留資料量。

      附註

      如果是分析記錄,掃描分析保留中的資料是免費服務。

    • 基本或輔助方案 — 搜尋工作在所查詢時間範圍內掃描的所有資料。

    掃描的資料會定義為在您指定的時間範圍內執行搜尋工作的資料表中的資料量。 如需有關分析保留和長期保留的詳細資訊,請參閱管理 Log Analytics 工作區中的資料保留 (部分機器翻譯)。

  • 搜尋工作結果 - 根據分析日誌的資料攝取率,搜尋工作找到並匯入結果表的資料量。

定價範例

如果在包含分析日誌的表格上搜尋長達 60 天,且該表格每天攝取 500 GB 的資料,但該表格的分析保留期設定為 30 天,則你將被收取 15,000 GB 掃描資料的費用——只有長期保留的 30 天資料。 掃描分析保存期間 30 天的資料是免費的。 如果搜尋作業傳回 1,000 筆記錄,您需要支付將這 1,000 筆記錄擷取到結果資料表的費用。

如果在包含基本或輔助日誌的表格上搜尋長達 60 天,且該表格每天吞入 500 GB 的資料,則你將被收取 30,000 GB 掃描資料的費用。 如果搜尋作業傳回 1,000 筆記錄,您需要支付將這 1,000 筆記錄擷取到結果資料表的費用。

如需詳細資訊,請參閱 Azure 監視器計量價格。