De structuur van Azure-dashboards
In dit document wordt de structuur van een Azure-dashboard beschreven met behulp van het volgende dashboard als voorbeeld:
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
, rowSpan
en 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.
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:
Extension/Microsoft_Azure_Monitoring/PartType/MetricsChartPart
– Wordt gebruikt om metrische bewakingsgegevens weer te gevenExtension[azure]/HubsExtension/PartType/MarkdownPart
– Wordt gebruikt om aangepaste Markdown-inhoud weer te geven, zoals tekst of afbeeldingen, met basisopmaak voor lijsten, koppelingen, enzovoort.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
, settings
en 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
- Meer informatie over het maken van een dashboard in Azure Portal of programmatisch.
- Meer informatie over het gebruik van Markdown-tegels op Azure-dashboards om aangepaste inhoud weer te geven.