Azure 監視器記錄中的數據保留和封存
本文內容
Azure 監視器記錄會保留兩種狀態的數據:
互動式保留 :可讓您保留分析記錄,以進行 長達 2 年的互動式查詢 。
封存 :可讓您以較低的成本將工作區中較舊、較少使用的數據保留在工作區中。 您可以使用搜尋作業和還原 ,以封存狀態 存取數據。 您可以將資料保持在封存狀態長達 12 年。
本文說明如何設定數據保留和封存。
保留和封存的運作方式
每個工作區都有套用至所有數據表的預設保留設定。 您可以在個別資料表上設定不同的保留設定。
在互動式保留期間,資料可用於監視、疑難排解和分析。 當您不會再用到這些記錄,但仍然需要保留資料以符合合規性規範或用於偶爾的調查時,請將記錄封存以節省成本。
封存的資料會與可用於互動式查詢的資料一同保留於相同資料表中。 當您設定的總保留期間比互動式保留期間還長時,Log Analytics 就會在保留期間結束時立即自動封存相關資料。
您可以執行搜尋作業或 還原封存的記錄 ,來存取封存的數據。
注意
封存期間只能在數據表層級設定,而不是在工作區層級設定。
保留和封存設定的調整
當您縮短現有的保留設定時,Azure 監視器會在移除數據之前等候 30 天,以便還原變更,並避免在設定發生錯誤時遺失數據。 您可以 視需要立即清除資料 。
當您增加保留設定時,新的保留期間會套用至已內嵌至數據表且尚未清除或移除的所有數據。
如果您在包含現有資料的資料表上變更封存設定,該資料表中的相關資料也會立即受到影響。 例如,您目前可能有一個資料表,其互動式保留為 180 天且沒有封存期間。 您決定將保留設定變更為90天的互動式保留期,而不會變更180天的總保留期間。 Log Analytics 會立即封存所有超過 90 天的資料,且不會刪除任何資料。
當您刪除 Log Analytics 工作區中的數據表時,數據會發生什麼事
Log Analytics 工作區可以包含數 種類型的數據表 。 當您針對每個資料表刪除資料表時,會發生什麼情況:
資料表類型
資料保留
建議
Azure 資料表
Azure 資料表會保存來自 Azure 服務或解決方案所需之 Azure 資源或數據的記錄,且無法刪除。 當您停止從資源、服務或解決方案串流數據時,如果未定義數據表層級保留期,數據會保留在工作區中,直到為數據表或預設工作區保留定義的保留期間結束為止。
若要將費用降至最低,請將數據表層級保留設定 為停止將記錄串流至數據表前四天。
已還原的數據表 (table_RST
)
刪除為還原布建的熱快取,但不會刪除源數據表數據。
搜尋結果資料表 (table_SRCH
)
立即和永久刪除資料表和數據。
自訂記錄資料表 (table_CL
)
虛刪除數據表,直到數據表層級保留期結束或預設工作區保留期間為止。 在虛刪除期間,您可以繼續支付數據保留費用,並可藉由設定具有相同名稱和架構的數據表來重新建立數據表並存取數據。 刪除自訂數據表後十四天,Azure 監視器會移除資料表層級的保留設定,並套用預設工作區保留。
若要將費用降至最低,請將數據表層級保留設定 為刪除數據表前四天。
需要的權限
動作
需要的權限
設定 Log Analytics 工作區的數據保留和封存原則
Microsoft.OperationalInsights/workspaces/write
Log microsoft.operationalinsights/workspaces/tables/write
Analytics 工作區的許可權,例如 Log Analytics 參與者內建角色所提供的 許可權
依數據表取得 Log Analytics 工作區的保留和封存原則
Microsoft.OperationalInsights/workspaces/tables/read
Log Analytics 工作區的許可權,例如 Log Analytics 讀取器內建角色所提供的許可權
從 Log Analytics 工作區清除數據
Microsoft.OperationalInsights/workspaces/purge/action
Log Analytics 工作區的許可權,例如 Log Analytics 參與者內建角色所提供的許可權
您可以在 Azure 入口網站 中將 Log Analytics 工作區的預設保留期設定為 30、31、60、90、120、180、270、365、550 和 730 天。 您可以藉由 在資料表層級 設定保留和封存,將不同的設定套用至特定數據表。 如果您位於 免費 層,您必須升級至付費層,以變更數據保留期間。
重要
保留 30 天的工作區可能會保留 31 天的數據。 如果您需要只保留 30 天的數據以符合隱私策略,請使用 API 將預設工作區保留期設定為 30 天,並將工作區屬性更新 immediatePurgeDataOn30Days
為 true
。 此作業目前僅支援使用 工作區 - 更新 API 。
若要設定預設工作區保留期:
從 Azure 入口網站的Log Analytics工作區 功能表中,選取您的工作區。
在左窗格中,選取 [使用方式和估計成本] 。
選取頁面頂端的 [資料保留] 。
移動滑桿以增加或減少天數,然後選取 [ 確定 ]。
若要設定資料表的保留和封存持續時間,請呼叫 工作區 - 建立或更新 API :
PATCH https://management.azure.com/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/Microsoft.OperationalInsights/workspaces/{workspaceName}?api-version=2023-09-01
要求本文
要求本文包含下表中的值。
名稱
類型
描述
properties.retentionInDays
整數
工作區數據保留天數。 允許的值是每個定價方案。 如需詳細資訊,請參閱定價層檔。
location
字串
資源的地理位置。
immediatePurgeDataOn30Days
boolean
旗標,指出數據是否在 30 天后立即移除,且無法復原。 僅適用於工作區保留期設定為30天時。
範例
本範例會將工作區的保留期設定為 30 天的工作區預設值,並確保數據會在 30 天后立即移除,且無法復原。
要求
PATCH https://management.azure.com/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/Microsoft.OperationalInsights/workspaces/{workspaceName}?api-version=2023-09-01
{
"properties": {
"retentionInDays": 30,
"features": {"immediatePurgeDataOn30Days": true}
},
"location": "australiasoutheast"
}
**Response**
Status code: 200
```http
{
"properties": {
...
"retentionInDays": 30,
"features": {
"legacy": 0,
"searchVersion": 1,
"immediatePurgeDataOn30Days": true,
...
},
...
若要設定數據表的保留和封存持續時間,請執行 az monitor log-analytics workspace update 命令並傳遞 --retention-time
參數。
本範例會將數據表的互動式保留期設定為 30 天,並將總保留期設定為兩年,這表示封存期間為 23 個月:
az monitor log-analytics workspace update --resource-group myresourcegroup --retention-time 30 --workspace-name myworkspace
使用 Set-AzOperationalInsightsWorkspace Cmdlet 來設定工作區的保留期。 本範例會將工作區的保留期設定為 30 天:
Set-AzOperationalInsightsWorkspace -ResourceGroupName "myResourceGroup" -Name "MyWorkspace" -RetentionInDays 30
根據預設,工作區中的所有數據表都會繼承工作區的互動式保留設定,而且沒有封存。 您可以修改個別數據表的保留和封存設定,但舊版免費試用定價層中的工作區除外。
分析記錄數據計劃包含目前世代定價層中工作區的互動式保留期 31 天(隨用隨付和承諾層,以及舊版獨立和每一節點層)。 您可以額外 成本 將互動式保留期間增加到最多 730 天。 如有需要,您可以使用 API 或 CLI,將互動式保留期間減少為短短四天。 不過,由於 31 天的互動式保留包含在擷取價格中,因此降低低於 31 天的保留期間並不會降低成本。 您可以將封存期間設定為最多 4,383 天(12 年)的總保留時間。
注意
目前,您可以透過 Azure 入口網站 和 API,將總保留期設定為最多 12 年。 CLI 和 PowerShell 限制為七年;支援 12 年將會隨之而來。
在 Azure 入口網站中,設定資料表的保留和封存持續期間:
從 [Log Analytics 工作區] 功能表選取 [資料表] 。
[ 數據表] 畫面會列出工作區中的所有數據表。
選取您要設定之資料表的捷徑功能表,然後選取 [管理資料表] 。
在數據表組態畫面的 [數據保留設定 ] 區段中設定保留和封存持續時間。
若要設定資料表的保留和封存持續時間,請呼叫 資料表 - 更新 API :
PATCH https://management.azure.com/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/Microsoft.OperationalInsights/workspaces/{workspaceName}/tables/{tableName}?api-version=2022-10-01
注意
您不會在 API 呼叫中明確指定封存持續時間。 相反地,您可以設定總保留期,也就是互動式保留加封存持續時間的總和。
您可以使用 PUT 或 PATCH,但有下列差異:
如果您未設定非 Null 值,PUT API 會將 和 totalRetentionInDays
設定retentionInDays
為預設值。
如果您未指定值,retentionInDays
PATCH API 不會變更 或 totalRetentionInDays
值。
要求本文
要求本文包含下表中的值。
名稱
類型
描述
properties.retentionInDays
整數
數據表的數據保留天數。 此值可以介於 4 到 730 之間。 將此屬性設定為 null 會套用工作區保留期限。 對於基本記錄數據表,值一律為8。
properties.totalRetentionInDays
整數
數據表的數據保留總數,包括封存期間。 此值可以介於 4 到 730 之間;或 1095、1460、1826、2191、2556、2922、3288、3653、4018 或 4383。 如果您不想封存數據,請將此屬性設定為 null。
範例
本範例會將數據表的互動式保留設定為工作區預設值 30 天,並將總保留期設定為兩年,這表示封存持續時間為 23 個月。
要求
PATCH https://management.azure.com/subscriptions/00000000-0000-0000-0000-00000000000/resourcegroups/testRG/providers/Microsoft.OperationalInsights/workspaces/testWS/tables/CustomLog_CL?api-version=2022-10-01
要求本文
{
"properties": {
"retentionInDays": null,
"totalRetentionInDays": 730
}
}
回應
狀態碼:200
{
"properties": {
"retentionInDays": 30,
"totalRetentionInDays": 730,
"archiveRetentionInDays": 700,
...
},
...
}
若要設定數據表的保留和封存持續時間,請執行 az monitor log-analytics workspace table update 命令,並傳遞 --retention-time
和 --total-retention-time
參數。
本範例會將數據表的互動式保留期設定為 30 天,並將總保留期設定為兩年,這表示封存期間為 23 個月:
az monitor log-analytics workspace table update --subscription ContosoSID --resource-group ContosoRG --workspace-name ContosoWorkspace --name AzureMetrics --retention-time 30 --total-retention-time 730
若要將工作區的預設互動式保留值重新套用至數據表,並將其總保留期重設為 0,請執行 az monitor log-analytics workspace table update 命令,並將 --retention-time
和 --total-retention-time
參數設定為 -1
。
例如:
az monitor log-analytics workspace table update --subscription ContosoSID --resource-group ContosoRG --workspace-name ContosoWorkspace --name Syslog --retention-time -1 --total-retention-time -1
使用 Update-AzOperationalInsightsTable Cmdlet 來設定數據表的保留和封存持續時間。 本範例會將數據表的互動式保留期設定為 30 天,並將總保留期設定為兩年,這表示封存期間為 23 個月:
Update-AzOperationalInsightsTable -ResourceGroupName ContosoRG -WorkspaceName ContosoWorkspace -TableName AzureMetrics -RetentionInDays 30 -TotalRetentionInDays 730
若要將工作區的預設互動式保留值重新套用至數據表,並將其總保留期重設為 0,請執行 Update-AzOperationalInsightsTable Cmdlet,並將 -RetentionInDays
和 -TotalRetentionInDays
參數設定為 -1
。
例如:
Update-AzOperationalInsightsTable -ResourceGroupName ContosoRG -WorkspaceName ContosoWorkspace -TableName Syslog -RetentionInDays -1 -TotalRetentionInDays -1
依數據表取得保留和封存設定
若要檢視 Azure 入口網站 中數據表的保留和封存持續時間,請從 [Log Analytics 工作區 ] 功能選取 [數據表 ]。
[ 資料表] 畫面會顯示工作區中所有數據表的互動式保留期和封存期間。
若要取得特定資料表的保留設定(在此範例中為 SecurityEvent
),請呼叫 Tables - Get API:
GET /subscriptions/00000000-0000-0000-0000-00000000000/resourceGroups/MyResourceGroupName/providers/Microsoft.OperationalInsights/workspaces/MyWorkspaceName/Tables/SecurityEvent?api-version=2022-10-01
若要取得工作區中的所有數據表層級保留設定,請勿設定數據表名稱。
例如:
GET /subscriptions/00000000-0000-0000-0000-00000000000/resourceGroups/MyResourceGroupName/providers/Microsoft.OperationalInsights/workspaces/MyWorkspaceName/Tables?api-version=2022-10-01
若要取得特定數據表的保留設定,請執行 az monitor log-analytics workspace table show 命令。
例如:
az monitor log-analytics workspace table show --subscription ContosoSID --resource-group ContosoRG --workspace-name ContosoWorkspace --name SecurityEvent
若要取得特定數據表的保留設定,請執行 Get-AzOperationalInsightsTable Cmdlet。
例如:
Get-AzOperationalInsightsTable -ResourceGroupName ContosoRG -WorkspaceName ContosoWorkspace -tableName SecurityEvent
具有唯一保留期限的數據表
根據預設,兩種數據類型 Usage
和 AzureActivity
,不收取任何費用,將數據保留至少90天。 當您將工作區保留期增加到90天以上時,也會增加這些數據類型的保留期。 這些數據表也不受數據擷取費用。
與 Application Insights 資源相關的數據表也會不收取任何費用將數據保留 90 天。 您可以個別調整每個資料表的保留期:
AppAvailabilityResults
AppBrowserTimings
AppDependencies
AppExceptions
AppEvents
AppMetrics
AppPageViews
AppPerformanceCounters
AppRequests
AppSystemEvents
AppTraces
定價模式
維護封存記錄的費用是根據您封存的數據量、以 GB 為單位,以及您封存數據的數目或天數來計算。 沒有 _IsBillable == false
保留或封存費用的記錄數據。
如需詳細資訊,請參閱 Azure 監視器計量價格 。
下一步
深入了解: