管理 Log Analytics 工作区中的数据保留

Log Analytics 工作区以两种状态保留数据:

  • 交互式保留:在这种状态下,数据可用于监视、故障排除和准实时分析
  • 长期保留:在这种低成本状态下,数据不可用于表计划功能,但可以通过搜索作业进行访问

本文介绍 Log Analytics 工作区如何保留数据,以及如何管理工作区中表的数据保留。

交互式、长期和总保留期

默认情况下,Log Analytics 工作区中的所有表会将数据保留 30 天,但默认保留时间为 90 天的日志表除外。 在此期间(交互式保留期),可以通过查询从表中检索数据,并且可以根据表计划将该数据用于可视化、警报及其他功能和服务。

可以将使用分析计划的表的交互式保留期延长至最多两年。 基本和辅助计划的交互式保留期固定为 30 天。

注意

可以使用 API 或 CLI 将分析表的交互式保留期缩短至四天。 但是,由于引入价格中包含的是 31 天交互式保留期,因此将保留期降低到 31 天以下并不能降低成本。

若要在超过交互式保留期仍然保留同一个表中的数据,请将表的总保留期延长至最多 12 年。 在交互式保留期结束时,数据将保留在表中,直到配置的总保留期结束。 在此期间(长期保留期),可以运行搜索作业以从表中检索所需的特定数据,并使其可用于在搜索结果表中进行交互式查询。

显示 Azure Monitor 日志中的交互式保留和长期保留的示意图。

保留期修改的工作原理

缩短表的总保留期时,Azure Monitor 日志会等待 30 天,然后删除数据,因此,如果配置中出现错误,你可以还原更改并避免数据丢失。

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

当更改包含现有数据的表的长期保留期设置时,更改会立即生效。

示例:

  • 现有分析表的交互式保留期为 180 天,但没有长期保留期。
  • 可以在不更改 180 天总保留期的情况下将交互式保留期更改为 90 天。
  • Azure Monitor 会自动将剩余的 90 天总保留期视为低成本的长期保留,这样,超过 90-180 天的数据就不会丢失。

所需的权限

操作 所需的权限
为 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 工作区中所有表的默认交互式保留期为 30 天。 可以通过修改工作区级别的数据保留期设置,将分析表的默认交互式保留期更改为最多两年。 基本和辅助表的交互式保留期固定为 30 天。

更改默认工作区级别的数据保留期设置会自动影响工作区中仍应用了默认设置的所有分析表。 如果你已更改特定表的交互式保留期,则更改工作区默认数据保留期设置时,该表不会受到影响。

重要

保留期为 30 天的工作区可能会将数据保留 31 天。 如果你需要将数据保留 30 天以遵守隐私政策,请使用 API 将默认的工作区保留期配置为 30 天,并将 immediatePurgeDataOn30Days 工作区属性更新为 true。 目前仅支持使用工作区 - 更新 API 执行此操作。

若要设置 Log Analytics 工作区中分析表的默认交互式保留期:

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

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

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

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

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

配置表级别的保留期

默认情况下,所有采用分析数据计划的表都会继承 Log Analytics 工作区的默认交互式保留期设置,并且没有长期保留期。 可以将分析表的交互式保留期延长至最多 730 天,但需要支付额外费用

若要为采用任何数据计划的表增加长期保留期,请将总保留期设置为最多 12 年(4,383 天)。 辅助表计划目前为公共预览版,在此期间,该计划的总保留期固定为 365 天。

注意

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

若要在 Azure 门户中修改表的保留期设置,请执行以下操作:

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

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

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

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

  3. 在表配置屏幕的“数据保留期设置”部分,配置交互式保留期和总保留期设置

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

按表获取保留期设置

若要在 Azure 门户中查看表的保留期设置,请在“Log Analytics 工作区”菜单中选择“表”

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

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

删除 Log Analytics 工作区中的表时数据会发生什么情况?

Log Analytics 工作区可以包含多个表类型。 删除表时发生的情况因每个表而异:

表类型 数据保留 建议
Azure 表 Azure 表保存着 Azure 服务或解决方案所需的 Azure 资源或数据的日志,并且无法删除。 停止从资源、服务或解决方案流式传输数据时,数据将保留在工作区中,直到为表定义的保留期结束。 为了最大程度地降低费用,请在停止将日志流式传输到表之前将表级保留期设置为四天。
自定义日志表 (table_CL) 软删除表,直到表级保留期或默认的工作区保留期结束。 在软删除期间,你将继续支付数据保留费,并可以通过设置具有相同名称和架构的表来重新创建表并访问数据。 删除自定义表 14 天后,Azure Monitor 会移除表级保留期配置并应用默认的工作区保留期。 为了最大程度地降低费用,请在删除表之前将表级保留期设置为四天。
搜索结果表 (table_SRCH) 立即永久删除表和数据。
还原表 (table_RST) 删除为还原预配的热缓存,但不会删除源表数据。

默认保留期为 90 天的日志表

默认情况下,UsageAzureActivity 表中的数据会免费保留至少 90 天。 如果将工作区保留期延长至 90 天以上,则也会延长这些表的保留期。 这些表也不产生数据引入费用。

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

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

定价模型

增加交互式保留期和长期保留期的费用是根据保留的数据量(以 GB 为单位)以及保留数据的天数计算的。 设置为 _IsBillable == false 的日志数据不受引入或保留费用的影响。

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

后续步骤

了解有关以下方面的详细信息: