Azure Dashboards

Centralise your queried data graphs/charts etc with Azure Dashboards – such a powerful resource within Microsoft Azure!

A fully customisable user interface within a dashboard type environment, this should be configured for a “first-stop” for your team(s) to keep an eye on:- metrics, graphs and data within these dashboards.

Why Azure Dashboards?

  • Simple to create
  • Full customisation and layout
  • Dashboards by code – Can be deployed by code (backup and deploy to future subscriptions)
  • Make it yours, can be tailored specifically to your subscription and requirements
  • Display custom metric charts/graphs along with standard available metric charts and graphs

What resource metrics can be added to an Azure Dashboard?

  • Pretty much any resource that has a metrics output
  • Azure Monitor
  • Application Insights
  • Log Analytics

There are 25 available tile options that can also be included such as MarkDown, time zones, ARM actions.

Lets have a look..

Creating a new dashboard

Click Dashboard within portal


Click New dashboard

This will bring you to the dashboard customisation screen, as mentioned above you have the choice of 25 available tiles. Also you can give your dashboard a suitable name, for this example I used TamOps Dashboard and used the clock tile, each tile has various available sizing, as shown below

Click Done Customizing

You have now created the basics of dashboards, available to view by clicking the Dashboard icon as above

Ever notice them pins?

Numerous metrics/graphs are available to be pinned directly to your newly created dashboard

Example below I have pinned a Storage Account’s Total egress graph to my dashboard

You can also change each Tiles tile to something specific

Building custom Log Analytics queries? You can pin the output results to a dashboard!

Log Analytics Query:-

Azure Dashboard:-

Time to export

Happy with your dashboard and want to reuse it on another subscription?

By clicking Download, your custom dashboard will extract in a .json format

Now we have the .json file and as mentioned above you can export to various other subscriptions, notice in the .json file there is some hard-coded parameters specific to the subscription? Example below:-

"resourceMetadata": {
                            "id": "/subscriptions/11111-1111-111-1111--111/resourceGroups/tamops-sa-rg/providers/Microsoft.Storage/storageAccounts/tamopssa"
                          }

Lets parameterise the above, making it generic and deployable in additional subscriptions without errors

"resourceMetadata": {
                            "id": ""[resourceId(parameters('StorageAccountResourceGroupName'), 'Microsoft.Storage/storageAccounts', parameters('StorageAccountName'))]"
                          }

If you are familiar with json formatting, parameters will look like this:-

{
    "$schema": "https://schema.management.azure.com/schemas/2015-01-01/deploymentTemplate.json#",
    "contentVersion": "1.0.0.0",
    "parameters": {
        "StorageAccountResourceGroupName": {
            "type": "string"
        },
        "StorageAccountName": {
            "type": "string"
        }
    },

Deploy to another subscription as per below

$resourceGroupName = "tamopsresourcegroup"
$location = "eastus2"

New-AzResourceGroup -Name $resourceGroupName -Location $location
New-AzResourceGroupDeployment -ResourceGroupName $resourceGroupName `
  -TemplateFile c:\example\templatename.json

I am a huge fan of Azure Dashboards, thanks for reading this blog – hopefully you now have an understanding of how to use these dashboards within your projects!

As ever, any queries – give a shout on Twitter or Contact page at top!

Leave a Reply

This site uses Akismet to reduce spam. Learn how your comment data is processed.

%d bloggers like this: