Azure 監視器中的轉換
Azure 監視器中的轉換可讓您先篩選或修改傳入數據,再傳送至 Log Analytics 工作區。 轉換會在數據源傳遞數據之後以及傳送至目的地之前,在雲端管線中執行。 它們定義在資料收集規則 (DCR) 中,並使用個別套用至傳入數據中每個專案的 Kusto 查詢語言 (KQL) 語句。
下圖說明傳入資料的轉換程序,並顯示可能使用的範例查詢。 在此範例中,只會記錄數據行包含該字error
的收集位置message
。
支援的資料表
Log Analytics 工作區中的下表支援轉換。
- 支援 Azure 監視器記錄中轉換的資料表中所列的任何 Azure 資料表。 您也可以使用 Azure 監視器資料參考,其中列出每個資料表的屬性,包括是否支援轉換。
- 為 Azure 監視器代理程式建立的任何自訂資料表
建立轉換
有一些數據收集案例可讓您使用 Azure 入口網站 新增轉換,但大部分案例會要求您使用其 JSON 定義建立新的 DCR,或將轉換新增至現有的 DCR。 如需常見案例的範例轉換查詢,請參閱在 Azure 監視器中建立不同選項的轉換和最佳做法和範例。
工作區轉換 DCR
轉換是在數據收集規則中定義,但 Azure 監視器中仍有尚未使用 DCR 的數據集合。 範例包括診斷設定所收集的資源記錄,以及 Application Insights 所收集的應用程式數據。
工作區轉換資料收集規則 (DCR) 是一個直接套用至 Log Analytics 工作區的特殊 DCR。 此 DCR 的目的是對尚未使用 DCR 進行其資料收集的資料執行轉換,因此無法定義轉換。
每個工作區只能有一個工作區 DCR,但它可以包含任意數目支持數據表的轉換。 除非該資料來自另一個 DCR,否則這些轉換會套用至傳送至這些資料表的任何資料。
例如, 事件 數據表可用來儲存來自 Windows 虛擬機的事件。 如果您在事件數據表的工作區轉換 DCR 中建立轉換,它會套用至執行 Log Analytics 代理程式1 的虛擬機所收集的事件,因為此代理程式不會使用 DCR。 不過,從 Azure 監視器代理程式 (AMA) 傳送的任何數據都會忽略轉換,因為它會使用 DCR 來定義其數據收集。 您仍然可以搭配 Azure 監視器代理程式使用轉換,但您會在與代理程式相關聯的 DCR 中包含該轉換,而不是工作區轉換 DCR。
1 Log Analytics 代理程式已被取代,但某些環境可能仍會使用它。 這隻是未使用 DCR 之數據來源的其中一個範例。
轉換成本
雖然轉換本身不會產生直接成本,但下列案例可能會導致額外費用:
- 如果轉換增加傳入資料的大小 (例如透過新增計算結果欄),您將需要支付額外資料的標準擷取費率。
- 如果轉換將擷取的資料減少了一半以上,您將需要支付超過 50% 之已篩選資料量的費用。
若要計算轉換所產生的資料處理費用,請使用下列公式:
[轉換所篩選的 GB] - ([管線所擷取的 GB 資料] / 2)。 下表顯示範例。
管線所擷取的資料 | 轉換所捨棄的資料 | Log Analytics 工作區所擷取的資料 | 資料處理費用 | 擷取費用 |
---|---|---|---|---|
20 GB | 12 GB | 8 GB | 2 GB 1 | 8 GB |
20 GB | 8 GB | 12 GB | 0 GB | 12 GB |
1 此費用不包括 Log Analytics 工作區所擷取的資料費用。
若要避免這項費用,您應該先使用替代方法篩選內嵌資料,再套用轉換。 如此一來,您就可以減少轉換所處理的資料量,從而將任何額外的成本降到最低。
如需擷取和保留 Azure 監視器中記錄資料的目前費用,請參閱 Azure 監視器定價。
重要
如果已啟用 Log Analytics 工作區的 Azure Sentinel,則不論轉換篩選了多少資料,都不會有篩選擷取費用。