Hibakeresési naplózás engedélyezése

Az üzembehelyezési hibák elhárításához engedélyezheti a hibakeresési naplózást, hogy további információkat kapjon. A hibakeresési naplózás Bicep-fájlokkal vagy Azure Resource Manager-sablonokkal (ARM-sablonokkal) rendelkező üzembe helyezések esetén működik. A probléma okának megismeréséhez lekérheti az üzembe helyezési kéréssel és a válaszokkal kapcsolatos adatokat.

Figyelmeztetés

A hibakeresési naplózás olyan titkos kódokat tehet közzé, mint a jelszavak vagy listKeys a műveletek. Csak akkor engedélyezze a hibakeresési naplózást, ha üzembehelyezési hiba elhárítására van szükség. Ha végzett a hibakereséssel, el kell távolítania a hibakeresési telepítési előzményeket.

Hibakeresési naplózás beállítása

A Azure PowerShell használatával engedélyezheti a hibakeresési naplózást, amely a és response a request tulajdonságot az üzembehelyezési adatokkal tölti fel a hibaelhárításhoz. A hibakeresési naplózás nem engedélyezhető az Azure CLI-vel.

A hibakeresési naplózás csak a fő ARM-sablonhoz vagy Bicep-fájlhoz engedélyezett. Beágyazott ARM-sablonok vagy Bicep-modulok használata esetén lásd: Beágyazott sablon hibakeresése.

Erőforráscsoport üzembe helyezéséhez használja a New-AzResourceGroupDeployment parancsot, és állítsa a DeploymentDebugLogLevel paramétert a következőre: All, ResponseContentvagy RequestContent.

Ha a hibakeresési naplózás engedélyezve van, egy figyelmeztetés jelenik meg, amely szerint a titkos kódok, például jelszavak vagy listKeys műveletek naplózhatók és megjeleníthetők, ha olyan parancsokat használ, mint Get-AzResourceGroupDeploymentOperation az üzembehelyezési műveletek információinak lekérése.

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

Az üzembe helyezés kimenete a hibakeresés naplózási szintjét jeleníti meg.

DeploymentDebugLogLevel : RequestContent, ResponseContent

A DeploymentDebugLogLevel paraméter más üzembehelyezési hatókörökhöz is elérhető: előfizetéshez, felügyeleti csoporthoz és bérlőhöz.

Hibakeresési információk lekérése

A hibakeresési naplózás engedélyezése után további információkat kaphat az üzembehelyezési műveletekről. Az üzembe helyezési műveletek Azure PowerShell parancsmagjai nem a és response a tulajdonságot adják request ki. A tulajdonságok információinak lekéréséhez az Azure CLI-t kell használnia.

Ha nem engedélyezi a hibakeresési naplózást az üzembe helyezési parancsból, továbbra is lekérheti az üzembehelyezési műveletek adatait. Az állapotkód, az állapotüzenet és a kiépítési állapot lekéréséhez használja az Azure PowerShell vagy az Azure CLI-t.

Erőforráscsoport üzembe helyezéséhez használja a Get-AzResourceGroupDeploymentOperation parancsot az üzembehelyezési műveletek lekéréséhez.

Get-AzResourceGroupDeploymentOperation `
  -DeploymentName exampledeployment `
  -ResourceGroupName examplegroup

A kimenet szűréséhez megadhat egy tulajdonságot, például StatusCode, StatusMessagevagy ProvisioningState .

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

További információkért tekintse meg az üzembehelyezési műveletek hatóköreinek dokumentációját: előfizetés, felügyeleti csoport és bérlő.

Beágyazott sablon hibakeresése

A fő ARM-sablon és a beágyazott sablonok saját üzembehelyezési névvel és üzembe helyezési előzményeikkel rendelkeznek. A fő Bicep-fájl és -modul külön üzembe helyezési nevet és üzembe helyezési előzményeket is használ.

ARM-sablon

Beágyazott ARM-sablon hibakeresési adatainak naplózásához használja a Microsoft.Resources/deployments tulajdonságot.debugSetting

Az alábbi minta egy beágyazott sablont mutat be az debugSetting üzembe helyezés kérésének és válaszának naplózásához.

"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"
      }
    }
  }
],

A fő ARM-sablon és a beágyazott sablonok saját üzembehelyezési névvel és üzembe helyezési előzményeikkel rendelkeznek. Ha azt szeretné, hogy a és response a request tulajdonság hibaelhárítási információkat tartalmazzon, vegye figyelembe a következő üzembehelyezési forgatókönyveket:

  • A request és response a tulajdonság a fő sablon és a beágyazott sablon értékeit tartalmazza null , ha DeploymentDebugLogLevel nincs engedélyezve az üzembe helyezési paranccsal.
  • Ha az üzembe helyezési parancs engedélyeziDeploymentDebugLogLevel, a és response a request tulajdonságok csak a fő sablonra vonatkozó információkat tartalmaznak. A beágyazott sablon tulajdonságai értékeket tartalmaznak null .
  • Ha egy beágyazott sablon a debugSetting és az üzembe helyezési parancsot használja, nem csak DeploymentDebugLogLevel a beágyazott sablon üzembe helyezése tartalmaz értékeket a és response a request tulajdonsághoz. A fő sablon tulajdonságai értékeket tartalmaznak null .
  • A fő sablon és response a beágyazott sablon és elemének lekéréséhez request adja meg DeploymentDebugLogLevel a parancsot az üzembe helyezési parancsban, és használja debugSetting a beágyazott sablonban.

Bicep-fájl

A Bicep-fájlokra vonatkozó javaslat az, hogy a beágyazott sablonok helyett modulokat használjon a paranccsal Microsoft.Resources/deployments. Az állapotüzenet, az állapotkód és a kiépítési állapot információkat tartalmaz a fő Bicep-fájlról és -modulról, amelyeket az üzembe helyezés hibaelhárításához használhat.

Ha az üzembe helyezési paranccsal engedélyezi DeploymentDebugLogLevel , a request és response a tulajdonságok csak a fő Bicep-fájl központi telepítésére vonatkozó információkat tartalmazzák.

Hibakeresési üzembehelyezési előzmények eltávolítása

Ha végzett a hibakereséssel, el kell távolítania az üzembehelyezési előzményeket, hogy bárki, aki hozzáférhessen, ne láthassa a naplózott bizalmas adatokat. A hibakeresés során használt összes üzembe helyezési névhez futtassa a parancsot az üzembehelyezési előzmények eltávolításához.

Az erőforráscsoport üzembe helyezésének előzményeinek eltávolításához használja a Remove-AzResourceGroupDeployment parancsot.

Remove-AzResourceGroupDeployment -ResourceGroupName examplegroup -Name exampledeployment

A parancs akkor ad True vissza, ha sikeres.

Az üzembe helyezési előzményekkel kapcsolatos további információkért tekintse meg az üzembehelyezési hatókörök dokumentációját: előfizetés, felügyeleti csoport és bérlő.

Következő lépések