Sdílet prostřednictvím


Povolte protokolování ladění

Pokud chcete vyřešit chybu nasazení, můžete povolit protokolování ladění, abyste získali další informace. Protokolování ladění funguje pro nasazení pomocí souborů Bicep nebo šablon Azure Resource Manageru (šablon ARM). Můžete získat data o požadavku a odpovědi nasazení, abyste se dozvěděli o příčině problému.

Výstraha

Protokolování ladění může odhalit tajné informace, jako jsou hesla nebo listKeys operace. Protokolování ladění povolte jenom v případě, že potřebujete vyřešit chybu nasazení. Po dokončení ladění byste měli odebrat historii nasazení ladění.

Nastavení protokolování ladění

Pomocí Azure PowerShell povolte protokolování ladění, které vyplní vlastnosti request a response informacemi o nasazení pro účely řešení potíží. Protokolování ladění nejde povolit pomocí Azure CLI.

Záznamy ladění jsou povoleny pouze pro hlavní šablonu ARM nebo soubor Bicep. Pokud používáte vnořené šablony ARM nebo moduly Bicep, přečtěte si téma Ladění vnořené šablony.

Pro nasazení skupiny prostředků použijte New-AzResourceGroupDeployment a nastavte DeploymentDebugLogLevel parametr na All, ResponseContentnebo RequestContent.

Když je povoleno protokolování ladění, zobrazí se upozornění, že citlivé údaje, jako jsou hesla nebo listKeys operace, mohou být zaznamenávány a zobrazovány při použití příkazů, jako Get-AzResourceGroupDeploymentOperation při získání informací o nasazení.

New-AzResourceGroupDeployment `
  -Name exampledeployment `
  -ResourceGroupName examplegroup `
  -TemplateFile main.bicep `
  -DeploymentDebugLogLevel All

Výstup nasazení zobrazuje úroveň protokolování ladění.

DeploymentDebugLogLevel : RequestContent, ResponseContent

Parametr DeploymentDebugLogLevel je k dispozici pro jiné obory nasazení: předplatné, skupina pro správu a tenant.

Získat informace o ladění

Po povolení protokolování ladění můžete získat další informace o operacích nasazení. Rutiny Azure PowerShell pro operace nasazení nevypíší vlastnosti request a response. K získání informací z těchto vlastností musíte použít Azure CLI.

Pokud protokolování ladění nepovolíte z příkazu nasazení, můžete stále získat informace o operacích nasazení. Pomocí Azure PowerShellu nebo Azure CLI získejte stavový kód, stavovou zprávu a stav zřizování.

Pro nasazení skupiny prostředků použijte Get-AzResourceGroupDeploymentOperation k získání operací nasazení.

Get-AzResourceGroupDeploymentOperation `
  -DeploymentName exampledeployment `
  -ResourceGroupName examplegroup

Můžete zadat vlastnost, například StatusCode, StatusMessagenebo ProvisioningState filtrovat výstup.

(Get-AzResourceGroupDeploymentOperation `
  -DeploymentName exampledeployment `
  -ResourceGroupName examplegroup).StatusCode

Další informace najdete v dokumentaci k rozsahům operací nasazení: předplatné, skupina pro správu a nájemce.

Ladit vnořenou šablonu

Hlavní šablona ARM a vnořené šablony mají vlastní název nasazení a historii nasazení. Hlavní soubor a modul Bicep také používají samostatný název nasazení a historii nasazení.

Šablona ARM

Pokud chcete protokolovat informace o ladění pro vnořenou šablonu ARM, použijte vlastnost Microsoft.Resources/deploymentsdebugSetting.

Následující ukázka ukazuje vnořenou šablonu s debugSetting k zaznamenání požadavku a odpovědi nasazení.

"resources": [
  {
    "type": "Microsoft.Resources/deployments",
    "apiVersion": "2021-04-01",
    "name": "nestedTemplateDebug",
    "properties": {
      "mode": "Incremental",
      "template": {
        "$schema": "https://schema.management.azure.com/schemas/2019-04-01/deploymentTemplate.json#",
        "contentVersion": "1.0.0.0",
        "resources": [
          {
            "type": "Microsoft.Storage/storageAccounts",
            "apiVersion": "2022-05-01",
            "name": "[variables('storageAccountName')]",
            "location": "[parameters('location')]",
            "sku": {
              "name": "[parameters('storageAccountType')]"
            },
            "kind": "StorageV2"
          }
        ]
      },
      "debugSetting": {
        "detailLevel": "requestContent, responseContent"
      }
    }
  }
],

Hlavní šablona ARM a vnořené šablony mají vlastní název nasazení a historii nasazení. Pokud chcete, aby vlastnosti request a response obsahovaly informace o řešení potíží, vezměte v úvahu následující scénáře nasazení:

  • Vlastnosti request a response obsahují null hodnoty pro hlavní šablonu a vnořenou šablonu, pokud DeploymentDebugLogLevel není povolen příkazem nasazení.
  • Když příkaz nasazení povolí DeploymentDebugLogLevel, vlastnosti request a response obsahují informace pouze pro hlavní šablonu. Vlastnosti vnořené šablony obsahují null hodnoty.
  • Pokud vnořená šablona použije debugSetting a příkaz nasazení neobsahuje DeploymentDebugLogLevel, pak má pouze vnořené nasazení šablony hodnoty pro vlastnosti request a response. Vlastnosti hlavní šablony obsahují null hodnoty.
  • Chcete-li získat request a response pro hlavní šablonu a vnořenou šablonu, zadejte DeploymentDebugLogLevel v příkazu nasazení a použijte debugSetting ve vnořené šabloně.

Soubor Bicep

Doporučení pro soubory Bicep je používat moduly místo vnořených šablon s Microsoft.Resources/deployments. Stavová zpráva, stavový kód a stav zřizování budou obsahovat informace o hlavním souboru a modulu Bicep, které můžete použít k řešení potíží s nasazením.

Pokud umožníte DeploymentDebugLogLevel v příkazu nasazení, vlastnosti request a response budou obsahovat informace pouze o nasazení hlavního souboru Bicep.

Odstranit historii nasazení ladění

Po dokončení ladění byste měli odebrat historii nasazení, abyste zabránili všem uživatelům, kteří mají přístup, aby viděli citlivé informace, které mohly být zaprotokolovány. Pro každý název nasazení, který jste použili při ladění, spusťte příkaz pro odebrání historie nasazení.

Pokud chcete odebrat historii nasazení pro skupinu prostředků, použijte Remove-AzResourceGroupDeployment.

Remove-AzResourceGroupDeployment -ResourceGroupName examplegroup -Name exampledeployment

Příkaz se vrátí True , jakmile bude úspěšný.

Další informace o historii nasazení najdete v dokumentaci k oborům nasazení: předplatné, skupina pro správu a tenant.

Další kroky