Visualizzare le operazioni di distribuzione con Azure Resource ManagerView deployment operations with Azure Resource Manager

È possibile visualizzare le operazioni per una distribuzione tramite il portale di Azure.You can view the operations for a deployment through the Azure portal. È possibile che si sia più interessati a visualizzare le operazioni quando si riceve un errore durante la distribuzione, quindi questo articolo è incentrato sulla visualizzazione delle operazioni non riuscite.You may be most interested in viewing the operations when you have received an error during deployment so this article focuses on viewing operations that have failed. Il portale offre un'interfaccia che consente di individuare facilmente gli errori e determinare le potenziali correzioni.The portal provides an interface that enables you to easily find the errors and determine potential fixes.

È possibile risolvere i problemi relativi alla distribuzione esaminando i log di controllo o le operazioni di distribuzione.You can troubleshoot your deployment by looking at either the audit logs, or the deployment operations. Questo argomento illustra entrambi i metodi.This topic shows both methods. Per informazioni sulla risoluzione di errori di distribuzione specifici, vedere Risolvere errori comuni durante la distribuzione di risorse in Azure con Azure Resource Manager.For help with resolving particular deployment errors, see Resolve common errors when deploying resources to Azure with Azure Resource Manager.

di Microsoft AzurePortal

Per visualizzare le operazioni di distribuzione, attenersi alla procedura seguente:To see the deployment operations, use the following steps:

  1. Per il gruppo di risorse coinvolte nella distribuzione, si noti lo stato dell'ultima distribuzione.For the resource group involved in the deployment, notice the status of the last deployment. È possibile selezionare questo stato per ottenere altri dettagli.You can select this status to get more details.

    Stato della distribuzione

  2. Viene visualizzata la cronologia di distribuzione recente.You see the recent deployment history. Selezionare la distribuzione non riuscita.Select the deployment that failed.

    Stato della distribuzione

  3. Selezionare il collegamento per visualizzare una descrizione del motivo per cui la distribuzione non è riuscita.Select the link to see a description of why the deployment failed. Nell'immagine seguente il record DNS non è univoco.In the image below, the DNS record is not unique.

    visualizzare la distribuzione non riuscita

    Questo messaggio di errore dovrebbe essere sufficiente per iniziare la risoluzione dei problemi.This error message should be enough for you to begin troubleshooting. Tuttavia, se sono necessari altri dettagli sulle attività completate, è possibile visualizzare le operazioni, come illustrato nei passaggi seguenti.However, if you need more details about which tasks were completed, you can view the operations as shown in the following steps.

  4. È possibile visualizzare tutte le operazioni di distribuzione nel pannello Distribuzione .You can view all the deployment operations in the Deployment blade. Selezionare un'operazione per visualizzare altri dettagli.Select any operation to see more details.

    visualizzare operazioni

    In questo caso, si noterà che l'account di archiviazione, la rete virtuale e il set di disponibilità sono stati creati correttamente.In this case, you see that the storage account, virtual network, and availability set were successfully created. L'indirizzo IP pubblico non è riuscito e non si sono state tentate altre risorse.The public IP address failed, and other resources were not attempted.

  5. È possibile visualizzare gli eventi relativi alla distribuzione selezionando venti.You can view events for the deployment by selecting Events.

    visualizzare eventi

  6. Visualizzare tutti gli eventi per la distribuzione e selezionarne una per altri dettagli.You see all the events for the deployment and select any one for more details. Si notino anche gli ID di correlazione.Notice too the correlation IDs. Questo valore può essere utile quando si interagisce con il supporto tecnico per risolvere i problemi relativi a una distribuzione.This value can be helpful when working with technical support to troubleshoot a deployment.

    vedere eventi

PowerShellPowerShell

  1. Per ottenere lo stato complessivo di una distribuzione, usare il comando Get-AzureRmResourceGroupDeployment .To get the overall status of a deployment, use the Get-AzureRmResourceGroupDeployment command.

    Get-AzureRmResourceGroupDeployment -ResourceGroupName ExampleGroup
    

    In alternativa, è possibile filtrare i risultati per visualizzare solo le distribuzioni con esito negativo.Or, you can filter the results for only those deployments that have failed.

    Get-AzureRmResourceGroupDeployment -ResourceGroupName ExampleGroup | Where-Object ProvisioningState -eq Failed
    
  2. Ogni distribuzione include più operazioni,Each deployment includes multiple operations. ognuna delle quali rappresenta un passaggio del processo di distribuzione.Each operation represents a step in the deployment process. Per individuare eventuali problemi, solitamente è necessario visualizzare i dettagli relativi alle operazioni di distribuzione.To discover what went wrong with a deployment, you usually need to see details about the deployment operations. Per visualizzare lo stato delle operazioni, usare il comando Get-AzureRmResourceGroupDeploymentOperation.You can see the status of the operations with Get-AzureRmResourceGroupDeploymentOperation.

    Get-AzureRmResourceGroupDeploymentOperation -ResourceGroupName ExampleGroup -DeploymentName vmDeployment
    

    Che restituisce più operazioni, ognuna nel formato seguente:Which returns multiple operations with each one in the following format:

    Id             : /subscriptions/{guid}/resourceGroups/ExampleGroup/providers/Microsoft.Resources/deployments/Microsoft.Template/operations/A3EB2DA598E0A780
    OperationId    : A3EB2DA598E0A780
    Properties     : @{provisioningOperation=Create; provisioningState=Succeeded; timestamp=2016-06-14T21:55:15.0156208Z;
                    duration=PT23.0227078S; trackingId=11d376e8-5d6d-4da8-847e-6f23c6443fbf;
                    serviceRequestId=0196828d-8559-4bf6-b6b8-8b9057cb0e23; statusCode=OK; targetResource=}
    PropertiesText : {duration:PT23.0227078S, provisioningOperation:Create, provisioningState:Succeeded,
                    serviceRequestId:0196828d-8559-4bf6-b6b8-8b9057cb0e23...}
    
  3. Per ottenere altre informazioni sulle operazioni non riuscite, recuperare le proprietà per le operazioni con stato Non riuscita .To get more details about failed operations, retrieve the properties for operations with Failed state.

    (Get-AzureRmResourceGroupDeploymentOperation -DeploymentName Microsoft.Template -ResourceGroupName ExampleGroup).Properties | Where-Object ProvisioningState -eq Failed
    

    Vengono restituite tutte le operazioni non riuscite, ognuna nel formato seguente:Which returns all the failed operations with each one in the following format:

    provisioningOperation : Create
    provisioningState     : Failed
    timestamp             : 2016-06-14T21:54:55.1468068Z
    duration              : PT3.1449887S
    trackingId            : f4ed72f8-4203-43dc-958a-15d041e8c233
    serviceRequestId      : a426f689-5d5a-448d-a2f0-9784d14c900a
    statusCode            : BadRequest
    statusMessage         : @{error=}
    targetResource        : @{id=/subscriptions/{guid}/resourceGroups/ExampleGroup/providers/
                           Microsoft.Network/publicIPAddresses/myPublicIP;
                           resourceType=Microsoft.Network/publicIPAddresses; resourceName=myPublicIP}
    

    Si notino gli elementi serviceRequestId e trackingId per l'operazione.Note the serviceRequestId and the trackingId for the operation. L'elemento serviceRequestId può essere utile quando si interagisce con il supporto tecnico per risolvere i problemi relativi a una distribuzione,The serviceRequestId can be helpful when working with technical support to troubleshoot a deployment. mentre l'elemento trackingId viene usato nel passaggio successivo per concentrarsi su una particolare operazione.You will use the trackingId in the next step to focus on a particular operation.

  4. Per ottenere il messaggio di stato di un'operazione non riuscita particolare, usare il comando seguente:To get the status message of a particular failed operation, use the following command:

    ((Get-AzureRmResourceGroupDeploymentOperation -DeploymentName Microsoft.Template -ResourceGroupName ExampleGroup).Properties | Where-Object trackingId -eq f4ed72f8-4203-43dc-958a-15d041e8c233).StatusMessage.error
    

    Che restituisce:Which returns:

    code           message                                                                        details
    ----           -------                                                                        -------
    DnsRecordInUse DNS record dns.westus.cloudapp.azure.com is already used by another public IP. {}
    
  5. Ogni operazione di distribuzione in Azure include il contenuto della richiesta e della risposta.Every deployment operation in Azure includes request and response content. Il contenuto della richiesta corrisponde a quanto è stato inviato a Azure durante la distribuzione, ad esempio la richiesta di creare una macchina virtuale, un disco del sistema operativo e altre risorse.The request content is what you sent to Azure during deployment (for example, create a VM, OS disk, and other resources). Il contenuto della risposta è la risposta di Azure alla richiesta di distribuzione.The response content is what Azure sent back from your deployment request. Durante la distribuzione è possibile usare il parametro DeploymentDebugLogLevel per specificare che la richiesta e/o la risposta vengono mantenute nel log.During deployment, you can use DeploymentDebugLogLevel paramenter to specify that the request and/or response are retained in the log.

    Per ottenere tali informazioni dal log e salvarle in locale, usare i comandi PowerShell seguenti:You get that information from the log, and save it locally by using the following PowerShell commands:

    (Get-AzureRmResourceGroupDeploymentOperation -DeploymentName "TestDeployment" -ResourceGroupName "Test-RG").Properties.request | ConvertTo-Json |  Out-File -FilePath <PathToFile>
    
    (Get-AzureRmResourceGroupDeploymentOperation -DeploymentName "TestDeployment" -ResourceGroupName "Test-RG").Properties.response | ConvertTo-Json |  Out-File -FilePath <PathToFile>
    

Interfaccia della riga di comando di AzureAzure CLI

  1. Per ottenere lo stato complessivo di una distribuzione, è possibile usare il comando azure group deployment show .Get the overall status of a deployment with the azure group deployment show command.

    azure group deployment show --resource-group ExampleGroup --name ExampleDeployment --json
    

    Uno dei calori restituiti è correlationId.One of the returned values is the correlationId. Tale valore viene usato per tenere traccia degli eventi correlati e può essere utile quando si interagisce con il supporto tecnico per risolvere i problema relativi a una distribuzione.This value is used to track related events, and can be helpful when working with technical support to troubleshoot a deployment.

    "properties": {
     "provisioningState": "Failed",
     "correlationId": "4002062a-a506-4b5e-aaba-4147036b771a",
    
  2. Per visualizzare le operazioni per una distribuzione, usare:To see the operations for a deployment, use:

    azure group deployment operation list --resource-group ExampleGroup --name ExampleDeployment --json
    

RESTREST

  1. Ottenere informazioni su una distribuzione con l'operazione Ottenere informazioni su una distribuzione modello.Get information about a deployment with the Get information about a template deployment operation.

    GET https://management.azure.com/subscriptions/{subscription-id}/resourcegroups/{resource-group-name}/providers/microsoft.resources/deployments/{deployment-name}?api-version={api-version}
    

    Nella risposta si notino in particolare gli elementi provisioningState, correlationId ed error.In the response, note in particular the provisioningState, correlationId, and error elements. Il valore correlationId viene usato per tenere traccia degli eventi correlati e può essere utile quando si interagisce con il supporto tecnico per risolvere i problemi relativi a una distribuzione.The correlationId is used to track related events, and can be helpful when working with technical support to troubleshoot a deployment.

    { 
     ...
     "properties": {
       "provisioningState":"Failed",
       "correlationId":"d5062e45-6e9f-4fd3-a0a0-6b2c56b15757",
       ...
       "error":{
         "code":"DeploymentFailed","message":"At least one resource deployment operation failed. Please list deployment operations for details. Please see http://aka.ms/arm-debug for usage details.",
         "details":[{"code":"Conflict","message":"{\r\n  \"error\": {\r\n    \"message\": \"Conflict\",\r\n    \"code\": \"Conflict\"\r\n  }\r\n}"}]
       }  
     }
    }
    
  2. Ottenere informazioni sulle operazioni di distribuzione con l'operazione Elencare tutte le operazioni di distribuzione modello.Get information about deployment operations with the List all template deployment operations operation.

    GET https://management.azure.com/subscriptions/{subscription-id}/resourcegroups/{resource-group-name}/providers/microsoft.resources/deployments/{deployment-name}/operations?$skiptoken={skiptoken}&api-version={api-version}
    

    La risposta include la richiesta e/o le informazioni sulla risposta in base a quanto specificato nella proprietà debugSetting durante la distribuzione.The response includes request and/or response information based on what you specified in the debugSetting property during deployment.

    {
     ...
     "properties": 
     {
       ...
       "request":{
         "content":{
           "location":"West US",
           "properties":{
             "accountType": "Standard_LRS"
           }
         }
       },
       "response":{
         "content":{
           "error":{
             "message":"Conflict","code":"Conflict"
           }
         }
       }
     }
    }
    

Passaggi successiviNext steps