管理 Log Analytics 工作區中的資料保留期間
在此文章
Log Analytics 工作區會以兩種狀態保留資料:
互動式保留期間 :在此狀態下,資料可用於監視、疑難排解和近乎即時的分析。
長期保留期間 :在此低成本狀態下,資料無法用於資料表方案功能,但可透過搜尋作業 加以存取。
本文說明 Log Analytics 工作區如何保留資料,以及如何管理工作區中資料表的資料保留期間。
互動式保留期間、長期保留期間和總保留期間
根據預設,Log Analytics 工作區中的所有資料表都會將資料保留 30 天,但具有 90 天預設保留期間的記錄資料表 除外。 在此期間 (即互動式保留期間),您可以透過查詢從資料表擷取資料,並根據資料表方案來取得可用於視覺效果、警示和其他功能與服務的資料。
對於使用分析方案的資料表,您可以將其互動式保留期間延長至最多兩年。 基本方案和輔助方案的互動式保留期間則是固定的 30天。
注意
您可以使用 API 或 CLI,將 Analytics 資料表的互動式保留期間縮短至最少四天。 不過,由於 31 天的互動式保留期包含在擷取價格中,因此將保留期間降低到 31 天以下並不會減少成本。
若要將相同資料表中的資料保留超過互動式保留期間,請將資料表的總保留期間延長至最多 12 年。 在互動式保留期間結束時,資料會在資料表中保留所設定總保留期間的剩餘時間。 在此期間 (即長期保留期間),可執行搜尋作業以從資料表中擷取所需的特定資料,並使其可供搜尋結果資料表中的互動式查詢使用。
保留期間修改的運作方式
當您縮短資料表的總保留期間時,Azure 監視器記錄會先等候 30 天再移除資料,因此,如果您在設定時發生錯誤,便可以還原變更並避免遺失資料。
當您延長總保留期間時,新的保留期間會套用至已擷取至資料表且尚未移除的所有資料。
當您對具有現有資料的資料表變更長期保留期間設定時,變更會立即生效。
範例:
您現有的 Analytics 資料表具有 180 天的互動式保留期間,且沒有長期保留期間。
您將互動式保留期間變更為 90 天,但未變更 180 天的總保留期間。
Azure 監視器會自動將剩餘 90 天的總保留期間視為低成本的長期保留期間,因此存留 90-180 天之久的資料不會遺失。
需要的權限
動作
需要的權限
設定 Log Analytics 工作區中 Analytics 資料表的預設互動式保留期間
例如,Log Analytics 參與者內建角色 所提供的 Log Analytics 工作區 Microsoft.OperationalInsights/workspaces/write
和 microsoft.operationalinsights/workspaces/tables/write
權限
依 Log Analytics 工作區的資料表來取得保留期間設定
例如,Log Analytics 讀者內建角色 所提供的 Log Analytics 工作區 Microsoft.OperationalInsights/workspaces/tables/read
權限
Log Analytics 工作區中所有資料表的預設互動式保留期間為 30 天。 您可以修改工作區層級的資料保留期間設定,將 Analytics 資料表的預設互動式期間變更為最多兩年。 基本資料表和輔助資料表的互動式保留期間則是固定的 30天。
變更預設工作區層級的資料保留期間設定會自動影響工作區中仍套用預設設定的所有 Analytics 資料表。 如果您已經變更特定資料表的互動式保留期間,則當您變更工作區的預設資料保留期間設定時,該資料表不會受到影響。
重要
保留期間為 30 天的工作區可能會將資料保留 31 天。 如果您需要僅保留資料 30 天以符合隱私權原則,請使用 API 將預設工作區保留期設定為 30 天,並將 immediatePurgeDataOn30Days
工作區屬性更新為 true
。 目前只支援使用工作區 - 更新 API 進行此作業。
若要設定 Log Analytics 工作區內 Analytics 資料表的預設互動式保留期間:
從 Azure 入口網站中的 [Log Analytics 工作區] 功能表選取您的工作區。
在左窗格中,選取 [使用方式和估計成本] 。
選取頁面頂端的 [資料保留] 。
移動滑桿來增加或減少天數,然後選取 [確定] 。
若要設定 Log Analytics 工作區內 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,
...
},
...
若要設定 Log Analytics 工作區內 Analytics 資料表的預設互動式保留期間,請執行 az monitor log-analytics workspace update 命令,並傳遞 --retention-time
參數。
本範例會將資料表的互動式保留期設定為 30 天:
az monitor log-analytics workspace update --resource-group myresourcegroup --retention-time 30 --workspace-name myworkspace
使用 Set-AzOperationalInsightsWorkspace Cmdlet,設定 Log Analytics 工作區內 Analytics 資料表的預設互動式保留期間。 此範例會將預設互動式保留期間設定為 30 天:
Set-AzOperationalInsightsWorkspace -ResourceGroupName "myResourceGroup" -Name "MyWorkspace" -RetentionInDays 30
根據預設,使用 Analytics 資料方案的所有資料表都會繼承 Log Analytics 工作區的預設互動式保留期間設定 ,而且沒有長期保留期間。 您可以額外付費 將 Analytics 資料表的互動式保留期間延長為最多 730 天。
若要為使用任何資料方案的資料表延長長期保留期間,請將總保留期間 設定為最多 12 年 (4,383 天)。 輔助資料表方案目前處於公開預覽狀態,在預覽期間,此方案的總保留期間是固定的 365 天。
注意
目前,您可以透過 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
您可以使用 PUT 或 PATCH,但有下列差異:
如果您未設定非 null 值,PUT API 會將 retentionInDays
和 totalRetentionInDays
設定為預設值。
PATCH API 不會變更 retentionInDays
或 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
) 的保留設定,請呼叫 [資料表 - 取得] 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
當您刪除 Log Analytics 工作區中的資料表時,資料會發生什麼情況?
Log Analytics 工作區可以包含數種資料表類型 。 刪除資料表時所發生的情況依每個資料表而異:
資料表類型
資料保留
建議
Azure 資料表
Azure 資料表會保存 Azure 服務或解決方案所需之 Azure 資源或資料的記錄,且這些記錄無法刪除。 當您停止從資源、服務或解決方案串流資料時,資料會保留在工作區中,直到為資料表定義的保留期間結束為止。
若要將費用降至最低,請將資料表層級保留期 設定為四天,再停止將記錄串流至資料表。
自訂記錄資料表 (table_CL
)
虛刪除資料表,直到資料表層級保留期或預設工作區保留期間結束為止。 在虛刪除期間,您繼續支付資料保留費用,並可藉由設定具有相同名稱和結構描述的資料表來重新建立資料表並存取資料。 刪除自訂資料表後十四天,Azure 監視器會移除資料表層級保留期設定,並套用預設工作區保留期。
若要將費用降至最低,請將資料表層級保留期 設定為四天,再刪除資料表。
搜尋結果資料表 (table_SRCH
)
立即並永久刪除資料表和資料。
還原的資料表 (table_RST
)
刪除為了還原而佈建的熱快取,但不會刪除來源資料表資料。
具有 90 天預設保留期間的記錄資料表
根據預設,Usage
和 AzureActivity
資料表會將資料免費保留至少 90 天。 當您將工作區保留期間延長至超過 90 天時,您也會延長這些資料類型的保留期間。 這些資料表也不會有資料擷取費用。
與 Application Insights 資源相關的資料表也會免費將資料保留 90 天。 您可以個別調整其中每個資料表的保留:
AppAvailabilityResults
AppBrowserTimings
AppDependencies
AppExceptions
AppEvents
AppMetrics
AppPageViews
AppPerformanceCounters
AppRequests
AppSystemEvents
AppTraces
計價模式
互動式保留期間和長期保留期間的新增費用會根據您保留的資料量 (以 GB 為單位),以及資料的保留數量或天數來進行計算。 _IsBillable == false
的記錄資料不會有擷取或保留費用。
如需詳細資訊,請參閱 Azure 監視器計量價格 。
下一步
深入了解: