从诊断设置存储保留迁移到 Azure 存储生命周期管理
诊断设置存储保留功能即将弃用。 要配置发送到 Azure 存储帐户的日志和指标的保留期,请使用 Azure 存储生命周期管理。
本指南指导你从使用 Azure 诊断设置存储保留迁移到使用 Azure 存储生命周期管理进行保留。 对于发送到 Log Analytics 工作区的日志,会在工作区的“表”页上为每个表设置保留期。 有关 Log Analytics 工作区保留的详细信息,请参阅管理 Log Analytics 工作区中的数据保留。
重要
弃用时间线。
- 2023 年 3 月 31 日 - 诊断设置存储保留功能将不再可用于为日志数据配置新的保留规则。 这包括使用门户、CLI PowerShell 以及 ARM 和 Bicep 模板。 即使已配置保留设置,仍可以在门户中查看和更改它们。
- 2025 年 9 月 30 日 - 将在所有环境中禁用诊断设置存储保留功能的所有保留功能。
先决条件
记录到存储帐户的现有诊断设置。
迁移过程
注意
- 更改保留设置时,新设置仅适用于更改后引入的新日志。 现有日志受以前的保留设置约束。
- 删除诊断设置不会删除存储帐户中的日志。 保留设置将继续应用于在删除诊断设置之前创建的日志。
使用以下 CLI 命令检查资源是否有诊断设置:
az monitor diagnostic-settings list --resource <resource Id>
输出结果显示诊断设置是否将数据发送到存储帐户,例如:
[
{
"id": "/subscriptions/aaaa0a0a-bb1b-cc2c-dd3d-eeeeee4e4e4e/resourcegroups/rg-001/providers/microsoft.insights/datacollectionrules/dcr-east2/providers/microsoft.insights/diagnosticSettings/dsetting-1",
"logs": [
{
"categoryGroup": "allLogs",
"enabled": true,
"retentionPolicy": {
"days": 0,
"enabled": false
}
}
],
"metrics": [
{
"category": "AllMetrics",
"enabled": false,
"retentionPolicy": {
"days": 0,
"enabled": false
}
}
],
"name": "dsetting-1",
"resourceGroup": "rg-001",
"storageAccountId": "/subscriptions/aaaa0a0a-bb1b-cc2c-dd3d-eeeeee4e4e4e/resourceGroups/rg-DCR/providers/Microsoft.Storage/storageAccounts/logs001",
"type": "Microsoft.Insights/diagnosticSettings"
}
]
若要迁移诊断设置保留规则,请执行以下步骤:
转到日志记录资源的“诊断设置”页,找到要迁移的诊断设置
将记录类别的保留期设置为“0”
导航到要登录到的存储帐户
在“数据管理”下,选择“生命周期管理”以查看或更改生命周期管理策略
输入“规则名称”
在“规则范围”下,选择“使用筛选器限制 blob”
在“Blob 类型”下,选择“追加 Blob”。在“Blob 子类型”下,选择“基本 Blob”。
在“筛选器”选项卡的“Blob 前缀”下,设置你希望应用保留规则的容器或日志的路径或前缀。 路径或前缀可以是容器中的任何级别,并将应用于该路径或前缀下的所有 blob。 例如,对于所有见解活动日志,请使用容器 insights-activity-logs 来设置该容器中所有日志的保留期。
若要为特定 Web 应用设置规则,请使用 insights-activity-logs/ResourceId=/SUBSCRIPTIONS/<your subscription Id>/RESOURCEGROUPS/<your resource group>/PROVIDERS/MICROSOFT.WEB/SITES/<your webapp name>。可使用存储浏览器帮助查找路径或前缀。
下面的示例显示了特定 Web 应用的前缀:*insights-activity-logs/ResourceId=/SUBSCRIPTIONS/aaaa0a0a-bb1b-cc2c-dd3d-eeeeee4e4e4e/RESOURCEGROUPS/rg-001/PROVIDERS/MICROSOFT.WEB/SITES/appfromdocker1。
若要为资源组中的所有资源设置规则,请使用 insights-activity-logs/ResourceId=/SUBSCRIPTIONS/aaaa0a0a-bb1b-cc2c-dd3d-eeeeee4e4e4e7/RESOURCEGROUPS/rg-001。