Log Analytics 工作區中的資料匯出規則允許您依選定的資料表持續匯出資料。 當數據到達 Azure 監視器 時,匯出到 Azure Blob 儲存體 帳戶或 Azure 事件中樞。 本文提供此功能的詳細資訊及設定工作區資料匯出規則的步驟。
概觀
Log Analytics 中的資料可在工作區中定義的保留期間內存取。 可用於 Azure 監視器和 Azure 服務中提供的各種體驗。 在部分案例時,您必須使用其他工具:
-
防竄改儲存體合規性: 資料在擷取至 Log Analytics 後無法變更,但可以清除。 匯出到設定有 不可變性政策 的儲存帳號,以保護資料被竄改。
-
整合 Azure 服務和其他工具:資料送達 Azure 監視器並在其中進行處理後,匯出至事件中樞。
-
審計與安全資料的長期保存: 匯出到工作區區域內的儲存帳號。 可透過使用 Azure 儲存體 的冗餘選項(包括 GRS 和 GZRS)將資料複製到其他區域。
在 Log Analytics 工作區設定資料匯出規則後,規則中資料表的新資料會在抵達時,從 Azure 監視器管線匯出至您的儲存體帳戶或事件中樞。 資料匯出流量是在 Azure 骨幹網路中,不會離開 Azure 網路。
資料會在沒有篩選的情況下匯出。 例如,設定 SecurityEvent 資料表的資料匯出規則後,傳送至 SecurityEvent 資料表的所有資料會從設定時間開始匯出。 或者,透過在工作區設定 轉換 來過濾或修改匯出的資料。 轉換會在傳入資料傳送至 Log Analytics 工作區和匯出目的地之前套用。
其他匯出選項
Log Analytics 資料匯出規則會持續匯出傳送到您的 Log Analytics 工作區的資料。 其他針對這些特定情境的匯出資料選項:
所需權限
| 動作 |
所需權限 |
| 建立或更新數據匯出規則 |
例如,Microsoft.OperationalInsights/workspaces/dataexports/write所提供的 Log Analytics 工作區 權限 |
| 刪除資料匯出規則 |
例如,Microsoft.OperationalInsights/workspaces/dataexports/delete所提供的 Log Analytics 工作區 權限 |
| 匯出到儲存帳戶 |
例如,由內建的儲存體帳戶參與者角色所提供,對儲存體帳戶具有 Microsoft.Storage/storageAccounts/blobServices/containers/write 權限。 |
| 匯出至事件中樞 |
Microsoft.EventHub/namespaces/eventhubs/write、Microsoft.EventHub/namespaces/eventhubs/messages/write、Microsoft.EventHub/namespaces/authorizationRules/listkeys/action 事件中心的權限,例如由 Azure 事件中心資料擁有者內建角色所提供的權限。 |
| 查詢資料表中的記錄 |
例如,Microsoft.OperationalInsights/workspaces/query/<table>/read所提供的 Log Analytics 工作區 權限 |
| 資料表中的查詢記錄 (資料表動作) |
例如,Microsoft.OperationalInsights/workspaces/tables/query/read所提供的 Log Analytics 工作區 權限 |
Considerations
- 你無法匯出使用 HTTP Data Collector API 建立的自訂日誌,包括 Log Analytics 代理所處理的文字日誌。 你可以匯出使用 資料收集規則建立的自訂日誌,包括文字式日誌。
- 數據匯出將逐漸支援更多數據表。 請參閱 「無支援表格 」部分。
- 每個工作區最多可啟用 10 條規則,且每條規則可包含多個資料表。
- 儲存體帳戶必須在工作區的所有規則之間保持唯一。
- 支持的數據表計劃為 Analytics 和 Basic。 不支援輔助方案。
- 目的地必須與 Log Analytics 工作區位於相同的區域。
- 不支援匯出到高級儲存帳號。
資料完整性
數據匯出已經過優化,能夠將大量數據移動到您的目的地。 若目的地的規模或可用性不足,重試程序將持續長達 12 小時,可能導致部分匯出紀錄被重複。 請遵循 儲存體帳戶 和 Event Hubs 目的地的建議,以提高可靠性。 如果目的地在重試期間之後仍然無法使用,則會捨棄資料。
如需有關目的地限制和建議警示的詳細資訊,請參閱建立或更新資料匯出規則。
計價模式
資料匯出費用會根據 JSON 格式資料匯出至目的地的位元組數目,以 GB (10^9 個位元組) 為單位來計算。 Azure 監視器 Logs 中報告的資料表大小比匯出目的地的資料大小還小。 此差異源自以下因素:
- Azure 監視器 日誌會在可計費大小計算中排除某些欄位。
- 匯出到儲存裝置的資料是未壓縮的。
- 匯出資料中每個記錄都會附有屬性名稱,以確保每筆記錄都是有效的 JSON。
- 當實際記錄較小型時,中繼資料便是顯著的額外負荷,讓相對大小的增加更加明顯。
數據匯出大小計算無法透過工作區查詢來完成,因為大小計算不包含 JSON 格式額外負荷。 比較 Azure 監視器記錄中回報的大小與儲存體帳戶中顯示的大小時,預期會有顯著差異。 在 Azure 監視器 日誌中,小型事件會省略如屬性名稱等中繼資料,而儲存區塊則包含中繼資料與未壓縮的 JSON,使記錄體積大幅增加。
為了獲得準確估算,可以將代表性匯出到測試的 blob 容器,並使用這個範例 PowerShell 腳本來計算 blob 容器的總計費大小來衡量結果。 目前不收取導出至主權雲端的費用。 啟用之前會傳送通知。
資料匯出規則會依 Log Analytics 資料匯出 計量單位計費。 相同的計量也用於匯出作業(預覽)。 要在發票或成本分析中區分這兩者,請檢查 「附加資訊 」欄位,該欄位標註資料匯出規則 ExportType:Data export rule。
如需詳細資訊,包括資料匯出計費時間表,請參閱 Azure 監視器定價。 資料匯出的計費已在 2023 年 10 月初啟用。
匯出目的地
在工作區中建立匯出規則前,資料匯出目的地必須可供使用。 目的地可以位於不同的訂閱方案中。 使用 Azure Lighthouse,您也可以將資料傳送至另一個 Microsoft Entra 租戶中的目的地。
記憶體帳戶
透過使用沒有其他非監控資料的現有儲存帳號,避免因延遲或速率超過而導致的儲存入侵失敗。 此方法有助於您更好地控制資料存取,並提升資料匯出的可靠性。
若要將資料傳送到不可變儲存帳號,請依照 Set 和 Manage Azure Blob 儲存體 的不可變性政策設定該儲存帳號的不可變政策。 您必須遵循本文中所有的步驟,包括啟用受保護的附加 Blob 寫入。
| 儲存需求 |
詳細資料 |
| 帳戶層級 |
StorageV1 或更新版本。 Premium 不支援。 |
| 區域 |
和 Log Analytics 工作區是同一區域。 使用 Azure 儲存體 冗餘選項(GRS、GZRS)進行跨區域複製。 |
| 容器命名 |
每個資料表有一個容器,名稱為 am- 後接資料表名稱(例如 am-SecurityEvent)。 |
| 資料夾結構 |
5 分鐘資料夾: WorkspaceResourceId=/subscriptions/.../y=<year>/m=<month>/d=<day>/h=<hour>/m=<minute>/PT05M.json |
| Blob 格式 |
JSON Lines,以換行符號分隔,沒有外層陣列。 |
| 追加限制 |
每個 Blob 可寫入 50,000 次。 其他 blob 檔案已新增為 PT05M_#.json。 |
附註
附加至 Blob 會根據 "TimeGenerated" 欄位來寫入,並會在接收來源資料時發生。 延遲抵達 Azure 監視器或在目的地節流之後重試的資料會根據其 TimeGenerated 寫入 Blob。
儲存帳號中 blob 的格式是以 JSON 行為單位,每筆紀錄都以新行分隔,沒有外層記錄陣列,也沒有逗號。
事件中樞
避免使用具有現有非監視數據的事件中樞。 此最佳做法有助於防止因延遲或超出速率限制而導致的流量入口失敗。
資料到達 Azure 監視器並匯出至工作區區域的目的地後,即傳送至事件中樞。 藉由在規則中提供不同的 Event Hub name ,建立多個導出規則至相同的事件中樞命名空間。 當未提供 Event Hub name 時,系統會為您匯出的資料表建立一個預設的事件中樞,並將其命名為 am- 加上資料表的名稱。 例如,資料表 SecurityEvent 會傳送至名為 am-SecurityEvent 的事件中樞。
「基本」和「標準」命名空間層支援的事件中樞數目為 10。 當您要將超過 10 個資料表匯出至這些層級時,可以將資料表分割成多個匯出規則,將其匯出至不同的事件中樞命名空間,或者提供單一事件中樞名稱以將所有資料表匯出至該命名空間。
附註
- 基本事件中樞的命名空間層級有限。 其支援較低的事件大小,而且沒有自動擴充選項可自動擴大和增加輸送量單位數目。 由於工作區的資料量會隨著時間增加,因此需要對事件中樞進行擴展,建議使用啟用自動擴充功能的「標準」、「進階」或「專用」事件中樞層級。 如需詳細資訊,請參閱自動擴大 Azure 事件中樞輸送量單位。
- 你不能使用 壓縮事件集線器 ,因為它要求訊息有分割鍵,而 Azure 監視器 沒有包含分割鍵。
- 啟用虛擬網路時,資料匯出無法傳送至事件中樞資源。 您必須選取 [允許受信任服務清單中的 Azure 服務存取此儲存器帳戶] 核取方塊,以略過事件中樞中的此防火牆設定,進而授與事件中樞的存取權。
查詢匯出的資料
將資料從工作區匯出至儲存體帳戶,有助於符合 概觀 中所述的各種案例需求,且可供能夠從儲存體帳戶讀取 Blob 的工具使用。 下列方法可讓您使用 Log Analytics 查詢語言來查詢資料,這與 Azure Data Explorer 的查詢語言相同。
啟用資料匯出
若要啟用 Log Analytics 資料匯出,請執行下列步驟。
建立資料匯出規則後, 監控目的地 以確保匯出作業的可靠。
註冊資源提供者
若要啟用 Log Analytics 資料匯出,請在訂閱中登錄 Azure 資源提供者 Microsoft.Insights。
此資源提供者可能已為大多數 Azure 監視器使用者註冊。 若要確認,請移至 Azure 入口網站中的訂閱。 選取您的訂閱,然後選取功能表 [設定] 區段底下的 [資源提供者]。 尋找 Microsoft.Insights。 如果其狀態為已登錄,即已經登錄。 如果不是,請選取 [註冊] 來進行註冊。
您也可以使用任何可用的方法登錄資源提供者,如 Azure 資源提供者和類型所述。 以下 Azure CLI 範例使用了該az provider register指令。
az provider register --namespace Microsoft.Insights
以下 Azure PowerShell 範例使用 Register-AzResourceProvider cmdlet。
Register-AzResourceProvider -ProviderNamespace Microsoft.Insights
允許信任的 Microsoft 服務
如果你設定儲存帳號允許從特定網路存取,你需要新增例外讓 Azure 監視器 寫入該帳號。 在您儲存體帳戶的 防火牆與虛擬網路 中,選取 允許受信任服務清單上的 Azure 服務存取此儲存體帳戶。
監視目的地
下列計量適用於資料匯出作業和警示
| 度量名稱 |
描述 |
| 已匯出的位元組 |
在所選時間範圍內,從 Log Analytics 工作區匯出到目的地的位元組總數。 匯出的資料大小是匯出 JSON 格式資料的位元組數目。 1 GB = 10^9 個位元組。 |
| 匯出失敗 |
在所選時間範圍內,從 Log Analytics 工作區到目的地的匯出失敗要求總數。 此數目包含目的地資源節流、禁止存取錯誤或任何伺服器錯誤所造成的失敗匯出嘗試。 重試程式會處理失敗的嘗試,而且數位不是遺漏數據的指示。 |
| 輸出紀錄 |
在所選時間範圍內,從 Log Analytics 工作區匯出的記錄總數。 此數目會計算成功結束之作業的記錄。 |
監控儲存帳號
用獨立的儲存帳戶來匯出。
設定計量的警示:
| Scope |
計量命名空間 |
計量 |
彙總 |
臨界值 |
| 儲存體名稱 |
帳戶 |
輸入 |
總和 |
每個警示評估期間最大輸入量的 80%。 例如,美國西部常規用途 v2 的限制為 60 Gbps。 每 5 分鐘評估期間的警示閾值為 1676 GiB。 |
警示補救動作:
- 用一個獨立的儲存帳號來匯出,不要和非監控資料分享。
- Azure 儲存體 Standard 帳戶可依要求支援更高的輸入限制。 若要要求提高,請連絡 Azure 支援。
- 將資料表分散到更多儲存帳戶之間。
監視事件中樞
設定計量上的警示:
| Scope |
計量命名空間 |
計量 |
彙總 |
臨界值 |
| 命名空間名稱 |
事件中樞標準計量 |
傳入位元組 |
總和 |
每個警示評估期間最大輸入量的 80%。 例如,每個單位 (TU 或 PU) 的限制為 1 MB/秒,並使用五個單位。 每 5 分鐘評估期間的閾值是 228 MiB。 |
| 命名空間名稱 |
事件中樞標準計量 |
收到的請求 |
Count |
每個警示評估期間最大事件量的 80%。 例如,每個單位 (TU 或 PU) 的限制為 1,000/秒,並使用五個單位。 每 5 分鐘評估期間的閾值是 1,200,000。 |
| 命名空間名稱 |
事件中樞標準計量 |
超出配額的錯誤 |
Count |
介於 1% 的要求。 例如,每 5 分鐘的要求數是 600,000。 每 5 分鐘評估期間的閾值是 6,000。 |
警示補救動作:
- 請使用單獨的事件中樞命名空間來匯出,不與非監控資料共用。
- 設定自動擴充功能,自動擴大並增加輸送量單位的數目,滿足使用量需求。
- 確認傳輸單位的增加以適應資料量。
- 在更多命名空間之間分割資料表。
- 針對較高的輸送量,使用「進階」或「專用」層。
建立或更新資料匯出規則
資料匯出規則會定義資料匯出的目的地和資料表。 在匯出作業起始之前,規則佈建大約需要 30 分鐘的時間。 資料匯出規則注意事項:
- 儲存體帳戶必須在工作區的所有規則之間保持唯一。
- 當您傳送至個別的事件中樞時,多個規則可以使用相同的事件中樞命名空間。
- 匯出到儲存帳號:每個資料表會在儲存帳號中建立獨立的容器。
- 匯出至事件中樞:如果未提供事件中樞名稱,即會為每個資料表建立個別的事件中樞。
「基本」和「標準」命名空間層支援的事件中樞數目為 10。 當您匯出 10 個以上的資料表至這些命名空間層時,若要匯出所有資料表,您可以將資料表分割成多個匯出規則至不同的事件中樞命名空間,或在規則中提供事件中樞名稱。
從 Azure 入口網站,前往你的 Log Analytics 工作區。
在左側選單的 設定中,選擇 規則。
選擇 「資料匯出規則 」標籤。
選取窗格頂端的 [新增匯出規則]。
遵循步驟,然後選取 [建立]。 只有包含資料的資料表會顯示在 [來源] 索引標籤下。
以下 Azure CLI 範例使用了該az monitor log-analytics workspace data-export create指令。
使用 Azure CLI 匯出至儲存體帳戶
該規則會將每個資料表匯出到儲存帳號中的獨立容器。
# Set variables
resourceGroupName="<ResourceGroupName>"
workspaceName="<WorkspaceName>"
dataExportName="<DataExportName>"
storageAccountName="<StorageAccountName>"
# Get the subscription ID from the current Azure CLI context
subscriptionId=$(az account show --query id --output tsv)
# Build destination storage account resource ID
storagePath="/subscriptions/$subscriptionId/resourceGroups/$resourceGroupName"
storageProvider="Microsoft.Storage/storageAccounts/$storageAccountName"
storageAccountResourceId="$storagePath/providers/$storageProvider"
# Create the data export rule
az monitor log-analytics workspace data-export create \
--resource-group "$resourceGroupName" \
--workspace-name "$workspaceName" \
--name "$dataExportName" \
--tables SecurityEvent Heartbeat \
--destination "$storageAccountResourceId"
使用 Azure CLI 匯出至特定事件中樞
透過 CLI,運用下列命令來創建到特定事件中樞的資料匯出規則。 所有資料表都會匯出至提供的事件中樞名稱,並可根據類型欄位篩選及分隔資料表。
# Set variables
resourceGroupName="<ResourceGroupName>"
workspaceName="<WorkspaceName>"
dataExportName="<DataExportName>"
eventHubNamespace="<EventHubNamespace>"
eventHubName="<EventHubName>"
# Get the subscription ID from the current Azure CLI context
subscriptionId=$(az account show --query id --output tsv)
# Build destination Event Hub namespace resource ID
eventHubNsPath="/subscriptions/$subscriptionId/resourceGroups/$resourceGroupName"
eventHubNsProvider="Microsoft.EventHub/namespaces/$eventHubNamespace"
eventHubNamespaceResourceId="$eventHubNsPath/providers/$eventHubNsProvider"
# Create the data export rule
az monitor log-analytics workspace data-export create \
--resource-group "$resourceGroupName" \
--workspace-name "$workspaceName" \
--name "$dataExportName" \
--tables SecurityEvent Heartbeat \
--destination "$eventHubNamespaceResourceId" \
--event-hub-name "$eventHubName"
使用 Azure CLI 匯出至 Event Hubs 命名空間
請使用以下指令建立資料匯出規則到事件中心的命名空間。 當你未提供特定的 Event Hub 名稱時,流程會為每個資料表建立個別的 Event Hub,最多可建立到 你的 Event Hubs 層所支援的 Event Hub 數量上限。 如果你有更多資料表要匯出,提供一個事件中心名稱來匯出任意數量的資料表,或設定新規則將剩餘的資料匯出到另一個活動中心命名空間。
# Set variables
resourceGroupName="<ResourceGroupName>"
workspaceName="<WorkspaceName>"
dataExportName="<DataExportName>"
eventHubNamespace="<EventHubNamespace>"
# Get the subscription ID from the current Azure CLI context
subscriptionId=$(az account show --query id --output tsv)
# Build destination Event Hub namespace resource ID
eventHubNsPath="/subscriptions/$subscriptionId/resourceGroups/$resourceGroupName"
eventHubNsProvider="Microsoft.EventHub/namespaces/$eventHubNamespace"
eventHubNamespaceResourceId="$eventHubNsPath/providers/$eventHubNsProvider"
# Create the data export rule
az monitor log-analytics workspace data-export create \
--resource-group "$resourceGroupName" \
--workspace-name "$workspaceName" \
--name "$dataExportName" \
--tables SecurityEvent Heartbeat \
--destination "$eventHubNamespaceResourceId"
附註
Azure CLI指令使用目前 CLI 上下文中的Azure Resource Manager端點,因此 management.azure.com 不需要在命令語法中指定。
以下 Azure PowerShell 範例使用 New-AzOperationalInsightsDataExport cmdlet。
使用 Azure PowerShell 匯出至儲存體帳戶
該規則會將每個資料表匯出到儲存帳號中的獨立容器。
# Set variables
$resourceGroupName = "<ResourceGroupName>"
$workspaceName = "<WorkspaceName>"
$dataExportName = "<DataExportName>"
$storageAccountName = "<StorageAccountName>"
# Get the subscription ID from the current Azure PowerShell context
$subscriptionId = (Get-AzContext).Subscription.Id
# Build destination storage account resource ID
$storagePath = "/subscriptions/$subscriptionId/resourceGroups/$resourceGroupName"
$storageProvider = "Microsoft.Storage/storageAccounts/$storageAccountName"
$storageAccountResourceId = "$storagePath/providers/$storageProvider"
# Define parameters for New-AzOperationalInsightsDataExport
$newAzOperationalInsightsDataExportParams = @{
ResourceGroupName = $resourceGroupName
WorkspaceName = $workspaceName
DataExportName = $dataExportName
TableName = @("SecurityEvent", "Heartbeat")
ResourceId = $storageAccountResourceId
}
# Create the data export rule
New-AzOperationalInsightsDataExport @newAzOperationalInsightsDataExportParams
使用 Azure PowerShell 匯出至特定的事件中樞
使用下列命令透過 PowerShell 建立到特定事件中樞的資料匯出規則。 此指令會將所有資料表匯出到所提供的事件中心名稱。 透過 類型 欄位篩選出不同的表格。
# Set variables
$resourceGroupName = "<ResourceGroupName>"
$workspaceName = "<WorkspaceName>"
$dataExportName = "<DataExportName>"
$eventHubNamespace = "<EventHubNamespace>"
$eventHubName = "<EventHubName>"
# Get the subscription ID from the current Azure PowerShell context
$subscriptionId = (Get-AzContext).Subscription.Id
# Build destination Event Hub namespace resource ID
$eventHubNsPath = "/subscriptions/$subscriptionId/resourceGroups/$resourceGroupName"
$eventHubNsProvider = "Microsoft.EventHub/namespaces/$eventHubNamespace"
$eventHubNamespaceResourceId = "$eventHubNsPath/providers/$eventHubNsProvider"
# Define parameters for New-AzOperationalInsightsDataExport
$newAzOperationalInsightsDataExportParams = @{
ResourceGroupName = $resourceGroupName
WorkspaceName = $workspaceName
DataExportName = $dataExportName
TableName = @("SecurityEvent", "Heartbeat")
ResourceId = $eventHubNamespaceResourceId
EventHubName = $eventHubName
}
# Create the data export rule
New-AzOperationalInsightsDataExport @newAzOperationalInsightsDataExportParams
使用 Azure PowerShell 匯出至事件中樞命名空間
請使用以下指令建立資料匯出規則到事件中心的命名空間。 當你沒有提供特定的事件中心名稱時,這個指令會為每個表格建立一個獨立的事件中心,並依 每個活動中心層級所支援的事件中心數量為準。 若要匯出更多資料表,請在規則中提供事件中樞名稱。 或者,您可以設定另一個規則,並將其餘資料表匯出至另一個事件中樞命名空間。
# Set variables
$resourceGroupName = "<ResourceGroupName>"
$workspaceName = "<WorkspaceName>"
$dataExportName = "<DataExportName>"
$eventHubNamespace = "<EventHubNamespace>"
# Get the subscription ID from the current Azure PowerShell context
$subscriptionId = (Get-AzContext).Subscription.Id
# Build destination Event Hub namespace resource ID
$eventHubNsPath = "/subscriptions/$subscriptionId/resourceGroups/$resourceGroupName"
$eventHubNsProvider = "Microsoft.EventHub/namespaces/$eventHubNamespace"
$eventHubNamespaceResourceId = "$eventHubNsPath/providers/$eventHubNsProvider"
# Define parameters for New-AzOperationalInsightsDataExport
$newAzOperationalInsightsDataExportParams = @{
ResourceGroupName = $resourceGroupName
WorkspaceName = $workspaceName
DataExportName = $dataExportName
TableName = @("SecurityEvent", "Heartbeat")
ResourceId = $eventHubNamespaceResourceId
}
# Create the data export rule
New-AzOperationalInsightsDataExport @newAzOperationalInsightsDataExportParams
附註
Azure PowerShell 指令匣會使用目前 Az 上下文中的Azure Resource Manager端點,因此 management.azure.com 不需要在指令本語法中指定。
以下的 REST 範例使用 Data Exports - Create Or Update REST API 操作。
匯出到 REST 儲存帳號
該規則會將每個資料表匯出到儲存帳號中的獨立容器。
PUT https://management.azure.com/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.OperationalInsights/workspaces/{workspaceName}/dataexports/{dataExportName}?api-version={apiVersion}
Authorization: Bearer {accessToken}
Content-Type: application/json
{
"properties": {
"destination": {
"resourceId": "/subscriptions/<SubscriptionId>/resourceGroups/<ResourceGroupName>/providers/Microsoft.Storage/storageAccounts/<StorageAccountName>"
},
"tableNames": [
"<TableName1>",
"<TableName2>"
],
"enable": true
}
}
使用 REST 匯出至 Event Hubs 命名空間
若要將每個資料表匯出到獨立的事件中心,請在請求主體中使用 Event Hubs 命名空間作為目的地:
{
"properties": {
"destination": {
"resourceId": "/subscriptions/<SubscriptionId>/resourceGroups/<ResourceGroupName>/providers/Microsoft.EventHub/namespaces/<EventHubNamespace>"
},
"tableNames": [
"<TableName1>",
"<TableName2>"
],
"enable": true
}
}
用 REST 匯出到特定的活動中心
若要將所有資料表匯出至特定事件中樞,請在 metaData.eventHubName 中輸入其名稱:
{
"properties": {
"destination": {
"resourceId": "/subscriptions/<SubscriptionId>/resourceGroups/<ResourceGroupName>/providers/Microsoft.EventHub/namespaces/<EventHubNamespace>",
"metaData": {
"eventHubName": "<EventHubName>"
}
},
"tableNames": [
"<TableName1>",
"<TableName2>"
],
"enable": true
}
}
附註
範本部署則建立或更新完整的匯出規則。 它們不是部分 PATCH 作業。 更新現有規則時,請保留目的地和表格清單。
以下三個 Bicep 範本使用資源Microsoft.OperationalInsights/workspaces/dataExports類型。 將所選範本部署到現有工作區的資源群組。
subscriptionId和resourceGroupName參數用來識別目的資源的範圍。
匯出到使用 Bicep 的儲存帳戶
更新現有規則時:
- 除非你打算更改,否則保留所有現有
tableNames 的陣列項目。
- 除非你打算更改目的地設定,否則請保留目的地設定。
- 除非你打算改變州,否則就保留該
enable 州。
這是完整的子資源定義,而不是對工作區進行部分更新。
param subscriptionId string = '<SubscriptionId>'
param resourceGroupName string = '<ResourceGroupName>'
param workspaceName string = '<WorkspaceName>'
param dataExportName string = '<DataExportName>'
param storageAccountName string = '<StorageAccountName>'
var storageAccountResourceId = resourceId(
subscriptionId,
resourceGroupName,
'Microsoft.Storage/storageAccounts',
storageAccountName
)
resource logExport 'Microsoft.OperationalInsights/workspaces/dataExports@<ApiVersion>' = {
name: '${workspaceName}/${dataExportName}'
properties: {
destination: {
resourceId: storageAccountResourceId
}
tableNames: [
'Heartbeat'
'InsightsMetrics'
'VMConnection'
'Usage'
]
enable: true
}
}
使用 Bicep 匯出至 Event Hubs 命名空間
要為每個資料表建立獨立的事件中心,請部署此範本:
更新現有規則時:
- 除非你打算更改,否則保留所有現有
tableNames 的陣列項目。
- 除非你打算更改目的地設定,否則請保留目的地設定。
- 除非你打算改變州,否則就保留該
enable 州。
這是完整的子資源定義,而不是對工作區的部分更新。
param subscriptionId string = '<SubscriptionId>'
param resourceGroupName string = '<ResourceGroupName>'
param workspaceName string = '<WorkspaceName>'
param dataExportName string = '<DataExportName>'
param eventHubNamespace string = '<EventHubNamespace>'
var eventHubNamespaceResourceId = resourceId(
subscriptionId,
resourceGroupName,
'Microsoft.EventHub/namespaces',
eventHubNamespace
)
resource logExport 'Microsoft.OperationalInsights/workspaces/dataExports@<ApiVersion>' = {
name: '${workspaceName}/${dataExportName}'
properties: {
destination: {
resourceId: eventHubNamespaceResourceId
}
tableNames: [
'Usage'
'Heartbeat'
]
enable: true
}
}
用 Bicep 匯出到特定的活動中心
若要將所有資料表匯出到特定的事件中心,請部署此範本:
更新現有規則時:
- 除非你打算更改,否則保留所有現有
tableNames 的陣列項目。
- 除非你打算更改目的地設定,否則請保留目的地設定。
- 除非你打算改變州,否則就保留該
enable 州。
這是完整的子資源定義,而不是對工作區的部分更新。
param subscriptionId string = '<SubscriptionId>'
param resourceGroupName string = '<ResourceGroupName>'
param workspaceName string = '<WorkspaceName>'
param dataExportName string = '<DataExportName>'
param eventHubNamespace string = '<EventHubNamespace>'
param eventHubName string = '<EventHubName>'
var eventHubNamespaceResourceId = resourceId(
subscriptionId,
resourceGroupName,
'Microsoft.EventHub/namespaces',
eventHubNamespace
)
resource logExport 'Microsoft.OperationalInsights/workspaces/dataExports@<ApiVersion>' = {
name: '${workspaceName}/${dataExportName}'
properties: {
destination: {
resourceId: eventHubNamespaceResourceId
metaData: {
eventHubName: eventHubName
}
}
tableNames: [
'Usage'
'Heartbeat'
]
enable: true
}
}
附註
範本部署則建立或更新完整的匯出規則。 它們不是部分 PATCH 作業。 更新現有規則時,請保留目的地和表格清單。
以下三個 ARM 範本使用資源 Microsoft.OperationalInsights/workspaces/dataExports 類型。 將所選範本部署到現有工作區的資源群組。
subscriptionId和resourceGroupName參數用來識別目的資源的範圍。
用 ARM 範本匯出到儲存帳號
更新現有規則時:
- 除非你打算更改,否則保留所有現有
tableNames 的陣列項目。
- 除非你打算更改目的地設定,否則請保留目的地設定。
- 除非你打算改變州,否則就保留該
enable 州。
這是完整的子資源定義,而不是對工作區的部分更新。
{
"$schema": "https://schema.management.azure.com/schemas/2019-04-01/deploymentTemplate.json#",
"contentVersion": "1.0.0.0",
"parameters": {
"subscriptionId": {
"defaultValue": "<SubscriptionId>",
"type": "string"
},
"resourceGroupName": {
"defaultValue": "<ResourceGroupName>",
"type": "string"
},
"workspaceName": {
"defaultValue": "<WorkspaceName>",
"type": "string"
},
"dataExportName": {
"defaultValue": "<DataExportName>",
"type": "string"
},
"storageAccountName": {
"defaultValue": "<StorageAccountName>",
"type": "string"
}
},
"variables": {
"storageAccountResourceId": "[resourceId(parameters('subscriptionId'), parameters('resourceGroupName'), 'Microsoft.Storage/storageAccounts', parameters('storageAccountName'))]"
},
"resources": [
{
"type": "Microsoft.OperationalInsights/workspaces/dataExports",
"apiVersion": "<ApiVersion>",
"name": "[format('{0}/{1}', parameters('workspaceName'), parameters('dataExportName'))]",
"properties": {
"destination": {
"resourceId": "[variables('storageAccountResourceId')]"
},
"tableNames": [
"Heartbeat",
"InsightsMetrics",
"VMConnection",
"Usage"
],
"enable": true
}
}
]
}
將 ARM 範本匯出至 Event Hubs 命名空間
部署以下 ARM 範本,建立資料匯出規則至事件中心。 範本會為每個資料表建立獨立的事件中心。
更新現有規則時:
- 除非你打算更改,否則保留所有現有
tableNames 的陣列項目。
- 除非你打算更改目的地設定,否則請保留目的地設定。
- 除非你打算改變州,否則就保留該
enable 州。
這是完整的子資源定義,而不是對工作區的部分更新。
{
"$schema": "https://schema.management.azure.com/schemas/2019-04-01/deploymentTemplate.json#",
"contentVersion": "1.0.0.0",
"parameters": {
"subscriptionId": {
"defaultValue": "<SubscriptionId>",
"type": "string"
},
"resourceGroupName": {
"defaultValue": "<ResourceGroupName>",
"type": "string"
},
"workspaceName": {
"defaultValue": "<WorkspaceName>",
"type": "string"
},
"dataExportName": {
"defaultValue": "<DataExportName>",
"type": "string"
},
"eventHubNamespace": {
"defaultValue": "<EventHubNamespace>",
"type": "string"
}
},
"variables": {
"eventHubNamespaceResourceId": "[resourceId(parameters('subscriptionId'), parameters('resourceGroupName'), 'Microsoft.EventHub/namespaces', parameters('eventHubNamespace'))]"
},
"resources": [
{
"type": "Microsoft.OperationalInsights/workspaces/dataExports",
"apiVersion": "<ApiVersion>",
"name": "[format('{0}/{1}', parameters('workspaceName'), parameters('dataExportName'))]",
"properties": {
"destination": {
"resourceId": "[variables('eventHubNamespaceResourceId')]"
},
"tableNames": [
"Usage",
"Heartbeat"
],
"enable": true
}
}
]
}
匯出到特定活動中心,並附有 ARM 範本
部署以下 ARM 範本,建立資料匯出規則至特定事件中心。 該規則會將所有資料表匯出到這個事件中心。
更新現有規則時:
- 除非你打算更改,否則保留所有現有
tableNames 的陣列項目。
- 除非你打算更改目的地設定,否則請保留目的地設定。
- 除非你打算改變州,否則就保留該
enable 州。
這是完整的子資源定義,而不是對工作區的部分更新。
{
"$schema": "https://schema.management.azure.com/schemas/2019-04-01/deploymentTemplate.json#",
"contentVersion": "1.0.0.0",
"parameters": {
"subscriptionId": {
"defaultValue": "<SubscriptionId>",
"type": "string"
},
"resourceGroupName": {
"defaultValue": "<ResourceGroupName>",
"type": "string"
},
"workspaceName": {
"defaultValue": "<WorkspaceName>",
"type": "string"
},
"dataExportName": {
"defaultValue": "<DataExportName>",
"type": "string"
},
"eventHubNamespace": {
"defaultValue": "<EventHubNamespace>",
"type": "string"
},
"eventHubName": {
"defaultValue": "<EventHubName>",
"type": "string"
}
},
"variables": {
"eventHubNamespaceResourceId": "[resourceId(parameters('subscriptionId'), parameters('resourceGroupName'), 'Microsoft.EventHub/namespaces', parameters('eventHubNamespace'))]"
},
"resources": [
{
"type": "Microsoft.OperationalInsights/workspaces/dataExports",
"apiVersion": "<ApiVersion>",
"name": "[format('{0}/{1}', parameters('workspaceName'), parameters('dataExportName'))]",
"properties": {
"destination": {
"resourceId": "[variables('eventHubNamespaceResourceId')]",
"metaData": {
"eventHubName": "[parameters('eventHubName')]"
}
},
"tableNames": [
"Usage",
"Heartbeat"
],
"enable": true
}
}
]
}
檢視資料匯出規則設定
從 Azure 入口網站,前往你的 Log Analytics 工作區。
在左側選單的 設定中,選擇 規則。
選擇 「資料匯出規則 」標籤,以查看工作區中的所有匯出規則。
選取設定檢視的規則。
以下 Azure CLI 範例使用了該az monitor log-analytics workspace data-export show指令。
# Set variables
resourceGroupName="<ResourceGroupName>"
workspaceName="<WorkspaceName>"
dataExportName="<DataExportName>"
# Retrieve the data export rule
az monitor log-analytics workspace data-export show \
--resource-group "$resourceGroupName" \
--workspace-name "$workspaceName" \
--name "$dataExportName"
附註
Azure CLI指令使用目前 CLI 上下文中的Azure Resource Manager端點,因此 management.azure.com 不需要在命令語法中指定。
以下 Azure PowerShell 範例使用 Get-AzOperationalInsightsDataExport cmdlet。
# Set variables
$resourceGroupName = "<ResourceGroupName>"
$workspaceName = "<WorkspaceName>"
$dataExportName = "<DataExportName>"
# Define parameters for Get-AzOperationalInsightsDataExport
$getAzOperationalInsightsDataExportParams = @{
ResourceGroupName = $resourceGroupName
WorkspaceName = $workspaceName
DataExportName = $dataExportName
}
# Retrieve the data export rule
Get-AzOperationalInsightsDataExport @getAzOperationalInsightsDataExportParams
附註
Azure PowerShell 指令匣會使用目前 Az 上下文中的Azure Resource Manager端點,因此 management.azure.com 不需要在指令本語法中指定。
以下的 REST 範例使用 Data Exports - Get REST API 操作。
GET https://management.azure.com/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.OperationalInsights/workspaces/{workspaceName}/dataexports/{dataExportName}?api-version={apiVersion}
Authorization: Bearer {accessToken}
停用或更新匯出規則
關閉匯出規則以暫停匯出一段時間,例如在進行測試期間。
- 從 Azure 入口網站,前往你的 Log Analytics 工作區。
- 在左側選單的 設定中,選擇 規則。
- 選擇 「資料匯出規則 」標籤。
- 選取 [狀態] 切換開關以停用或啟用匯出規則。
以下 Azure CLI 範例使用了該az monitor log-analytics workspace data-export update指令。 它會透過參數 --enable 來禁用該規則。
# Set variables
resourceGroupName="<ResourceGroupName>"
workspaceName="<WorkspaceName>"
dataExportName="<DataExportName>"
# Disable the data export rule
az monitor log-analytics workspace data-export update \
--resource-group "$resourceGroupName" \
--workspace-name "$workspaceName" \
--name "$dataExportName" \
--tables SecurityEvent Heartbeat \
--enable false
附註
Azure CLI指令使用目前 CLI 上下文中的Azure Resource Manager端點,因此 management.azure.com 不需要在命令語法中指定。
以下 Azure PowerShell 範例使用 Update-AzOperationalInsightsDataExport cmdlet。 它會透過參數 Enable 來禁用該規則。
# Set variables
$resourceGroupName = "<ResourceGroupName>"
$workspaceName = "<WorkspaceName>"
$dataExportName = "<DataExportName>"
# Define parameters for Update-AzOperationalInsightsDataExport
$updateAzOperationalInsightsDataExportParams = @{
ResourceGroupName = $resourceGroupName
WorkspaceName = $workspaceName
DataExportName = $dataExportName
TableName = @("SecurityEvent", "Heartbeat")
Enable = $false
}
# Disable the data export rule
Update-AzOperationalInsightsDataExport @updateAzOperationalInsightsDataExportParams
附註
Azure PowerShell 指令匣會使用目前 Az 上下文中的Azure Resource Manager端點,因此 management.azure.com 不需要在指令本語法中指定。
以下的 REST 範例使用 Data Exports - Create Or Update REST API 操作。 它透過使用該 enable 屬性來使規則失效。 傳送請求時,請保留規則的目的地和表格清單。
PUT https://management.azure.com/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.OperationalInsights/workspaces/{workspaceName}/dataexports/{dataExportName}?api-version={apiVersion}
Authorization: Bearer {accessToken}
Content-Type: application/json
{
"properties": {
"destination": {
"resourceId": "/subscriptions/<SubscriptionId>/resourceGroups/<ResourceGroupName>/providers/Microsoft.Storage/storageAccounts/<StorageAccountName>"
},
"tableNames": [
"<TableName1>",
"<TableName2>"
],
"enable": false
}
}
刪除匯出規則
- 從 Azure 入口網站,前往你的 Log Analytics 工作區。
- 在左側選單的 設定中,選擇 規則。
- 選擇 「資料匯出規則 」標籤。
- 選取規則右側的省略符號,然後選取 [刪除]。
以下 Azure CLI 範例使用了該az monitor log-analytics workspace data-export delete指令。
# Set variables
resourceGroupName="<ResourceGroupName>"
workspaceName="<WorkspaceName>"
dataExportName="<DataExportName>"
# Delete the data export rule
az monitor log-analytics workspace data-export delete \
--resource-group "$resourceGroupName" \
--workspace-name "$workspaceName" \
--name "$dataExportName"
附註
Azure CLI指令使用目前 CLI 上下文中的Azure Resource Manager端點,因此 management.azure.com 不需要在命令語法中指定。
以下 Azure PowerShell 範例使用 Remove-AzOperationalInsightsDataExport cmdlet。
# Set variables
$resourceGroupName = "<ResourceGroupName>"
$workspaceName = "<WorkspaceName>"
$dataExportName = "<DataExportName>"
# Define parameters for Remove-AzOperationalInsightsDataExport
$removeAzOperationalInsightsDataExportParams = @{
ResourceGroupName = $resourceGroupName
WorkspaceName = $workspaceName
DataExportName = $dataExportName
}
# Delete the data export rule
Remove-AzOperationalInsightsDataExport @removeAzOperationalInsightsDataExportParams
附註
Azure PowerShell 指令匣會使用目前 Az 上下文中的Azure Resource Manager端點,因此 management.azure.com 不需要在指令本語法中指定。
以下的 REST 範例使用 Data Exports - Delete REST API 操作。
DELETE https://management.azure.com/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.OperationalInsights/workspaces/{workspaceName}/dataexports/{dataExportName}?api-version={apiVersion}
Authorization: Bearer {accessToken}
檢視工作區中所有的資料匯出規則
- 從 Azure 入口網站,前往你的 Log Analytics 工作區。
- 在左側選單的 設定中,選擇 規則。
- 選擇 「資料匯出規則 」標籤,以查看工作區中的所有匯出規則。
以下 Azure CLI 範例使用了該az monitor log-analytics workspace data-export list指令。
# Set variables
resourceGroupName="<ResourceGroupName>"
workspaceName="<WorkspaceName>"
# List the data export rules
az monitor log-analytics workspace data-export list \
--resource-group "$resourceGroupName" \
--workspace-name "$workspaceName"
附註
Azure CLI指令使用目前 CLI 上下文中的Azure Resource Manager端點,因此 management.azure.com 不需要在命令語法中指定。
以下 Azure PowerShell 範例使用 Get-AzOperationalInsightsDataExport cmdlet。
# Set variables
$resourceGroupName = "<ResourceGroupName>"
$workspaceName = "<WorkspaceName>"
# Define parameters for Get-AzOperationalInsightsDataExport
$getAzOperationalInsightsDataExportParams = @{
ResourceGroupName = $resourceGroupName
WorkspaceName = $workspaceName
}
# List the data export rules
Get-AzOperationalInsightsDataExport @getAzOperationalInsightsDataExportParams
附註
Azure PowerShell 指令匣會使用目前 Az 上下文中的Azure Resource Manager端點,因此 management.azure.com 不需要在指令本語法中指定。
以下的 REST 範例使用 Data Exports - List By Workspace REST API 操作。
GET https://management.azure.com/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.OperationalInsights/workspaces/{workspaceName}/dataexports?api-version={apiVersion}
Authorization: Bearer {accessToken}
不支援的資料表
附註
如果資料匯出規則包含不支援的資料表,雖然設定會成功,但不會匯出該資料表的資料。 支持數據表時,數據匯出會隨即啟動。 我們正在新增更多資料表的支援。 請定期檢查這篇文章。
| Table |
限制 |
| 警示 |
部分支援。 不支援 Zabbix 警示的資料輸入。 |
| 警報歷史 |
|
| AzureActivity |
部分支援。 匯出中完全支援從 Log Analytics 代理程式或 Azure 監視器代理程式傳出的資料。 透過診斷延伸模組代理程式傳送的資料會透過儲存體收集。 匯出中不支援此路徑。 |
| AzureDiagnostics |
|
| ConfigurationChange |
部分支援。 部分資料擷取是透過不支援匯出的內部服務。 匯出中目前遺漏此部分。 |
| 配置數據 |
部分支援。 部分資料擷取是透過不支援匯出的內部服務。 匯出中目前遺漏此部分。 |
| DatabricksDatabricksSQL |
|
| DatabricksSQL |
|
| DeviceAppLaunch |
|
| 裝置行事曆 |
|
| DeviceConnectSession |
|
| DeviceEtw |
部分支援。 部分資料擷取是透過不支援匯出的內部服務。 匯出中目前遺漏此部分。 |
| DeviceHeartbeat |
|
| ETWEvent |
部分支援。 匯出中完全支援從 Log Analytics 代理程式或 Azure 監視器代理程式傳出的資料。 透過診斷延伸模組代理程式傳送的資料會透過儲存體收集。 匯出中不支援此路徑。 |
| 事件 |
部分支援。 匯出中完全支援從 Log Analytics 代理程式或 Azure 監視器代理程式傳出的資料。 透過診斷延伸模組代理程式傳送的資料會透過儲存體收集。 匯出中不支援此路徑。 |
| 網路會話 |
|
| 作業 |
部分支援。 部分資料擷取是透過不支援匯出的內部服務。 匯出中目前遺漏此部分。 |
| 保護狀態 |
|
| SecurityEvent |
部分支援。 部分資料擷取是透過不支援匯出的內部服務。 匯出中目前遺漏此部分。 |
| ServiceFabricOperationalEvent |
部分支援。 匯出中完全支援從 Log Analytics 代理程式或 Azure 監視器代理程式傳出的資料。 透過診斷延伸模組代理程式傳送的資料會透過儲存體收集。 匯出中不支援此路徑。 |
| ServiceFabricReliableActorEvent |
部分支援。 匯出中完全支援從 Log Analytics 代理程式或 Azure 監視器代理程式傳出的資料。 透過診斷延伸模組代理程式傳送的資料會透過儲存體收集。 匯出中不支援此路徑。 |
| ServiceFabricReliableServiceEvent |
部分支援。 匯出中完全支援從 Log Analytics 代理程式或 Azure 監視器代理程式傳出的資料。 透過診斷延伸模組代理程式傳送的資料會透過儲存體收集。 匯出中不支援此路徑。 |
| Syslog |
部分支援。 部分資料擷取是透過不支援匯出的內部服務。 匯出中目前遺漏此部分。 |
| W3CIISLog |
部分支援。 匯出中完全支援從 Log Analytics 代理程式或 Azure 監視器代理程式傳出的資料。 透過診斷延伸模組代理程式傳送的資料會透過儲存體收集。 匯出中不支援此路徑。 |
相關內容
從 Azure Data Explorer 查詢匯出的資料