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

搜尋作業為非同步查詢,可將記錄擷取至工作區中的新搜尋資料表以進行進一步分析。 搜尋作業運用平行處理,並能在大型資料集中執行數小時。 本文說明如何建立搜尋作業,以及如何查詢其產生的資料。

注意

在具有客戶自控金鑰的工作區中,目前不支援搜尋工作功能。

權限

若要執行搜尋工作,您對於 Log Analytics工作區需要 Microsoft.OperationalInsights/workspaces/tables/writeMicrosoft.OperationalInsights/workspaces/searchJobs/write 權限,例如 Log Analytics 參與者內建角色所提供的權限。

使用搜尋作業的時機

10 分鐘的記錄查詢逾時不足以在大量資料中搜尋時,或執行緩慢的查詢時,請使用搜尋工作。

搜尋作業可讓您自封存記錄基本記錄資料表中,將記錄擷取至可用於查詢的新記錄資料表。 如此一來,執行搜尋作業可以是下列替代方案:

  • 從特定時間範圍的封存記錄還原資料
    當您暫時需要對大量資料執行許多查詢時,請使用還原。

  • 直接查詢基本記錄,並支付每個查詢的費用。
    若要決定哪一個替代方案更符合成本效益,請比較查詢基本記錄的成本與執行搜尋工作以及儲存搜尋工作結果的成本。

搜尋作業有哪些功能?

搜尋作業能將結果傳送至與來源資料相同工作區中的新資料表。 搜尋作業開始時,即可使用結果資料表,但結果可能需要一些時間才會開始出現。

搜尋工作結果資料表是 Analytics 資料表,可用於記錄查詢,以及其他在工作區中使用資料表的 Azure 監視器功能。 資料表會使用為工作區設定的保留值,但您可以在建立資料表之後修改此值。

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

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

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

執行搜尋作業

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

提示

執行搜尋工作會產生費用。 因此,在執行搜尋工作之前,請以互動式查詢模式撰寫和最佳化查詢。

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

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

  2. 選取畫面右側的省略符號功能表,然後切換 [搜尋工作模式]

    Screenshot of the Logs screen with the Search job mode switch highlighted.

    Azure 監視器記錄 intellisense 支援搜尋工作模式中的 KQL 查詢限制,以協助您撰寫搜尋工作查詢。

  3. 使用時間選擇器指定搜尋工作日期範圍。

  4. 輸入搜尋工作查詢,然後選取 [搜尋工作] 按鈕。

    Azure 監視器記錄會提示您提供結果集資料表的名稱,並通知您搜尋工作受限於計費。

    Screenshot that shows the Azure Monitor Logs prompt to provide a name for the search job results table.

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

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

    Screenshot that shows an Azure Monitor Logs message that the search job is running and the search job results table will be available shortly.

  6. 當新的資料表就緒時,請選取 [檢視 tablename_SRCH],以在 Log Analytics 中檢視資料表。

    Screenshot that shows an Azure Monitor Logs message that the search job results table is available to view.

    搜尋工作結果開始流入新建立的搜尋工作結果資料表時,您可以看到搜尋工作結果。

    Screenshot that shows search job results table with data.

    Azure 監視器記錄會在搜尋工作結束時顯示 [搜尋工作完成] 訊息。 結果資料表現在已就緒,其中具有符合搜尋查詢的所有記錄。

    Screenshot that shows an Azure Monitor Logs message that the search job is done.

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

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

  2. 從 [資料表] 索引標籤中,選取 [搜尋結果] 以檢視所有搜尋工作結果資料表。

    除非搜尋工作完成,否則搜尋工作結果資料表上的圖示會顯示更新指示。

    Screenshot that shows the Tables tab on Logs screen in the Azure portal with the search results tables listed under Search results.

刪除搜尋工作資料表

當您完成資料表的查詢時,建議您刪除搜尋工作資料表。 這可減少資料保留的工作區雜亂和額外費用。

限制

搜尋作業受到下列限制:

  • 最好一次只查詢一個資料表。
  • 搜尋日期範圍上限為一年。
  • 支援長時間執行的搜尋,逾時上限為 24 小時。
  • 結果僅限於記錄集中的一百萬筆記錄。
  • 每個工作區的搜尋作業平行執行上限為 5 個。
  • 每個工作區的搜尋結果資料表上限為 100 個。
  • 每個工作區每天只能執行 100 個搜尋作業。

當您達到記錄限制時,Azure 會中止作業,狀態為部分成功,而資料表只會包含擷取到該點的記錄。

KQL 查詢限制

搜尋工作旨在掃描特定資料表中的大量資料。 因此,搜尋工作查詢的開頭一律必須為資料表名稱。 若要使用散發和分割來啟用非同步執行,查詢會支援 KQL 子集,包括運算子:

您可以在這些運算子內使用所有函式和二元運算子。

計價模式

搜尋作業的費用是以下列為基礎:

  • 搜尋工作執行 - 搜尋工作掃描的資料量。
  • 搜尋工作結果 - 根據一般記錄資料內嵌價格,搜尋作業找到和在結果資料表中所擷取的資料量。

例如,如果您的資料表每天保留 500 GB,對於超過 30 天的搜尋,您會為 15,000 GB 的掃描資料支付費用。 如果搜尋作業找到 1,000 筆符合查詢的記錄,您將需支付將這 1,000 筆記錄擷取到結果資料表的費用。

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

下一步