Структура панелей мониторинга Azure
В этом документе описывается структура панели мониторинга Azure. В качестве примера используется следующая панель мониторинга Azure:
Так как панели мониторинга Azure являются ресурсами, панель мониторинга можно представить в виде кода JSON. Представление JSON панели мониторинга можно скачать, выбрав "Экспорт" и "Скачать" в портал Azure.
Пример JSON панели мониторинга
Следующий код JSON представляет пример панели мониторинга, показанной в предыдущем разделе.
{
"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"
}
Общие свойства ресурса
Давайте разобьем соответствующие разделы JSON. Общие свойства ресурсов отображаются в конце примера JSON. Эти свойства используются во всех типах ресурсов Azure, и они не относятся специально к содержимому панели мониторинга.
ID
Представляет ID
идентификатор ресурса Azure панели мониторинга при условии соглашений об именовании ресурсов Azure. При создании панели мониторинга портал обычно выбирает идентификатор в виде guid, но при создании панели мониторинга можно использовать любое допустимое имя.
При экспорте панели мониторинга из портал Azure id
поле не включается. При создании новой панели мониторинга путем импорта JSON-файла, включающего id
поле, значение будет игнорироваться, а новое значение идентификатора будет назначено каждой новой панели мониторинга.
Имя.
Имя ресурса, которое портал Azure используется для панели мониторинга.
Тип
Все панели мониторинга имеют тип Microsoft.Portal/dashboards
.
Расположение
В отличие от других ресурсов, панели мониторинга не имеют компонента времени выполнения. Для панелей мониторинга location
указывает основное географическое расположение, в которое хранится представление JSON панели мониторинга. Значение должно быть одним из кодов расположения, который можно извлечь с помощью API расположений в ресурсе подписок.
Теги
Теги — это основная возможность ресурсов Azure, которая позволяет организовать ресурс с помощью произвольных пар "имя — значение". Панели мониторинга включают один специальный тег hidden-title
. Если это свойство заполнено для панели мониторинга, оно используется в качестве отображаемого имени панели мониторинга на портале. Этот тег позволяет использовать переименованное отображаемое имя для панели мониторинга.
Свойства
Объект properties
содержит два свойства и lenses
metadata
. Свойство lenses
содержит сведения о плитках на панели мониторинга. Свойство metadata
зарезервировано для потенциальных будущих функций.
Группы связанных элементов
Свойство lenses
содержит панель мониторинга.
Детали
Свойство lenses
содержит два свойства и order
parts
. В настоящее время order
всегда задано значение 0. Свойство parts
содержит объект, определяющий отдельные части (также называемые плитками) на панели мониторинга.
Объект parts
содержит свойство для каждой части, где имя свойства — число. Это число не имеет значения.
Каждый отдельный объект части содержит position
и metadata
.
Position
Свойство position
содержит сведения о размере и расположении для части, выраженной как x
, y
и rowSpan
colSpan
. Значения указаны в единицах сетки. Эти единицы сетки видны, когда панель мониторинга находится в редактируемом режиме, как показано здесь.
Например, если плитка имеет ширину двух единиц сетки, высоту одной единицы сетки и расположение в левом верхнем углу панели мониторинга, то объект позиции выглядит следующим образом:
position: { x: 0, y: 0, rowSpan: 2, colSpan: 1 }
Метаданные
Каждая часть имеет свойство метаданных. Объект имеет только одно обязательное свойство в метаданных: type
Эта строка указывает порталу, какой тип плитки будет отображаться. В нашем примере панели мониторинга используются такие типы плиток:
Extension/Microsoft_Azure_Monitoring/PartType/MetricsChartPart
— для показа метрик мониторинга.Extension[azure]/HubsExtension/PartType/MarkdownPart
— Используется для отображения настраиваемого содержимого markdown, например текста или изображений, с базовым форматированием для списков, ссылок и т. д.Extension[azure]/HubsExtension/PartType/VideoPart
— Используется для отображения видео с YouTube, Channel 9 и любого другого типа видео, работающего в HTML-теге видео.
Каждый тип части имеет собственные параметры конфигурации. Возможные свойства конфигурации вызываются inputs
и settings
asset
.
Входные данные
Объект inputs обычно содержит сведения, которые привязывают плитку к экземпляру ресурса.
Каждый MetricsChartPart
в нашем примере имеет один входной код, который выражает ресурс для привязки, представляющего идентификатор ресурса Azure виртуальной машины, а также сведения о отображаемых данных. Например, вот inputs
объект для плитки, в которую отображаются метрики "Общее число сети" и "Общее количество сети".
"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"
}
]
}
}
]
Настройки
Объект settings содержит настраиваемые элементы части. В нашем примере панели мониторинга MarkdownPart
используются параметры для хранения пользовательского содержимого markdown, а также настраиваемого заголовка и субтитра.
"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
}
}
}
Аналогичным образом, VideoPart
у него есть собственные параметры, содержащие указатель на видео для воспроизведения, параметр автозапуска и необязательные сведения о заголовке.
"settings": {
"content": {
"settings": {
"src": "https://www.youtube.com/watch?v=rOiSRkxtTeU",
"autoplay": false
}
}
}
Актив
Плитки, привязанные к объектам портала с управляемым классом (называемые ресурсами), имеют эту связь, выраженную через asset
объект. В нашем примере панели мониторинга плитка виртуальной машины содержит такое описание ресурса. Свойство idInputName
сообщает порталу, что входные данные идентификатора содержат уникальный идентификатор ресурса в данном случае. Для большинства типов ресурсов Azure ресурсы определены на портале.
"asset": {
"idInputName": "id",
"type": "VirtualMachine"
}
Следующие шаги
- Узнайте, как создать панель мониторинга на портале Azure или программным способом.
- Узнайте, как использовать плитки Markdown на панелях мониторинга Azure для отображения пользовательского содержимого.