Azure Monitor 日志功能中的数据保留和存档

Azure Monitor 日志功能以两种状态保留数据:

  • 交互式保留:可以将交互式查询的分析日志保留长达 2 年。
  • 存档:可以在工作区中以较低成本保留较少使用的较旧数据。 可以使用搜索作业还原来访问处于存档状态的数据。 可将存档状态的数据保留长达 12 年。

本文介绍如何配置数据保留和存档。

保留和存档如何工作

每个工作区都有一个应用于所有表的默认保留设置。 可以在单个表上配置不同的保留设置。

此图显示数据保留和存档期概述。

在交互式保留期内,数据可用于监视、故障排除和分析。 如果不再使用日志,但仍需要保留数据以实现合规性或偶尔进行调查,请存档日志以节省成本。

存档数据与可用于交互式查询的数据一起保留在同一个表中。 当设置的总保持期长于交互式保持期时,Log Analytics 会在保持期结束时立即自动存档相关数据。

可以通过运行搜索作业还原存档的日志来访问存档的数据。

备注

存档周期只能在表级别设置,而不能在工作区级别设置。

对保留和存档设置的调整

缩短现有保留设置时,Azure Monitor 会等待 30 天,然后才会删除数据,因此你可以还原更改并防止在配置错误时丢失数据。 可以在需要时立即清除数据

增加保留设置时,新的保留期将应用于已引入表且尚未清除或删除的所有数据。

如果更改具有现有数据的表的存档设置,表中的相关数据也会立即受到影响。 例如,你可能有一个具有 180 天的交互式保留期但没有存档期的现有表。 你决定将保留设置更改为 90 天的交互式保留期,而不更改 180 天的总保留期。 Log Analytics 会立即存档超过 90 天的任何数据,并且不会删除任何数据。

所需的权限

操作 所需的权限
为 Log Analytics 工作区配置数据保留和存档策略 对 Log Analytics 工作区具有 Microsoft.OperationalInsights/workspaces/writemicrosoft.operationalinsights/workspaces/tables/write 权限,例如,Log Analytics 参与者内置角色所提供的权限
按表获取 Log Analytics 工作区的保留和存档策略 对 Log Analytics 工作区具有 Microsoft.OperationalInsights/workspaces/tables/read 权限,例如,Log Analytics 读者内置角色所提供的权限
从 Log Analytics 工作区中清除数据 对 Log Analytics 工作区具有 Microsoft.OperationalInsights/workspaces/purge/action 权限,例如,Log Analytics 参与者内置角色所提供的权限
为经典 Application Insights 资源设置数据保留 对经典 Application Insights 资源具有 microsoft.insights/components/write 权限,例如,Application Insights 组件参与者内置角色所提供的权限
从经典 Application Insights 资源中清除数据 对经典 Application Insights 资源具有 Microsoft.Insights/components/purge/action 权限,例如,Application Insights 组件参与者内置角色所提供的权限

配置默认工作区保留期

可以在 Azure 门户中将 Log Analytics 工作区的默认保留期设置为 30、31、60、90、120、180、270、365、550 和 730 天。 可以通过在表级别配置保留和存档来为特定的表应用不同的设置。 如果位于免费层,则需要升级到付费层才能更改数据保留期。

若要设置默认工作区保留期,请执行以下操作:

  1. 从 Azure 门户的“Log Analytics 工作区”菜单中选择你的工作区。

  2. 在左窗格中,选择“使用情况和预估成本”。

  3. 选择页面顶部的“数据保留”。

    屏幕截图显示如何更改工作区数据保留设置。

  4. 移动滑块以增加或减少天数,然后选择“确定”。

在表级别配置保留和存档

默认情况下,工作区中的所有表都会继承工作区的交互式保留设置,并且没有存档。 可以修改单个表的保留和存档设置,旧的试用版定价层中的工作区除外。

