這很重要
從 2023 年 3 月 31 日開始,將停用建立新自訂欄位。 自訂欄位功能將被取代,現有的自訂欄位將在 2026 年 3 月 31 日之前停止運作。 您應該 遷移至資料擷取階段轉換,以繼續剖析您的日誌記錄。
目前,當您新增自訂欄位時,最多可能需要 7 天才能開始顯示資料。
Azure 監視器的 自訂欄位 功能可讓您新增自己的可搜尋欄位,以擴充 Log Analytics 工作區中的現有記錄。 自訂欄位會自動從從相同記錄中的其他屬性擷取的資料填入。
例如,下列範例記錄在事件描述中隱藏了有用的資料。 將此資料擷取至個別屬性,可使其可用於排序和篩選等動作。
備註
在預覽中,您的工作區中限制為 500 個自訂欄位。 當此功能正式推出時,此限制將會擴大。
建立自訂欄位
當您建立自訂欄位時,Log Analytics 必須瞭解要使用哪些資料來填入其值。 它使用 Microsoft Research 的一項名為 FlashExtract 的技術來快速識別這些數據。 Azure 監視器不會要求您提供明確的指示,而是會瞭解您想要從您提供的範例擷取的資料。
下列各節提供建立自訂欄位的程式。 若要查看範例擷取的逐步解說,請移至 範例逐步解說。
備註
自訂欄位會在符合指定準則的記錄新增至 Log Analytics 工作區時填入,因此它只會出現在建立自訂欄位之後收集的記錄上。 在自訂欄位建立時,它不會新增到資料存放區中已存在的記錄。
步驟 1:識別取得自訂欄位的記錄
第一步是識別取得自訂欄位的記錄。 您會從 標準記錄查詢 開始,然後選取記錄,作為 Azure 監視器從中學習的模型。 當您指定要將資料擷取至自訂欄位時,會開啟「 欄位擷取精靈 」,您可以在其中驗證和精簡準則。
- 前往 日誌,使用 查詢以擷取 含有自訂欄位的記錄。
- 選取一筆記錄,供 Log Analytics 使用,以作為擷取資料並填入自訂欄位的範本。 您將識別要從此記錄擷取的資料,而 Log Analytics 會使用此資訊來判斷邏輯,以填入所有類似記錄的自訂欄位。
- 以滑鼠右鍵按一下記錄,然後選取 [從中擷取欄位]。
- 「 欄位擷取精靈 」隨即開啟,您選取的記錄會顯示在「 主要範例」 欄中。 自訂欄位將針對所選屬性中具有相同值的記錄定義。
- 如果選取範圍不完全符合您想要的範圍,請選取更多欄位以縮小準則範圍。 若要變更條件的欄位值,您必須取消並選取符合所需條件的其他記錄。
步驟 2:執行初始擷取
識別取得自訂欄位的記錄之後,您就可以識別要擷取的資料。 Log Analytics 會使用此資訊來識別類似記錄中的類似模式。 在 步驟 3 中,您將能夠驗證結果,並提供 Log Analytics 在分析中使用的進一步詳細數據。
- 反白顯示範例記錄中您要填入自訂欄位的文字。 然後,您將看到一個對話框,用於提供欄位的名稱和資料類型,並執行初始擷取。 _CF字元將自動附加。
- 按一下 擷取 以執行收集記錄的分析。
- 「 摘要」 和 「搜尋結果」 區段會顯示擷取的結果,以便您可以檢查其精確度。 摘要 顯示用於識別記錄的標準,並提供每個資料值的計數。 「搜尋結果」 提供符合條件的記錄詳細清單。
步驟 3:驗證擷取的準確性並建立自訂欄位
執行初始擷取之後,Log Analytics 會根據已收集的資料顯示其結果。 如果結果看起來準確,您可以建立自訂欄位,無需進一步工作。 如果沒有,您可以精簡結果,讓 Log Analytics 可以改善其邏輯。
- 如果初始擷取中的任何值不正確,請按一下不準確記錄旁邊的 編輯 圖示,然後選取 修改此醒目提示 以修改選取範圍。
- 該條目將複製到主要示例下方的附加示例部分。 您可以在此處調整高亮,以協助 Log Analytics 瞭解應做出的選擇。
- 按一下 擷取, 以使用此新資訊來評估所有現有記錄。 根據此新情報,除了您剛剛修改的記錄外,其他記錄的結果也可能會被修改。
- 繼續新增更正,直到擷取中的所有記錄都正確識別資料以填入新的自訂欄位為止。
- 按一下 儲存擷取 當您對結果感到滿意時。 自訂欄位現已定義,但尚未新增至任何記錄。
- 等待收集符合指定準則的新記錄,然後再次執行日誌搜尋。 新記錄應該具有自訂欄位。
- 像使用任何其他記錄屬性一樣使用自訂欄位。 您可以使用它來彙總和分組資料,甚至可以用它來產生新的見解。
移除自訂欄位
有兩種方法可以移除自訂欄位。 第一個是檢視完整清單時每個欄位的 「移除」 選項,如 步驟2:執行初始擷取中所述。 另一種方法是檢索記錄並單擊字段左側的按鈕。 選單有一個選項可以刪除自訂欄位。
範例逐步解說
下一節將逐步解說建立自訂欄位的完整範例。 此範例會擷取 Windows 事件中的服務名稱,指出服務變更狀態。 這依賴於 Service Control Manager 在 Windows 電腦上啟動系統期間建立的事件。 如果您想要遵循此範例,則必須 收集系統日誌的資訊事件。
我們輸入下列查詢,以從服務控制管理員傳回事件標識碼為 7036 的所有事件,這是指出服務啟動或停止的事件。
然後,我們以滑鼠右鍵按一下事件 ID 為 7036 的任何記錄,並選取 [從「事件」擷取欄位]。
欄位擷取精靈隨即開啟,並在「主要範例」欄中選取 EventLog 和 EventID 欄位。 這表示將針對事件識別碼為 7036 的系統記錄檔中的事件定義自訂欄位。 這就足夠了,所以我們不需要選擇任何其他欄位。
我們會在 RenderedDescription 屬性中醒目提示服務的名稱,並使用 Service 來識別服務名稱。 自訂欄位將稱為 Service_CF。 本例中的欄位類型是字串,因此我們可以保持不變。
我們注意到某些記錄的服務名稱已被正確識別,但其他記錄的服務名稱卻未被識別。 搜尋結果顯示未選取 WMI 效能配接器的名稱中的部分。 摘要顯示,其中一筆記錄識別了模組安裝程式,而不是 Windows 模組安裝程式。
我們從 WMI 效能轉接器 記錄開始。 我們單擊其編輯圖標,然後 修改此突出顯示。
我們增加醒目提示以包含 WMI 一詞,然後重新執行擷取。
我們可以看到 WMI 效能配接器 的項目已更正,而且 Log Analytics 也使用該資訊來更正 Windows 模組安裝程式 的記錄。
我們現在可以執行一個查詢來驗證 Service_CF 已建立,但尚未新增到任何記錄中。 這是因為自訂欄位不適用於現有記錄,因此我們需要等待收集新記錄。
一段時間後,會收集新事件,我們可以看到 Service_CF 欄位已新增至符合我們條件的記錄。
我們現在可以像使用任何其他記錄屬性一樣使用自訂欄位。 為了說明這一點,我們建立一個查詢,按新的 Service_CF 欄位分組,以檢查哪些服務最活躍。