Strukturen för Azure-instrumentpaneler

Det här dokumentet går igenom strukturen för en Azure-instrumentpanel med följande instrumentpanel som exempel:

Skärmbild av en exempelinstrumentpanel i Azure Portal.

Eftersom delade Azure-instrumentpaneler är resurser kan den här instrumentpanelen representeras som JSON. Du kan ladda ned JSON-representationen av en instrumentpanel genom att välja Exportera och sedan Ladda ned i Azure Portal.

Följande JSON representerar instrumentpanelen som visas ovan.

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

Vanliga resursegenskaper

Nu ska vi dela upp de relevanta avsnitten i JSON. De vanliga resursegenskaperna visas i slutet av exemplet ovan. Dessa egenskaper delas mellan alla Azure-resurstyper. De relaterar inte specifikt till instrumentpanelens innehåll.

ID

ID Representerar instrumentpanelens Azure-resurs-ID, med förbehåll för namngivningskonventionerna för Azure-resurser. När portalen skapar en instrumentpanel väljer den vanligtvis ett ID i form av ett guid, men du kan använda valfritt giltigt namn när du skapar en instrumentpanel programmatiskt.

När du exporterar en instrumentpanel från Azure Portal inkluderas inte fältetid. Om du skapar en ny instrumentpanel genom att importera en JSON-fil som innehåller id fältet ignoreras värdet och ett nytt ID-värde tilldelas till varje ny instrumentpanel.

Name

Resursnamnet som Azure Portal använder för instrumentpanelen.

Typ

Alla instrumentpaneler är av typen Microsoft.Portal/dashboards.

Location

Till skillnad från andra resurser har instrumentpaneler ingen körningskomponent. För instrumentpaneler anger "plats" den primära geografiska platsen som lagrar instrumentpanelens JSON-representation. Värdet ska vara en av de platskoder som kan hämtas med hjälp av plats-API:et på prenumerationsresursen.

Taggar

Taggar är en vanlig funktion i Azure-resurser som gör att du kan organisera resursen efter godtyckliga namnvärdepar. Instrumentpaneler innehåller en särskild tagg som heter hidden-title. Om den här egenskapen har fyllts i på instrumentpanelen används det värdet som visningsnamn för instrumentpanelen i portalen. Med den här taggen får du ett sätt att byta namn på visningsnamnet för instrumentpanelen

Egenskaper

Egenskapsobjektet innehåller två egenskaper och lensesmetadata. Egenskapen lenses innehåller information om panelerna på instrumentpanelen. Egenskapen metadata är reserverad för potentiella framtida funktioner.

Linser

Egenskapen lenses innehåller instrumentpanelen. Linsobjektet i det här exemplet innehåller en enda egenskap med namnet "0". Linser är ett grupperingskoncept som för närvarande inte implementeras. För tillfället har alla dina instrumentpaneler den här enda egenskapen "0" på linsobjektet.

Delar

Objektet under "0" innehåller två egenskaper och orderparts. order För närvarande är alltid inställt på 0. Egenskapen parts innehåller ett objekt som definierar de enskilda delarna (kallas även paneler) på instrumentpanelen.

Objektet parts innehåller en egenskap för varje del, där namnet på egenskapen är ett tal. Talet är inte signifikant.

Varje enskilt delobjekt innehåller position och metadata.

Position

Egenskapen position innehåller storleks- och platsinformationen för delen uttryckt som x, y, rowSpanoch colSpan. Värdena är i termer av rutnätsenheter. Dessa rutnätsenheter visas när instrumentpanelen är i anpassningsläge enligt nedan.

Skärmbild som visar rutnätsenheterna för en instrumentpanel i Azure Portal.

Om du till exempel vill att en panel ska ha en bredd på två rutnätsenheter, en höjd på en rutnätsenhet och en plats i det övre vänstra hörnet på instrumentpanelen ser positionsobjektet ut så här:

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

Metadata

Varje del har en metadataegenskap. Ett objekt har bara en obligatorisk egenskap: type. Den här strängen talar om för portalen vilken paneltyp som ska visas. Vår exempelinstrumentpanel använder dessa typer av paneler:

  1. Extension/Microsoft_Azure_Monitoring/PartType/MetricsChartPart – Används för att visa övervakningsmått
  2. Extension[azure]/HubsExtension/PartType/MarkdownPart – Används för att visa anpassat markdown-innehåll, till exempel text eller bilder, med grundläggande formatering för listor, länkar osv.
  3. Extension[azure]/HubsExtension/PartType/VideoPart – Används för att visa videor från YouTube, Channel 9 och andra typer av video som fungerar i en HTML-videotagg.

Varje typ av del har sina egna alternativ för konfiguration. De möjliga konfigurationsegenskaperna kallas inputs, settingsoch asset.

Indata

Indataobjektet innehåller vanligtvis information som binder en panel till en resursinstans.

Var MetricsChartPart och en i vårt exempel har en enda indata som uttrycker resursen att binda till, som representerar azure-resurs-ID för den virtuella datorn, tillsammans med information om de data som visas. Här är inputs till exempel objektet för panelen som visar måtten Network In Total (Totalt nätverk ) och Network Out Total (Totalt nätverk) och Network Out Total (Totalt nätverk ).

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

Inställningar

Inställningsobjektet innehåller de konfigurerbara elementen i en del. I vår exempelinstrumentpanel använder Markdown-delen inställningar för att lagra det anpassade markdown-innehållet, tillsammans med en konfigurerbar rubrik och underrubrik.

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

På samma sätt har videopanelen sina egna inställningar som innehåller en pekare till videon som ska spelas upp, en inställning för automatisk uppspelning och valfri rubrikinformation.


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

Tillgång

Paneler som är bundna till förstklassiga hanterbara portalobjekt (kallas tillgångar) har den här relationen uttryckt via asset objektet. I vår exempelinstrumentpanel innehåller panelen för den virtuella datorn den här tillgångsbeskrivningen. Egenskapen idInputName meddelar portalen att ID-indata innehåller den unika identifieraren för tillgången, i det här fallet resurs-ID:t. De flesta Azure-resurstyper har tillgångar som definierats i portalen.

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

Nästa steg