Die Struktur von Azure-Dashboards
In diesem Dokument wird die Struktur eines Azure-Dashboards beschrieben. Dabei wird das folgende Dashboard als Beispiel verwendet:
Da freigegebene Azure-Dashboards Ressourcen sind, kann dieses Dashboard als JSON-Code dargestellt werden. Sie können die JSON-Darstellung eines Dashboard herunterladen, indem Sie im Azure-Portal Exportieren und dann Herunterladen auswählen.
JSON für Beispieldashboard
Der folgende JSON-Code stellt das Beispieldashboard aus dem vorherigen Abschnitt dar.
{
"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"
}
Allgemeine Ressourceneigenschaften
Wir unterteilen die relevanten Abschnitte der JSON-Darstellung. Die allgemeinen Ressourceneigenschaften werden am Ende des JSON-Beispielcodes angezeigt. Diese Eigenschaften werden für alle Azure-Ressourcentypen freigegeben und beziehen sich nicht speziell auf den Inhalt des Dashboards.
Kennung
Die ID
stellt die Azure-Ressourcen-ID des Dashboards dar und unterliegt den Namenskonventionen für Azure-Ressourcen. Wenn im Portal ein Dashboard erstellt wird, wird in der Regel eine ID in Form einer GUID erstellt, Sie können aber jeden gültigen Namen verwenden, wenn Sie ein Dashboard programmgesteuert erstellen.
Wenn Sie ein Dashboard aus dem Azure-Portal exportieren, ist das id
-Feld nicht enthalten. Wenn Sie ein neues Dashboard erstellen, indem Sie eine JSON-Datei importieren, die das id
-Feld enthält, wird der Wert ignoriert, und jedem neuen Dashboard wird ein neuer ID-Wert zugewiesen.
Name
Der Ressourcenname, den das Azure-Portal für das Dashboard verwendet.
type
Alle Dashboards sind vom Typ Microsoft.Portal/dashboards
.
Location
Im Gegensatz zu anderen Ressourcen verfügen Dashboards über keine Laufzeitkomponente. Für Dashboards gibt location
den primären geografischen Standort an, an dem die JSON-Darstellung des Dashboards gespeichert wird. Der Wert muss einer der Standortcodes sein, die mit der Standort-API für die Abonnementressource abgerufen werden können.
`Tags`
Tags sind eine gebräuchliche Funktion von Azure-Ressourcen, mit denen Sie die Ressource nach beliebigen Name-Wert-Paaren organisieren können. Dashboards verfügen über ein spezielles Tag namens hidden-title
. Wenn diese Eigenschaft bei Ihrem Dashboard ausgefüllt ist, wird der entsprechende Wert als Anzeigename des Dashboards im Portal verwendet. Dieses Tag ermöglicht einen Anzeigenamen für Ihr Dashboard, der umbenannt werden kann
Eigenschaften
Das Objekt properties
enthält zwei Eigenschaften, lenses
und metadata
. Die lenses
-Eigenschaft enthält Informationen zu den Kacheln auf dem Dashboard. Die metadata
-Eigenschaft ist für mögliche künftige Funktionen reserviert.
Fokusbereiche
Die lenses
-Eigenschaft enthält das Dashboard.
Bestandteile
Die Eigenschaft lenses
enthält zwei Eigenschaften, order
und parts
. Derzeit ist order
immer auf 0 festgelegt. Die parts
-Eigenschaft enthält ein Objekt, das die einzelnen Elemente (auch als Kacheln bezeichnet) auf dem Dashboard definiert.
Das parts
-Objekt enthält eine Eigenschaft für jeden Teil. Der Name der Eigenschaft ist dabei eine Zahl. Diese Zahl ist nicht wichtig.
Jedes einzelne Teilobjekt enthält position
und metadata
.
Position
Die position
-Eigenschaft enthält Informationen zur Größe und Position für den Teil ausgedrückt als x
, y
, rowSpan
und colSpan
. Die Werte beziehen sich auf Rastereinheiten. Diese Rastereinheiten sind sichtbar, wenn sich das Dashboard wie hier gezeigt im Bearbeitungsmodus befindet.
Wenn eine Kachel beispielsweise eine Breite von zwei Rastereinheiten und eine Höhe von einer Rastereinheit haben und sich in der oberen linken Ecke im Dashboard befinden soll, sieht das Positionsobjekt wie folgt aus:
position: { x: 0, y: 0, rowSpan: 2, colSpan: 1 }
Metadaten
Jedes Teil verfügt über eine Metadateneigenschaft. Ein Objekt verfügt nur über eine erforderliche Eigenschaft in den Metadaten: type
. Mit dieser Zeichenfolge wird im Portal festgelegt, welcher Kacheltyp angezeigt werden soll. Im Beispieldashboard werden folgende Typen von Kacheln verwendet:
Extension/Microsoft_Azure_Monitoring/PartType/MetricsChartPart
: Wird zum Anzeigen von Überwachungsmetriken verwendetExtension[azure]/HubsExtension/PartType/MarkdownPart
– Wird zum Anzeigen von benutzerdefiniertem Markdowninhalt wie Text oder Bilder mit einfachen Formatierungen für Listen, Links usw. verwendet.Extension[azure]/HubsExtension/PartType/VideoPart
– Wird zum Anzeigen von Videos von YouTube, Channel 9 und anderen Arten von Videos verwendet, die in einem HTML-Videotag ausgeführt werden können.
Jeder Teiletyp verfügt über seine eigenen Optionen für die Konfiguration. Die möglichen Konfigurationseigenschaften sind inputs
, settings
und asset
.
Eingaben
Das „inputs“-Objekt enthält im Allgemeinen Informationen, anhand derer eine Kachel an eine Ressourceninstanz gebunden wird.
Jedes MetricsChartPart
in unserem Beispiel verfügt über eine einzelne Eingabe, welche die Ressource zum Binden ausdrückt und die Azure-Ressourcen-ID der VM sowie Informationen zu den angezeigten Daten darstellt. Hier sehen Sie beispielsweise das inputs
-Objekt für die Kachel, welche die Metriken Netzwerk eingehend insgesamt und Netzwerk ausgehend insgesamt anzeigt.
"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"
}
]
}
}
]
Einstellungen
Das „settings“-Objekt enthält die konfigurierbaren Elemente eines Teils. Auf dem Beispieldashboard werden in MarkdownPart
Einstellungen zum Speichern des benutzerdefinierten Markdown-Inhalts sowie ein konfigurierbarer Titel und Untertitel verwendet.
"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
}
}
}
In ähnlicher Weise verfügt VideoPart
über spezifische Einstellungen, die einen Zeiger auf das wiederzugebende Video, eine Einstellung für die automatische Wiedergabe und optionale Informationen zum Titel enthalten.
"settings": {
"content": {
"settings": {
"src": "https://www.youtube.com/watch?v=rOiSRkxtTeU",
"autoplay": false
}
}
}
Asset
Für Kacheln, die an verwaltbare Portalobjekte erster Klasse (sogenannte Ressourcen) gebunden sind, wird diese Beziehung über das asset
-Objekt angegeben. Im Beispieldashboard enthält die Kachel für den virtuellen Computer die folgende Beschreibung für „asset“. Die idInputName
-Eigenschaft gibt im Portal an, dass die ID-Eingabe den eindeutigen Bezeichner für das Objekt enthält, in diesem Fall die Ressourcen-ID. Für die meisten Azure-Ressourcentypen sind im Portal Assets definiert.
"asset": {
"idInputName": "id",
"type": "VirtualMachine"
}
Nächste Schritte
- Informieren Sie sich darüber, wie Sie ein Dashboard im Azure-Portal oder programmgesteuert erstellen.
- Erfahren Sie, wie Markdown-Kacheln in Azure-Dashboards zum Anzeigen von benutzerdefinierten Inhalten verwendet werden.