Delen via


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 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 te selecteren en vervolgens downloaden in Azure Portal.

Voorbeeld van JSON-dashboard

De volgende JSON vertegenwoordigt het voorbeelddashboard dat in de vorige sectie wordt weergegeven.

{
  "properties": {
    "lenses": [
      {
        "order": 0,
        "parts": [
          {
            "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
                  }
                }
              }
            }
          },
          {
            "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
                  }
                }
              }
            }
          },
          {
            "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
                  }
                }
              }
            }
          },
          {
            "position": {
              "x": 0,
              "y": 4,
              "colSpan": 11,
              "rowSpan": 3
            },
            "metadata": {
              "inputs": [
                {
                  "name": "queryInputs",
                  "value": {
                    "timespan": {
                      "duration": "PT1H"
                    },
                    "id": "/subscriptions/aaaa0a0a-bb1b-cc2c-dd3d-eeeeee4e4e4e/resourceGroups/SimpleWinVMResourceGroup/providers/Microsoft.Compute/virtualMachines/myVirtualMachine",
                    "chartType": 0,
                    "metrics": [
                      {
                        "name": "Percentage CPU",
                        "resourceId": "/subscriptions/aaaa0a0a-bb1b-cc2c-dd3d-eeeeee4e4e4e/resourceGroups/SimpleWinVMResourceGroup/providers/Microsoft.Compute/virtualMachines/myVirtualMachine"
                      }
                    ]
                  }
                }
              ],
              "type": "Extension/Microsoft_Azure_Monitoring/PartType/MetricsChartPart"
            }
          },
          {
            "position": {
              "x": 0,
              "y": 7,
              "colSpan": 3,
              "rowSpan": 2
            },
            "metadata": {
              "inputs": [
                {
                  "name": "queryInputs",
                  "value": {
                    "timespan": {
                      "duration": "PT1H"
                    },
                    "id": "/subscriptions/aaaa0a0a-bb1b-cc2c-dd3d-eeeeee4e4e4e/resourceGroups/SimpleWinVMResourceGroup/providers/Microsoft.Compute/virtualMachines/myVirtualMachine",
                    "chartType": 0,
                    "metrics": [
                      {
                        "name": "Disk Read Operations/Sec",
                        "resourceId": "/subscriptions/aaaa0a0a-bb1b-cc2c-dd3d-eeeeee4e4e4e/resourceGroups/SimpleWinVMResourceGroup/providers/Microsoft.Compute/virtualMachines/myVirtualMachine"
                      },
                      {
                        "name": "Disk Write Operations/Sec",
                        "resourceId": "/subscriptions/aaaa0a0a-bb1b-cc2c-dd3d-eeeeee4e4e4e/resourceGroups/SimpleWinVMResourceGroup/providers/Microsoft.Compute/virtualMachines/myVirtualMachine"
                      }
                    ]
                  }
                }
              ],
              "type": "Extension/Microsoft_Azure_Monitoring/PartType/MetricsChartPart"
            }
          },
          {
            "position": {
              "x": 3,
              "y": 7,
              "colSpan": 3,
              "rowSpan": 2
            },
            "metadata": {
              "inputs": [
                {
                  "name": "queryInputs",
                  "value": {
                    "timespan": {
                      "duration": "PT1H"
                    },
                    "id": "/subscriptions/aaaa0a0a-bb1b-cc2c-dd3d-eeeeee4e4e4e/resourceGroups/SimpleWinVMResourceGroup/providers/Microsoft.Compute/virtualMachines/myVirtualMachine",
                    "chartType": 0,
                    "metrics": [
                      {
                        "name": "Disk Read Bytes",
                        "resourceId": "/subscriptions/aaaa0a0a-bb1b-cc2c-dd3d-eeeeee4e4e4e/resourceGroups/SimpleWinVMResourceGroup/providers/Microsoft.Compute/virtualMachines/myVirtualMachine"
                      },
                      {
                        "name": "Disk Write Bytes",
                        "resourceId": "/subscriptions/aaaa0a0a-bb1b-cc2c-dd3d-eeeeee4e4e4e/resourceGroups/SimpleWinVMResourceGroup/providers/Microsoft.Compute/virtualMachines/myVirtualMachine"
                      }
                    ]
                  }
                }
              ],
              "type": "Extension/Microsoft_Azure_Monitoring/PartType/MetricsChartPart"
            }
          },
          {
            "position": {
              "x": 6,
              "y": 7,
              "colSpan": 3,
              "rowSpan": 2
            },
            "metadata": {
              "inputs": [
                {
                  "name": "queryInputs",
                  "value": {
                    "timespan": {
                      "duration": "PT1H"
                    },
                    "id": "/subscriptions/aaaa0a0a-bb1b-cc2c-dd3d-eeeeee4e4e4e/resourceGroups/SimpleWinVMResourceGroup/providers/Microsoft.Compute/virtualMachines/myVirtualMachine",
                    "chartType": 0,
                    "metrics": [
                      {
                        "name": "Network In Total",
                        "resourceId": "/subscriptions/aaaa0a0a-bb1b-cc2c-dd3d-eeeeee4e4e4e/resourceGroups/SimpleWinVMResourceGroup/providers/Microsoft.Compute/virtualMachines/myVirtualMachine"
                      },
                      {
                        "name": "Network Out Total",
                        "resourceId": "/subscriptions/aaaa0a0a-bb1b-cc2c-dd3d-eeeeee4e4e4e/resourceGroups/SimpleWinVMResourceGroup/providers/Microsoft.Compute/virtualMachines/myVirtualMachine"
                      }
                    ]
                  }
                }
              ],
              "type": "Extension/Microsoft_Azure_Monitoring/PartType/MetricsChartPart"
            }
          },
          {
            "position": {
              "x": 9,
              "y": 7,
              "colSpan": 2,
              "rowSpan": 2
            },
            "metadata": {
              "inputs": [
                {
                  "name": "id",
                  "value": "/subscriptions/aaaa0a0a-bb1b-cc2c-dd3d-eeeeee4e4e4e/resourceGroups/SimpleWinVMResourceGroup/providers/Microsoft.Compute/virtualMachines/myVirtualMachine"
                }
              ],
              "type": "Extension/Microsoft_Azure_Compute/PartType/VirtualMachinePart",
              "asset": {
                "idInputName": "id",
                "type": "VirtualMachine"
              }
            }
          }
        ]
      }
    ],
    "metadata": {
      "model": {}
    }
  },
  "name": "Simple VM Dashboard",
  "type": "Microsoft.Portal/dashboards",
  "location": "INSERT LOCATION",
  "tags": {
    "hidden-title": "Simple VM Dashboard"
  },
  "apiVersion": "2022-12-01-preview"
}

