Share via


教學課程:在 Azure 監視器記錄中擷取期間轉換文字記錄

擷取時間轉換可讓您先篩選或修改傳入數據,再將其儲存在Log Analytics工作區中。 本文說明如何撰寫可轉換文字記錄數據的 KQL 查詢,並將轉換新增至數據收集規則。

此處所述的程式假設您已經從文本檔擷取一些數據,如使用 Azure 監視器代理程式收集文字記錄中所述。 在本教學課程中,您將:

  1. 撰寫 KQL 查詢以轉換內嵌的數據。
  2. 修改目標數據表架構。
  3. 將轉換新增至數據收集規則。
  4. 確認轉換正常運作。

必要條件

為完成此程序,您必須:

  • 您至少擁有參與者權限所在的 Log Analytics 工作區。
  • 數據收集規則數據收集端點自定義數據表,如使用 Azure 監視器代理程式收集文字記錄中所述
  • VM、虛擬機擴展集或已啟用 Arc 的內部部署伺服器,會將記錄寫入文字檔。 文字檔需求:
    • 儲存在 Azure 監視器代理程式執行所在的機器本機磁碟驅動器上。
    • 以行結尾來劃定。
    • 使用 ASCII 或 UTF-8 編碼。 不支援其他格式,例如UTF-16。
    • 不允許循環記錄、以新專案覆寫檔案的記錄輪替,或重新命名移動檔案的位置,以及開啟同名的新檔案。

撰寫 KQL 查詢以轉換內嵌的數據

  1. 在 Log Analytics 中檢視目標自訂資料表中的數據:

    1. 在 Azure 入口網站 中,選取 Log Analytics 工作區您的 Log Analytics 工作區>>記錄。
    2. 執行自訂記錄數據表以檢視數據表數據的基本查詢。
  2. 使用查詢視窗來撰寫及測試查詢,以轉換數據表中的原始數據。

    如需轉換支援的 KQL 運算子相關信息,請參閱 Azure 監視器中的轉換結構。

    注意

    唯一可用來套用轉換的數據行是 TimeGenerated 和 RawData。 其他數據行會在轉換之後自動新增至數據表,而且在轉換時無法使用。 轉換中無法使用_ResourceId數據行。

    範例

    此範例會使用 基本的 KQL 運算子 ,將資料行中的數據 RawData 剖析成三個新的資料行,稱為 Time IngestedRecordNumberRandomContent

    • 運算子 extend 會加入新的數據行。
    • 運算子會將 project 輸出格式化為符合目標資料表架構的數據列:
    MyTable_CL
    | extend d=todynamic(RawData)  
    | project TimeGenerated,TimeIngested=tostring(d.Time), 
    RecordNumber=tostring(d.RecordNumber), 
    RandomContent=tostring(d.RandomContent), 
    RawData 
    

    注意

    以這種方式查詢數據表數據並不會實際修改數據表中的數據。 當您將轉換查詢新增至數據收集規則之後,Azure 監視器會在資料擷取管線中套用轉換。

  3. 將查詢格式化為單行,並以 單 source行取代查詢第一行中的數據表名稱。

    例如:

    source | extend d=todynamic(RawData) | project TimeGenerated,TimeIngested=tostring(d.Time),RecordNumber=tostring(d.RecordNumber), RandomContent=tostring(d.RandomContent), RawData 
    
  4. 複製格式化的查詢,以便將它貼到數據收集規則組態中。

修改自訂數據表以包含新的資料行

根據您的轉換查詢,在自定義資料表中新增或刪除資料行。

上述的範例轉換查詢會新增三個 類型 string的新資料行:

  • TimeIngested
  • RecordNumber
  • RandomContent

若要支援此轉換,請將這三個新數據行新增至您的自定義資料表。

[架構編輯器] 窗格的螢幕快照,其中已定義 TimeIngested、RecordNumber 和 RandomContent 數據行。

將轉換套用至資料收集規則

  1. 在 [ 監視] 功能表上,選取 數據收集規則的 [數據收集> 規則]。

  2. >選取數據源。

  3. 在 [新增數據源] 畫面的 [數據源] 索引標籤的 [轉換] 欄位中,貼上格式化的轉換查詢。

  4. 選取 [儲存]。

    [新增數據源] 窗格的螢幕快照,其中已醒目提示 [轉換] 字段。

檢查轉換是否正常運作

檢視目標自定義資料表中的數據,並檢查資料是否正確地內嵌至修改的數據表:

  1. 在 Azure 入口網站 中,選取 Log Analytics 工作區您的 Log Analytics 工作區>>記錄。
  2. 執行自訂記錄數據表以檢視數據表數據的基本查詢。

下一步

深入了解: