Coming Soon: GET:IT Endpoint Management 1-Day Conference on September 28th at 9:30 AM ET Coming Soon: GET:IT Endpoint Management 1-Day Conference on September 28th at 9:30 AM ET
Cloud Computing

Monitoring & Troubleshooting Azure JSON Deployments

In this article, I will show you how you can monitor the deployment of an Azure JSON template using the Azure Portal and debug what went wrong using errors in the Azure Portal and the Azure Resource Explorer (still in preview at the time of writing this post).



Sponsored Content

Say Goodbye to Traditional PC Lifecycle Management

Traditional IT tools, including Microsoft SCCM, Ghost Solution Suite, and KACE, often require considerable custom configurations by T3 technicians (an expensive and often elusive IT resource) to enable management of a hybrid onsite + remote workforce. In many cases, even with the best resources, organizations are finding that these on-premise tools simply cannot support remote endpoints consistently and reliably due to infrastructure limitations.

Monitoring a Deployment

Azure Resource Manager (ARM) uses the concept of deployments to identify each execution of an Azure JSON template. It is possible to deploy multiple templates within a resource group, so it’s useful to be able to know which is which.

After you deploy a template, using whatever method, you can browse to the new or existing resource group to monitor the deployment. Browse to the resource group in the Azure Portal and select Deployments. Each deployment (past and current) is listed there; select the current deployment that you want to monitor and you can track the progress of the deployment. Quite a bit of information is shared by ARM via this interface.

Details of the deployment, such as the subscription and resource group, are shared at the top of the blade. The entered parameter values are also shown – it’s a good idea to double-check these values to ensure that you haven’t “fat fingered” something.

Each resource appears in Operation Details as it is being created. The creation process is based on the dependencies that are defined within your JSON template. For example, you will require a storage account, virtual network, and NICs before creating virtual machines. You can click each resource, as it appears, to learn more about the process.

Monitoring the progress of an Azure JSON template deployment [Image Credit: Aidan Finn]
Monitoring the progress of an Azure JSON template deployment [Image Credit: Aidan Finn]
When I deploy a mid-large template, I open this blade, and then click the link to the resource group in the upper part of the blade. This opens another resource group blade where I can see the new resources being progressed, while I track the progress in the Deployments blade.

Diagnosing Faults

I have found that the first indication that there is an error with your deployment is that some step is taking too long. For example, a storage account is normally brought online very quickly (a matter of seconds), but if you find that the resource creation is taking too long, then there probably is an issue with your template.

The second indication of a fault is that the JSON template will fail and a status message will appear:

  • In the Azure Portal if you deployed the template using the portal
  • In PowerShell if you used a cmdlet or script to start the deployment

You can start to dive into the fault by opening Deployments in the resource group and opening the affected deployment. Any failed resources will have a red status message. You can open the failed resource to learn more. The error can be quite … wordy … but a clue to the origins of the fault will usually be there.

There are some kinds of faults that are more difficult to diagnose. For example, you might be using scripted extensions to perform actions within a virtual machine. The JSON template will sit and wait for the script to end, but if the script doesn’t terminate, there will be no success or failure update. The status messages in the deployment will be useless for diagnosing these faults. Sometimes we need to dive a little deeper.

The Azure Resource Explorer (Preview)

You can use the Azure Resource Explorer to get deep into the weeds of any resource group, browsing Azure’s ARM view of your resource group and any status messages.

The Azure Resource Explorer can be found here. Sign in using your Azure credentials. The navigation bar on the left allows you to expand the subscription and resource group that has experienced the failure. Navigate to the affected resource and look for any information that can help, such as provisioningState.

Note that the Documentation tab offers a great resource for explaining every value that you see in the resource.

Using the Azure Resource Explorer to troubleshoot JSON deployments [Image Credit: Aidan Finn]
Using the Azure Resource Explorer to troubleshoot JSON deployments [Image Credit: Aidan Finn]


I find that between syntax checking of VS Code and the two levels of validation offered by the Azure Portal, I don’t hit too many errors with my deployments. But when deployments fail, it’s usually because of something tricky. Using the above methods and some practice, you’ll be able to diagnose the failures and resolve the issues. Remember to create a new version of your template and you can re-target your existing resource group – you don’t need to delete resources because they will be re-used/tweaked if necessary.


Related Topics:


Don't have a login but want to join the conversation? Sign up for a Petri Account

Comments (0)

Leave a Reply

Aidan Finn, Microsoft Most Valuable Professional (MVP), has been working in IT since 1996. He has worked as a consultant and administrator for the likes of Innofactor Norway, Amdahl DMR, Fujitsu, Barclays and Hypo Real Estate Bank International where he dealt with large and complex IT infrastructures and MicroWarehouse Ltd. where he worked with Microsoft partners in the small/medium business space.
Live Webinar: Active Directory Security: What Needs Immediate Priority!Live on Tuesday, October 12th at 1 PM ET

Attacks on Active Directory are at an all-time high. Companies that are not taking heed are being punished, both monetarily and with loss of production.

In this webinar, you will learn:

  • How to prioritize vulnerability management
  • What attackers are leveraging to breach organizations
  • Where Active Directory security needs immediate attention
  • Overall strategy to secure your environment and keep it secured

Sponsored by: