Примечание.
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
В этой статье показано, как программно создавать и публиковать панели мониторинга Azure. Используйте этот процесс для создания развертываемого шаблона на основе любой панели мониторинга.
Обзор
Общие панели мониторинга на портале Azure являются ресурсами, так же как и виртуальные машины или учетные записи хранения. Ресурсы можно управлять программными средствами с помощью REST API Azure, Azure CLI и Azure PowerShell. Каждый из этих API и средств предоставляет способы создания, перечисления, извлечения, изменения и удаления ресурсов.
Какие средства вы используете, чтобы создать панель мониторинга программным способом, вы создаете представление JSON объекта панели мониторинга. Этот объект содержит сведения о плитках на панели мониторинга. Он включает размеры, позиции, ресурсы и настройки.
Наиболее практичный способ создания этого JSON-документа — использовать портал Azure для создания начальной панели мониторинга с нужными вам плитками. После создания панели мониторинга экспортируйте JSON, а затем используйте ее в качестве шаблона. Перед развертыванием шаблона в среде Azure вы можете изменить шаблон.
Извлечь JSON-представление панели мониторинга
Сначала скачайте представление JSON существующей панели мониторинга. На панели мониторинга, с которой вы хотите начать, выберите "Экспорт " и нажмите кнопку "Скачать".
Если вы предпочитаете, можно получить представление и другие сведения о ресурсе панели мониторинга программным способом, например с помощью REST API.
Создание шаблона панели мониторинга
Azure позволяет управлять развертыванием нескольких ресурсов, таких как панели мониторинга. Вы можете создать шаблон развертывания, который выражает набор ресурсов для развертывания, а также связи между ними. В этом случае вы создадите шаблон, изменив скачанный JSON.
Формат JSON каждого развернутого ресурса шаблона такой же, как и при их создании по отдельности при загрузке экспортированной панели мониторинга, за исключением того, что язык шаблона добавляет некоторые концепции, такие как переменные, параметры, основные функции и многое другое. Такой расширенный синтаксис поддерживается только в контексте развертывания шаблона. Дополнительные сведения см. в разделе "Структура и синтаксис шаблонов ARM".
Вы можете сохранить структуру и конфигурацию каждой плитки, а затем параметризовать набор ресурсов Azure, на которые ссылаются плитки, чтобы их можно было повторно использовать и адаптировать для различных ресурсов. Для этого используйте синтаксис параметра шаблона для замены определенных идентификаторов ресурсов параметризованными значениями.
Например, шаблон может содержать жестко закодированный идентификатор ресурса для виртуальной машины, например:
resourceId: "/subscriptions/aaaa0a0a-bb1b-cc2c-dd3d-eeeeee4e4e4e/resourceGroups/contoso/providers/Microsoft.Compute/virtualMachines/myVM1"
Этот идентификатор ресурса можно заменить параметризованной версией, которую можно использовать с другими виртуальными машинами, например:
resourceId: "[resourceId(parameters('virtualMachineResourceGroup'), 'Microsoft.Compute/virtualMachines', parameters('virtualMachineName'))]"
Объявите необходимые метаданные шаблона и параметры в верхней части шаблона JSON, как показано ниже.
{
"$schema": "https://schema.management.azure.com/schemas/2019-04-01/deploymentTemplate.json#",
"contentVersion": "1.0.0.0",
"parameters": {
"virtualMachineName": {
"type": "string"
},
"virtualMachineResourceGroup": {
"type": "string"
},
"dashboardName": {
"type": "string"
}
},
"variables": {},
"resources": [
... rest of template omitted ...
]
}
Развертывание шаблона панели мониторинга
После настройки шаблона разверните его с помощью любого из следующих методов.
Развертывание шаблона панели мониторинга на портале Azure
- Перейдите на страницу развертывания шаблона портала Azure.
- Выберите Создать собственный шаблон в редакторе.
- На странице "Изменить шаблон " выберите "Загрузить файл" , чтобы отправить JSON-файл шаблона панели мониторинга.
- После загрузки шаблона нажмите кнопку "Сохранить".
- Укажите сведения о проекте и экземпляре, а затем нажмите кнопку "Проверить и создать".
- Нажмите кнопку "Создать". При успешном развертывании панели мониторинга отображается уведомление.
Развертывание шаблона панели мониторинга с помощью Azure CLI
Выполните команду az portal dashboard create для развертывания шаблона.
az portal dashboard create --resource-group myResourceGroup --name 'Simple VM Dashboard' \ --input-path portal-dashboard-template-testvm.json --location centralusУбедитесь, что панель мониторинга успешно создана, с помощью команды az portal dashboard show.
az portal dashboard show --resource-group myResourceGroup --name 'Simple VM Dashboard'
Чтобы просмотреть все панели мониторинга для текущей подписки, используйте az portal dashboard list.
az portal dashboard list
Панель мониторинга можно обновить с помощью команды az portal dashboard update:
az portal dashboard update --resource-group myResourceGroup --name 'Simple VM Dashboard' \
--input-path portal-dashboard-template-testvm.json --location centralus
Развертывание шаблона панели мониторинга с помощью Azure PowerShell
Используйте командлет New-AzPortalDashboard , который входит в модуль Az.Portal, чтобы развернуть шаблон непосредственно из PowerShell:
$DashboardParams = @{
DashboardPath = $myPortalDashboardTemplatePath
ResourceGroupName = $resourceGroupName
DashboardName = $dashboardName
}
New-AzPortalDashboard @DashboardParams
Убедитесь, что панель мониторинга создана успешно:
Get-AzPortalDashboard -Name $dashboardName -ResourceGroupName $resourceGroupName
Пример панели мониторинга
Рассмотрим следующую панель мониторинга:
В следующих разделах показаны два представления JSON для этой панели мониторинга. Первым является версия, экспортируемая с портала, привязанная к определенному ресурсу виртуальной машины. Второй — это версия шаблона, которая может быть программно привязана к любой виртуальной машине и развернута с помощью Azure Resource Manager.
Пример представления JSON, экспортированного с панели мониторинга
Этот пример шаблона аналогичен тому, что вы видите при экспорте панели мониторинга, которая выглядит как пример в начале этой статьи. Идентификаторы жестко закодированных ресурсов показывают, что эта панель мониторинга указывает на определенную виртуальную машину Azure.
{
"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"
}
Пример шаблона параметризованной панели мониторинга
В этом примере показана версия шаблона предыдущей панели мониторинга. Вы можете программно привязать ее к любой виртуальной машине и развернуть ее с помощью Azure Resource Manager.
Шаблонная версия примера панели мониторинга определяет три параметра, которые называются virtualMachineName, virtualMachineResourceGroupи dashboardName. Эти параметры позволяют использовать один и тот же шаблон панели мониторинга с другой виртуальной машиной Azure при каждом развертывании. Вы можете программно настроить и развернуть его для указания на любую виртуальную машину Azure. Протестируйте эту возможность, скопируйте шаблон ниже и вставьте его на страницу развертывания шаблона на портале Azure.
Этот пример развертывает одну панель мониторинга самостоятельно, но язык шаблона позволяет развертывать несколько ресурсов и объединять одну или несколько панелей мониторинга вместе.
{
"$schema": "https://schema.management.azure.com/schemas/2019-04-01/deploymentTemplate.json#",
"contentVersion": "1.0.0.0",
"parameters": {
"virtualMachineName": {
"type": "string",
"metadata": {
"description": "Name of the existing virtual machine to show in the dashboard"
}
},
"virtualMachineResourceGroup": {
"type": "string",
"metadata": {
"description": "Name of the resource group that contains the virtual machine"
}
},
"dashboardName": {
"type": "string",
"defaultValue": "[guid(parameters('virtualMachineName'), parameters('virtualMachineResourceGroup'))]",
"metadata": {
"Description": "Resource name that Azure portal uses for the dashboard"
}
},
"dashboardDisplayName": {
"type": "string",
"defaultValue": "Simple VM Dashboard",
"metadata": {
"description": "Name of the dashboard to display in Azure portal"
}
},
"location": {
"type": "string",
"defaultValue": "[resourceGroup().location]"
}
},
"resources": [
{
"type": "Microsoft.Portal/dashboards",
"apiVersion": "2020-09-01-preview",
"name": "[parameters('dashboardName')]",
"location": "[parameters('location')]",
"tags": {
"hidden-title": "[parameters('dashboardDisplayName')]"
},
"properties": {
"lenses": [
{
"order": 0,
"parts": [
{
"position": {
"x": 0,
"y": 0,
"rowSpan": 2,
"colSpan": 3
},
"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."
}
}
}
}
},
{
"position": {
"x": 3,
"y": 0,
"rowSpan": 4,
"colSpan": 8
},
"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"
}
}
}
}
},
{
"position": {
"x": 0,
"y": 2,
"rowSpan": 2,
"colSpan": 3
},
"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,
"rowSpan": 3,
"colSpan": 11
},
"metadata": {
"inputs": [
{
"name": "queryInputs",
"value": {
"timespan": {
"duration": "PT1H"
},
"id": "[resourceId(parameters('virtualMachineResourceGroup'), 'Microsoft.Compute/virtualMachines', parameters('virtualMachineName'))]",
"chartType": 0,
"metrics": [
{
"name": "Percentage CPU",
"resourceId": "[resourceId(parameters('virtualMachineResourceGroup'), 'Microsoft.Compute/virtualMachines', parameters('virtualMachineName'))]"
}
]
}
}
],
"type": "Extension/Microsoft_Azure_Monitoring/PartType/MetricsChartPart"
}
},
{
"position": {
"x": 0,
"y": 7,
"rowSpan": 2,
"colSpan": 3
},
"metadata": {
"inputs": [
{
"name": "queryInputs",
"value": {
"timespan": {
"duration": "PT1H"
},
"id": "[resourceId(parameters('virtualMachineResourceGroup'), 'Microsoft.Compute/virtualMachines', parameters('virtualMachineName'))]",
"chartType": 0,
"metrics": [
{
"name": "Disk Read Operations/Sec",
"resourceId": "[resourceId(parameters('virtualMachineResourceGroup'), 'Microsoft.Compute/virtualMachines', parameters('virtualMachineName'))]"
},
{
"name": "Disk Write Operations/Sec",
"resourceId": "[resourceId(parameters('virtualMachineResourceGroup'), 'Microsoft.Compute/virtualMachines', parameters('virtualMachineName'))]"
}
]
}
}
],
"type": "Extension/Microsoft_Azure_Monitoring/PartType/MetricsChartPart"
}
},
{
"position": {
"x": 3,
"y": 7,
"rowSpan": 2,
"colSpan": 3
},
"metadata": {
"inputs": [
{
"name": "queryInputs",
"value": {
"timespan": {
"duration": "PT1H"
},
"id": "[resourceId(parameters('virtualMachineResourceGroup'), 'Microsoft.Compute/virtualMachines', parameters('virtualMachineName'))]",
"chartType": 0,
"metrics": [
{
"name": "Disk Read Bytes",
"resourceId": "[resourceId(parameters('virtualMachineResourceGroup'), 'Microsoft.Compute/virtualMachines', parameters('virtualMachineName'))]"
},
{
"name": "Disk Write Bytes",
"resourceId": "[resourceId(parameters('virtualMachineResourceGroup'), 'Microsoft.Compute/virtualMachines', parameters('virtualMachineName'))]"
}
]
}
}
],
"type": "Extension/Microsoft_Azure_Monitoring/PartType/MetricsChartPart"
}
},
{
"position": {
"x": 6,
"y": 7,
"rowSpan": 2,
"colSpan": 3
},
"metadata": {
"inputs": [
{
"name": "queryInputs",
"value": {
"timespan": {
"duration": "PT1H"
},
"id": "[resourceId(parameters('virtualMachineResourceGroup'), 'Microsoft.Compute/virtualMachines', parameters('virtualMachineName'))]",
"chartType": 0,
"metrics": [
{
"name": "Network In Total",
"resourceId": "[resourceId(parameters('virtualMachineResourceGroup'), 'Microsoft.Compute/virtualMachines', parameters('virtualMachineName'))]"
},
{
"name": "Network Out Total",
"resourceId": "[resourceId(parameters('virtualMachineResourceGroup'), 'Microsoft.Compute/virtualMachines', parameters('virtualMachineName'))]"
}
]
}
}
],
"type": "Extension/Microsoft_Azure_Monitoring/PartType/MetricsChartPart"
}
},
{
"position": {
"x": 9,
"y": 7,
"rowSpan": 2,
"colSpan": 2
},
"metadata": {
"inputs": [
{
"name": "id",
"value": "[resourceId(parameters('virtualMachineResourceGroup'), 'Microsoft.Compute/virtualMachines', parameters('virtualMachineName'))]"
}
],
"type": "Extension/Microsoft_Azure_Compute/PartType/VirtualMachinePart",
"asset": {
"idInputName": "id",
"type": "VirtualMachine"
}
}
}
]
}
]
}
}
]
}
Следующие шаги
- Дополнительные сведения о структуре панелей мониторинга Azure.
- Узнайте, как использовать плитки Markdown на панелях мониторинга Azure для отображения пользовательского содержимого.
- Узнайте, как управлять доступом для общих панелей мониторинга.