Algemene resource-eigenschappen

Laten we de relevante secties van de JSON opsplitsen. De algemene resource-eigenschappen worden aan het einde van de voorbeeld-JSON weergegeven. Deze eigenschappen worden gedeeld in alle Azure-resourcetypen en hebben geen 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 in het algemeen een id gekozen in de vorm van een GUID, maar u kunt elke geldige naam gebruiken wanneer u een dashboard programmatisch maakt.

Wanneer u een dashboard vanuit 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 er een nieuwe id-waarde toegewezen aan elk nieuw dashboard.

Naam

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 location geeft u de primaire geografische locatie aan waarin 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 naam-waardeparen. Dashboards bevatten één speciale tag met de naam hidden-title. Als deze eigenschap in uw dashboard is ingevuld, wordt die waarde gebruikt als weergavenaam voor uw dashboard in de portal. Met deze tag kunt u de naam van een weergavenaam wijzigen voor uw dashboard

Eigenschappen

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

Lenzen

De lenses eigenschap bevat het dashboard.

generator

De lenses eigenschap bevat twee eigenschappen en order parts. order Momenteel is altijd ingesteld op 0. De parts eigenschap bevat een object dat de afzonderlijke onderdelen (ook wel tegels genoemd) op het dashboard definieert.

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

Elk afzonderlijk onderdeelobject bevat position en metadata.

Position

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 bewerkbare modus bevindt, zoals hier wordt weergegeven.

Schermopname van de rastereenheden voor een dashboard in 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 eigenschap voor metagegevens. Een object heeft slechts één vereiste eigenschap binnen metagegevens: type. Met deze tekenreeks wordt aan de portal aangegeven welk tegeltype moet worden weergegeven. In ons voorbeelddashboard worden deze 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 werkt in een HTML-videotag.

Elk type onderdeel heeft zijn eigen opties voor configuratie. De mogelijke configuratie-eigenschappen worden aangeroepen inputs, settingsen asset.

Invoerwaarden

Het invoerobject bevat over het algemeen informatie waarmee een tegel aan een resource-exemplaar wordt gekoppeld.

Elk MetricsChartPart in ons voorbeeld heeft één invoer waarmee de resource wordt weergegeven, waarmee de resource wordt verbonden, die de Azure-resource-id van de VIRTUELE machine vertegenwoordigt, samen met informatie over de weergegeven gegevens. Hier ziet u 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/aaaa0a0a-bb1b-cc2c-dd3d-eeeeee4e4e4e/resourceGroups/SimpleWinVMResourceGroup/providers/Microsoft.Compute/virtualMachines/myVirtualMachine",
      "chartType": 0,
      "metrics": [
        {
          "name": "Network In Total",
          "resourceId": "/subscriptions/aaaa0a0a-bb1b-cc2c-dd3d-eeeeee4e4e4e/resourceGroups/SimpleWinVMResourceGroup/providers/Microsoft.Compute/virtualMachines/myVirtualMachine"
        },
        {
          "name": "Network Out Total",
          "resourceId": "/subscriptions/aaaa0a0a-bb1b-cc2c-dd3d-eeeeee4e4e4e/resourceGroups/SimpleWinVMResourceGroup/providers/Microsoft.Compute/virtualMachines/myVirtualMachine"
        }
      ]
    }
  }
]

Instellingen

Het instellingenobject bevat de configureerbare elementen van een onderdeel. In ons voorbeelddashboard worden instellingen MarkdownPart gebruikt voor het opslaan van de aangepaste Markdown-inhoud, 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",
      "markdownUri": null
    }
  }
}

Op dezelfde manier hebben de VideoPart eigen instellingen die een aanwijzer naar de video bevatten om af te spelen, een instelling voor automatisch afspelen en optionele titelgegevens.


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

Activa

Tegels die zijn gebonden aan de eerste klasse beheerbare portalobjecten (assets genoemd) hebben deze relatie uitgedrukt 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. De meeste Azure-resourcetypen hebben assets gedefinieerd in de portal.

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

Volgende stappen