Analytics 日志数据计划包括当前代定价层(即用即付和承诺层级以及旧版独立层级和每节点层级)中工作区的 31 天交互式保留期。 可将交互式保留期延长至最多 730 天,但需要额外付费。 如果需要,可以使用 API 或 CLI 将交互式保留期缩短至四天。 但是,由于引入价格中包含的是 31 天交互式保留期,因此将保留期降低到 31 天以下并不能降低成本。 可以将存档期限设置为最长 4,383 天(12 年)的总保留时间。

注意

目前,可以通过 Azure 门户和 API 将总保留期设置为最长 12 年。 CLI 和 PowerShell 的总保留期限制为七年;随后将支持 12 年。

若要在 Azure 门户中为表设置保留期和存档持续时间,请执行以下操作:

  1. 从“Log Analytics 工作区”菜单中,选择“表”。

    “表”屏幕列出了工作区中的所有表。

  2. 选择要配置的表的上下文菜单,然后选择“管理表”。

    屏幕截图显示工作区中一个表的“管理表”按钮。

  3. 在表配置屏幕的“数据保留设置”部分配置保留期和存档持续时间。

    屏幕截图显示表配置屏幕上的数据保留设置。

按表获取保留和存档设置

若要查看 Azure 门户中表的保留和存档时间,请从“Log Analytics 工作区”菜单中选择“表”。

“表”屏幕会显示工作区中所有表的交互式保留期和存档期。

屏幕截图显示工作区中一个表的“管理表”按钮。

清除保留的数据

如果将数据保留期设置为 30 天,可以使用 Azure 资源管理器中的 immediatePurgeDataOn30Days 参数立即清除较旧的数据。 在需要立即删除个人数据时,清除功能很有用。 即时清除功能未通过 Azure 门户提供。

如果未设置 immediatePurgeDataOn30Days 参数,具有 30 天保留期的工作区可能会将数据保留 31 天。

还可使用清除功能从工作区中清除数据,该功能将删除个人数据。 无法从存档的日志中清除数据。

重要

Log Analytics 清除功能不会影响保留成本。 若要降低保留成本,请缩短工作区或特定表的保留期。

具有唯一保留期的表

默认情况下,两种数据类型(UsageAzureActivity)将数据至少保留 90 天,不收取任何费用。 如果将工作区保留期延长到 90 天以上,则也会延长这些数据类型的保留期。 这些表也不产生数据引入费用。

与 Application Insights 资源相关的表也会将数据保留 90 天,不收取任何费用。 可以单独调整其中每个表的保留期:

  • AppAvailabilityResults
  • AppBrowserTimings
  • AppDependencies
  • AppExceptions
  • AppEvents
  • AppMetrics
  • AppPageViews
  • AppPerformanceCounters
  • AppRequests
  • AppSystemEvents
  • AppTraces

定价模型

维护存档日志的费用根据存档的数据量(以 GB 为单位)以及存档数据的天数进行计算。 具有 _IsBillable == false 的日志数据不受保留或存档费用约束。

有关详细信息,请参阅 Azure Monitor 定价

为经典 Application Insights 资源设置数据保留

基于工作区的 Application Insights 资源将数据存储在 Log Analytics 工作区中,因此它包含在工作区的数据保留和存档设置中。 经典 Application Insights 资源具有单独的保留设置。

Application Insights 资源的默认保留期为 90 天。 可以为每个 Application Insights 资源选择不同的保留期。 可以从以下保留期中进行选择:30 天、60 天、90 天、120 天、180 天、270 天、365 天、550 天或 730 天。

若要更改保留期,请从 Application Insights 资源转到“使用情况和估算成本”页,然后选择“数据保留”选项。

屏幕截图显示了在何处更改数据保留期。

保留期天数减少时,在删除最旧的数据之前,会有几天的宽限期。

还可以通过 PowerShell 以编程方式设置保留期(使用 retentionInDays 参数)。 如果将数据保留期设置为 30 天,则可以使用 immediatePurgeDataOn30Days 参数触发立即进行的旧数据清除作业。 此方法可能对合规性相关方案有用。 此清除功能仅通过 Azure 资源管理器公开,切记请谨慎使用。 可以使用 Azure 资源管理器设置 dailyQuotaResetTime 参数,配置数据量上限的每日重置时间。

后续步骤