Переход от удержания данных в параметрах диагностики к управлению жизненным циклом служба хранилища Azure

Функция хранения параметров диагностики устарела . Весь функционал хранения данной функции был отключен во всех средах 30 сентября 2025 г.

В этой статье описывается переход от использования хранения параметров диагностики к использованию управления жизненным циклом службы хранилища Azure для хранения.

Для журналов, отправленных в рабочую область Log Analytics, хранение устанавливается для каждой таблицы на странице таблиц рабочей области. Дополнительные сведения см. в разделе "Управление хранением данных" в рабочей области Log Analytics.

Предпосылки

Чтобы выполнить эту миграцию, вам потребуется:

  • Существующий параметр диагностики, который отправляет журналы в учетную запись служба хранилища Azure.
  • Роль Storage Account Contributor или эквивалентная ей роль, которая предоставляет разрешения Microsoft.Storage/storageAccounts/managementPolicies/* для целевой учетной записи хранения.

Переход на политику управления жизненным циклом служба хранилища Azure

Функция хранения параметров диагностики перестала применять политику хранения 30 сентября 2025 г., поэтому любое значение срока хранения, которое по-прежнему задано для параметра диагностики, больше не действует. Воспроизведите эти правила хранения в учетной записи хранения данных с помощью политики управления жизненным циклом служба хранилища Azure, выполнив следующие действия.

При изменении параметров хранения следует учитывать следующее поведение:

Замечание

  • При изменении параметров хранения новые настройки применяются только к логам, поступившим после изменения. Существующие журналы подчиняются предыдущим параметрам хранения.
  • Удаление параметра диагностики не удаляет журналы в учетной записи хранения. Параметры хранения продолжают применяться к журналам, созданным до удаления параметров диагностики.

Проверьте наличие параметра диагностики, использующего учетную запись хранения

В следующем Azure CLI примере используется az monitor diagnostic-settings list команда. В нем перечислены параметры диагностики ресурса с помощью --resource параметра.

# Set variables
resourceId="<ResourceId>"

# List the diagnostic settings on the resource
az monitor diagnostic-settings list --resource "$resourceId"

Выходные данные показывают, отправляет ли параметр диагностики данные в учетную запись хранения. Рассмотрим пример.

[
  {
    "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"
  }
]

Создание политики управления жизненным циклом

Выберите Azure CLI, Bicep или шаблон ARM, чтобы создать политику. Так как хранение параметров диагностики было отключено 30 сентября 2025 г., любое значение хранения, оставшееся в параметре диагностики, больше не применяется, поэтому не нужно сбрасывать его до 0.

В следующем Azure CLI примере используется az storage account management-policy create команда. Он создает политику управления жизненным циклом с помощью --policy параметра для ссылки на файл определения локальной политики.

# Set variables
storageAccountName="<StorageAccountName>"
resourceGroupName="<ResourceGroupName>"
policyFilePath="<PolicyDefinitionFilePath>"

# Create the lifecycle management policy
az storage account management-policy create \
  --account-name "$storageAccountName" \
  --resource-group "$resourceGroupName" \
  --policy "@$policyFilePath"

Приведённое ниже определение политики задаёт срок хранения для всех BLOB-объектов в контейнере insights-activity-logs в этой подписке. Дополнительные сведения см. в определении политики управления жизненным циклом.

{
  "rules": [
    {
      "enabled": true,
      "name": "Subscription level lifecycle rule",
      "type": "Lifecycle",
      "definition": {
        "actions": {
          "baseBlob": {
            "delete": {
              "daysAfterModificationGreaterThan": 120
            }
          }
        },
        "filters": {
          "blobTypes": [
            "appendBlob"
          ],
          "prefixMatch": [
            "insights-activity-logs/ResourceId=/SUBSCRIPTIONS/<SubscriptionId>"
          ]
        }
      }
    }
  ]
}

Проверка политики управления жизненным циклом

В следующем Azure CLI примере используется az storage account management-policy show команда. Он подтверждает, что политика существует в учетной записи хранения с помощью --account-name параметра.

# Set variables
storageAccountName="<StorageAccountName>"
resourceGroupName="<ResourceGroupName>"

# Show the lifecycle management policy
az storage account management-policy show \
  --account-name "$storageAccountName" \
  --resource-group "$resourceGroupName"

В выходных данных показаны правила политики, включая daysAfterModificationGreaterThan значение, задающее период хранения в днях.