De structuur van Azure-dashboards

In dit document wordt de structuur van een Azure-dashboard beschreven, met behulp van het volgende dashboard als voorbeeld:

Schermopname van een voorbeelddashboard in de Azure Portal.

Omdat gedeelde Azure-dashboards resources zijn, kan dit dashboard worden weergegeven als JSON. U kunt de JSON-weergave van een dashboard downloaden door Exporteren en vervolgens Downloaden te selecteren in de Azure Portal.

De volgende JSON vertegenwoordigt het dashboard dat hierboven wordt weergegeven.

{
{
  "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"
}

Algemene resource-eigenschappen

Laten we de relevante secties van de JSON uitsplitsen. De algemene resource-eigenschappen worden aan het einde van het bovenstaande voorbeeld weergegeven. Deze eigenschappen worden gedeeld in alle Azure-resourcetypen. Ze hebben niet specifiek betrekking op de inhoud van het dashboard.

Id

De ID vertegenwoordigt de Azure-resource-id van het dashboard, afhankelijk van de naamconventies van Azure-resources. Wanneer de portal een dashboard maakt, wordt meestal een id in de vorm van een GUID gekozen, maar u kunt elke geldige naam gebruiken wanneer u een dashboard programmatisch maakt.

Wanneer u een dashboard uit de Azure Portal exporteert, wordt het id veld niet opgenomen. Als u een nieuw dashboard maakt door een JSON-bestand te importeren dat het id veld bevat, wordt de waarde genegeerd en wordt een nieuwe id-waarde toegewezen aan elk nieuw dashboard.

Name

De resourcenaam die Azure Portal gebruikt voor het dashboard.

Type

Alle dashboards zijn van het type Microsoft.Portal/dashboards.

Locatie

In tegenstelling tot andere resources hebben dashboards geen runtime-onderdeel. Voor dashboards geeft 'locatie' de primaire geografische locatie aan waar de JSON-weergave van het dashboard wordt opgeslagen. De waarde moet een van de locatiecodes zijn die kunnen worden opgehaald met behulp van de locaties-API op de abonnementsresource.

Tags

Tags zijn een algemene functie van Azure-resources waarmee u uw resource kunt ordenen op willekeurige naamwaardeparen. Dashboards bevatten een speciale tag met de naam hidden-title. Als deze eigenschap is ingevuld op uw dashboard, wordt die waarde gebruikt als de weergavenaam voor uw dashboard in de portal. Met deze tag kunt u een andere naam voor uw dashboard weergeven

Eigenschappen

Het eigenschappenobject bevat twee eigenschappen, lenses en metadata. De lenses eigenschap bevat informatie over de tegels op het dashboard. De metadata accommodatie is gereserveerd voor mogelijke toekomstige functies.

Lenzen

De lenses eigenschap bevat het dashboard. Het lensobject in dit voorbeeld bevat één eigenschap met de naam '0'. Lenzen zijn een groeperingsconcept dat momenteel niet is geïmplementeerd. Op dit moment hebben al uw dashboards deze eigenschap '0' op het lensobject.

Onderdelen

Het object onder de '0' bevat twee eigenschappen, order en parts. order Momenteel is altijd ingesteld op 0. De parts eigenschap bevat een -object waarmee de afzonderlijke onderdelen (ook wel tegels genoemd) op het dashboard worden gedefinieerd.

Het parts object bevat een eigenschap voor elk onderdeel, waarbij de naam van de eigenschap een getal is. Het aantal is niet significant.

Elk afzonderlijk onderdeelobject bevat position en metadata.

Positie

De position eigenschap bevat de grootte en locatiegegevens voor het onderdeel, uitgedrukt als x, y, rowSpanen colSpan. De waarden zijn in termen van rastereenheden. Deze rastereenheden zijn zichtbaar wanneer het dashboard zich in de modus Aanpassen bevindt, zoals hier wordt weergegeven.

Schermopname van de rastereenheden voor een dashboard in de Azure Portal.

Als u bijvoorbeeld wilt dat een tegel een breedte heeft van twee rastereenheden, een hoogte van één rastereenheid en een locatie in de linkerbovenhoek van het dashboard, ziet het positieobject er als volgt uit:

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

Metagegevens

Elk onderdeel heeft een metagegevenseigenschap. Een object heeft slechts één vereiste eigenschap: type. Deze tekenreeks vertelt de portal welk tegeltype moet worden weergegeven. In ons voorbeelddashboard worden de volgende typen tegels gebruikt:

  1. Extension/Microsoft_Azure_Monitoring/PartType/MetricsChartPart – Wordt gebruikt om metrische bewakingsgegevens weer te geven
  2. Extension[azure]/HubsExtension/PartType/MarkdownPart – Wordt gebruikt om aangepaste Markdown-inhoud weer te geven, zoals tekst of afbeeldingen, met basisopmaak voor lijsten, koppelingen, enzovoort.
  3. Extension[azure]/HubsExtension/PartType/VideoPart – Wordt gebruikt om video's van YouTube, Channel 9 en elk ander type video weer te geven dat in een HTML-videotag werkt.

Elk type onderdeel heeft zijn eigen configuratieopties. De mogelijke configuratie-eigenschappen worden , settingsen assetgenoemdinputs.

Invoerwaarden

Het invoerobject bevat over het algemeen informatie die een tegel verbindt met een resource-exemplaar.

Elke MetricsChartPart in ons voorbeeld heeft één invoer die de resource uitdrukt waarmee u verbinding wilt maken, die de Azure-resource-id van de VM vertegenwoordigt, samen met informatie over de gegevens die worden weergegeven. Dit is bijvoorbeeld het inputs object voor de tegel met de metrische gegevens Network In Total en 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"
        }
      ]
    }
  }
]

Instellingen

Het instellingenobject bevat de configureerbare elementen van een onderdeel. In ons voorbeelddashboard gebruikt het Markdown-onderdeel instellingen om de aangepaste Markdown-inhoud op te slaan, samen met een configureerbare titel en subtitel.

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

Op dezelfde manier heeft de videotegel zijn eigen instellingen die een aanwijzer bevatten naar de video die moet worden afgespeeld, een instelling voor automatisch afspelen en optionele titelgegevens.


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

Asset

Tegels die zijn gebonden aan beheerbare portalobjecten van de eerste klasse (assets genoemd) hebben deze relatie tot uitdrukking gebracht via het asset -object. In ons voorbeelddashboard bevat de tegel van de virtuele machine deze assetbeschrijving. De idInputName eigenschap vertelt de portal dat de id-invoer de unieke id voor de asset bevat, in dit geval de resource-id. Voor de meeste Azure-resourcetypen zijn assets gedefinieerd in de portal.

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

Volgende stappen