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