Struttura dei dashboard di Azure

Questo documento descrive dettagliatamente la struttura di un dashboard di Azure usando il dashboard seguente come esempio:

Screenshot di un dashboard di esempio nel portale di Azure.

Poiché i dashboard di Azure condivisi sono risorse, questo dashboard può essere rappresentato come JSON. È possibile scaricare la rappresentazione JSON di un dashboard selezionando Esporta e quindi Scarica nel portale di Azure.

Il codice JSON seguente rappresenta il dashboard illustrato in precedenza.

{
{
  "properties": {
    "lenses": {
      "0": {
        "order": 0,
        "parts": {
          "0": {
            "position": {
              "x": 0,
              "y": 0,
              "colSpan": 3,
              "rowSpan": 2
            },
            "metadata": {
              "inputs": [],
              "type": "Extension/HubsExtension/PartType/MarkdownPart",
              "settings": {
                "content": {
                  "settings": {
                    "content": "## Azure Virtual Machines Overview\r\nNew team members should watch this video to get familiar with Azure Virtual Machines.",
                    "markdownUri": null
                  }
                }
              }
            }
          },
          "1": {
            "position": {
              "x": 3,
              "y": 0,
              "colSpan": 8,
              "rowSpan": 4
            },
            "metadata": {
              "inputs": [],
              "type": "Extension/HubsExtension/PartType/MarkdownPart",
              "settings": {
                "content": {
                  "settings": {
                    "content": "This is the team dashboard for the test VM we use on our team. Here are some useful links:\r\n\r\n1. [Create a Linux virtual machine](https://docs.microsoft.com/azure/virtual-machines/linux/quick-create-portal)\r\n1. [Create a Windows virtual machine](https://docs.microsoft.com/azure/virtual-machines/windows/quick-create-portal)\r\n1. [Create a virtual machine scale set](https://docs.microsoft.com/azure/virtual-machine-scale-sets/quick-create-portal)",
                    "title": "Test VM Dashboard",
                    "subtitle": "Contoso",
                    "markdownUri": null
                  }
                }
              }
            }
          },
          "2": {
            "position": {
              "x": 0,
              "y": 2,
              "colSpan": 3,
              "rowSpan": 2
            },
            "metadata": {
              "inputs": [],
              "type": "Extension/HubsExtension/PartType/VideoPart",
              "settings": {
                "content": {
                  "settings": {
                    "src": "https://www.youtube.com/watch?v=rOiSRkxtTeU",
                    "autoplay": false
                  }
                }
              }
            }
          },
          "3": {
            "position": {
              "x": 0,
              "y": 4,
              "colSpan": 11,
              "rowSpan": 3
            },
            "metadata": {
              "inputs": [
                {
                  "name": "queryInputs",
                  "value": {
                    "timespan": {
                      "duration": "PT1H"
                    },
                    "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/SimpleWinVMResourceGroup/providers/Microsoft.Compute/virtualMachines/myVM1",
                    "chartType": 0,
                    "metrics": [
                      {
                        "name": "Percentage CPU",
                        "resourceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/SimpleWinVMResourceGroup/providers/Microsoft.Compute/virtualMachines/myVM1"
                      }
                    ]
                  }
                }
              ],
              "type": "Extension/Microsoft_Azure_Monitoring/PartType/MetricsChartPart",
              "settings": {}
            }
          },
          "4": {
            "position": {
              "x": 0,
              "y": 7,
              "colSpan": 3,
              "rowSpan": 2
            },
            "metadata": {
              "inputs": [
                {
                  "name": "queryInputs",
                  "value": {
                    "timespan": {
                      "duration": "PT1H"
                    },
                    "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/SimpleWinVMResourceGroup/providers/Microsoft.Compute/virtualMachines/myVM1",
                    "chartType": 0,
                    "metrics": [
                      {
                        "name": "Disk Read Operations/Sec",
                        "resourceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/SimpleWinVMResourceGroup/providers/Microsoft.Compute/virtualMachines/myVM1"
                      },
                      {
                        "name": "Disk Write Operations/Sec",
                        "resourceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/SimpleWinVMResourceGroup/providers/Microsoft.Compute/virtualMachines/myVM1"
                      }
                    ]
                  }
                }
              ],
              "type": "Extension/Microsoft_Azure_Monitoring/PartType/MetricsChartPart",
              "settings": {}
            }
          },
          "5": {
            "position": {
              "x": 3,
              "y": 7,
              "colSpan": 3,
              "rowSpan": 2
            },
            "metadata": {
              "inputs": [
                {
                  "name": "queryInputs",
                  "value": {
                    "timespan": {
                      "duration": "PT1H"
                    },
                    "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/SimpleWinVMResourceGroup/providers/Microsoft.Compute/virtualMachines/myVM1",
                    "chartType": 0,
                    "metrics": [
                      {
                        "name": "Disk Read Bytes",
                        "resourceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/SimpleWinVMResourceGroup/providers/Microsoft.Compute/virtualMachines/myVM1"
                      },
                      {
                        "name": "Disk Write Bytes",
                        "resourceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/SimpleWinVMResourceGroup/providers/Microsoft.Compute/virtualMachines/myVM1"
                      }
                    ]
                  }
                }
              ],
              "type": "Extension/Microsoft_Azure_Monitoring/PartType/MetricsChartPart",
              "settings": {}
            }
          },
          "6": {
            "position": {
              "x": 6,
              "y": 7,
              "colSpan": 3,
              "rowSpan": 2
            },
            "metadata": {
              "inputs": [
                {
                  "name": "queryInputs",
                  "value": {
                    "timespan": {
                      "duration": "PT1H"
                    },
                    "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/SimpleWinVMResourceGroup/providers/Microsoft.Compute/virtualMachines/myVM1",
                    "chartType": 0,
                    "metrics": [
                      {
                        "name": "Network In Total",
                        "resourceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/SimpleWinVMResourceGroup/providers/Microsoft.Compute/virtualMachines/myVM1"
                      },
                      {
                        "name": "Network Out Total",
                        "resourceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/SimpleWinVMResourceGroup/providers/Microsoft.Compute/virtualMachines/myVM1"
                      }
                    ]
                  }
                }
              ],
              "type": "Extension/Microsoft_Azure_Monitoring/PartType/MetricsChartPart",
              "settings": {}
            }
          },
          "7": {
            "position": {
              "x": 9,
              "y": 7,
              "colSpan": 2,
              "rowSpan": 2
            },
            "metadata": {
              "inputs": [
                {
                  "name": "id",
                  "value": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/SimpleWinVMResourceGroup/providers/Microsoft.Compute/virtualMachines/myVM1"
                }
              ],
              "type": "Extension/HubsExtension/PartType/ResourcePart",
              "asset": {
                "idInputName": "id",
                "type": "VirtualMachine"
              }
            }
          }
        }
      }
    },
    "metadata": {
      "model": {
        "timeRange": {
          "value": {
            "relative": {
              "duration": 24,
              "timeUnit": 1
            }
          },
          "type": "MsPortalFx.Composition.Configuration.ValueTypes.TimeRange"
        }
      }
    }
  },
  "name": "Simple VM Dashboard",
  "type": "Microsoft.Portal/dashboards",
  "location": "INSERT LOCATION",
  "tags": {
    "hidden-title": "Simple VM Dashboard"
  },
  "apiVersion": "2015-08-01-preview"
}

Proprietà delle risorse comuni

Scomponendo le sezioni rilevanti del codice JSON, Le proprietà comuni delle risorse vengono visualizzate vicino alla fine dell'esempio precedente. Queste proprietà vengono condivise in tutti i tipi di risorse di Azure. Non sono correlati in modo specifico al contenuto del dashboard.

ID

Rappresenta ID l'ID risorsa di Azure del dashboard, soggetto alle convenzioni di denominazione delle risorse di Azure. Quando il portale crea un dashboard, in genere sceglie un ID sotto forma di GUID, ma è possibile usare qualsiasi nome valido quando si crea un dashboard a livello di codice.

Quando si esporta un dashboard dal portale di Azure, il id campo non è incluso. Se si crea un nuovo dashboard importando un file JSON che include il id campo, il valore verrà ignorato e a ogni nuovo dashboard verrà assegnato un nuovo valore ID.

Nome

Nome della risorsa usato portale di Azure per il dashboard.

Tipo

Tutti i dashboard sono di tipo Microsoft.Portal/dashboards.

Posizione

Diversamente da altre risorse, i dashboard non devono essere un componente di runtime. Per i dashboard, 'location'' indica la posizione geografica primaria in cui è archiviata la rappresentazione JSON del dashboard. Il valore deve essere uno dei codici località che può essere recuperato con l'API apposita nella risorsa delle sottoscrizioni.

Tag

I tag sono una caratteristica comune delle risorse di Azure e permettono di organizzare la risorsa in base a coppie arbitrarie di nome-valore. I dashboard includono un tag speciale denominato hidden-title. Se la proprietà è popolata nel dashboard, tale valore viene usato come nome visualizzato per il dashboard nel portale. Questo tag consente di avere un nome visualizzato ridenominabile per il dashboard

Proprietà

L'oggetto properties contiene due proprietà e lensesmetadata. La lenses proprietà contiene informazioni sui riquadri nel dashboard. La metadata proprietà è riservata alle potenziali funzionalità future.

Lenti

La lenses proprietà contiene il dashboard. L'oggetto lens in questo esempio contiene una singola proprietà denominata "0". Le lenti sono un concetto di raggruppamento che non è attualmente implementato. Per il momento, tutti i dashboard hanno questa singola proprietà "0" sull'oggetto lens.

Parti

L'oggetto sotto "0" contiene due proprietà, order e parts. Attualmente, order è sempre impostato su 0. La parts proprietà contiene un oggetto che definisce le singole parti (dette anche riquadri) nel dashboard.

L'oggetto parts contiene una proprietà per ogni parte, in cui il nome della proprietà è un numero. Il numero non è significativo.

Ogni singolo oggetto parte contiene position e metadata.

Position

La position proprietà contiene le informazioni sulle dimensioni e sulla posizione per la parte espressa come x, y, rowSpane colSpan. I valori sono espressi in termini di unità griglia. Queste unità griglia sono visibili quando il dashboard è nella modalità di personalizzazione mostrata qui.

Screenshot che mostra le unità griglia per un dashboard nel portale di Azure.

Ad esempio, se si vuole che un riquadro abbia una larghezza di due unità griglia, un'altezza di un'unità griglia e una posizione nell'angolo superiore sinistro del dashboard, l'oggetto posizione sarà simile al seguente:

position: { x: 0, y: 0, rowSpan: 2, colSpan: 1 }

Metadati

Ogni parte ha una proprietà di metadati. Un oggetto ha una sola proprietà obbligatoria: type. Questa stringa indica al portale quale tipo di riquadro visualizzare. Il dashboard di esempio usa questi tipi di riquadri:

  1. Extension/Microsoft_Azure_Monitoring/PartType/MetricsChartPart: usato per visualizzare le metriche di monitoraggio
  2. Extension[azure]/HubsExtension/PartType/MarkdownPart : consente di visualizzare contenuto markdown personalizzato, ad esempio testo o immagini, con formattazione di base per elenchi, collegamenti e così via.
  3. Extension[azure]/HubsExtension/PartType/VideoPart – Usato per mostrare video da YouTube, Channel 9 e qualsiasi altro tipo di video che funziona in un tag video HTML.

Ogni tipo di parte ha le proprie opzioni per la configurazione. Le possibili proprietà di configurazione sono denominate inputs, settingse asset.

Input

L'oggetto inputs contiene in genere informazioni che associano un riquadro a un'istanza della risorsa.

In ogni MetricsChartPart esempio è presente un singolo input che esprime la risorsa a cui eseguire l'associazione, che rappresenta l'ID risorsa di Azure della macchina virtuale, insieme alle informazioni sui dati visualizzati. Ad esempio, ecco l'oggetto inputs per il riquadro che mostra le metriche Network In Total e Network Out Total .

"inputs":
[
  {
    "name": "queryInputs",
    "value": {
      "timespan": {
        "duration": "PT1H"
      },
      "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/SimpleWinVMResourceGroup/providers/Microsoft.Compute/virtualMachines/myVM1",
      "chartType": 0,
      "metrics": [
        {
          "name": "Network In Total",
          "resourceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/SimpleWinVMResourceGroup/providers/Microsoft.Compute/virtualMachines/myVM1"
        },
        {
          "name": "Network Out Total",
          "resourceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/SimpleWinVMResourceGroup/providers/Microsoft.Compute/virtualMachines/myVM1"
        }
      ]
    }
  }
]

Impostazioni

L'oggetto settings contiene gli elementi configurabili di una parte. Nel dashboard di esempio, la parte Markdown usa le impostazioni per archiviare il contenuto markdown personalizzato, insieme a un titolo e un sottotitolo configurabili.

"settings": {
  "content": {
    "settings": {
      "content": "This is the team dashboard for the test VM we use on our team. Here are some useful links:\r\n\r\n1. [Create a Linux virtual machine](https://docs.microsoft.com/azure/virtual-machines/linux/quick-create-portal)\r\n1. [Create a Windows virtual machine](https://docs.microsoft.com/azure/virtual-machines/windows/quick-create-portal)\r\n1. [Create a virtual machine scale set](https://docs.microsoft.com/azure/virtual-machine-scale-sets/quick-create-portal)",
      "title": "Test VM Dashboard",
      "subtitle": "Contoso"
    }
  }
}

Analogamente, il riquadro del video ha impostazioni proprie che contengono un puntatore al video da riprodurre, un'impostazione di riproduzione automatica e informazioni sul titolo facoltative.


"settings": {
  "content": {
    "settings": {
      "src": "https://www.youtube.com/watch?v=rOiSRkxtTeU",
      "autoplay": false
    }
  }
}

Asset

I riquadri associati a oggetti portale gestibili di prima classe (denominati asset) hanno questa relazione espressa tramite l'oggetto asset . Nel dashboard di esempio il riquadro della macchina virtuale contiene la descrizione di questo asset. La idInputName proprietà indica al portale che l'input ID contiene l'identificatore univoco per l'asset, in questo caso l'ID risorsa. Il portale include asset definiti per la maggior parte dei tipi di risorsa di Azure.

"asset": { "idInputName": "id", "type": "VirtualMachine" }

Passaggi successivi