Поделиться через


Структура панелей мониторинга Azure

В этом документе описывается структура панели мониторинга 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и rowSpancolSpan. Значения указаны в единицах сетки. Эти единицы сетки видны, когда панель мониторинга находится в редактируемом режиме, как показано здесь.

Снимок экрана: единицы сетки для панели мониторинга на портале Azure.

Например, если плитка имеет ширину двух единиц сетки, высоту одной единицы сетки и расположение в левом верхнем углу панели мониторинга, то объект позиции выглядит следующим образом:

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

Метаданные

Каждая часть имеет свойство метаданных. Объект имеет только одно обязательное свойство в метаданных: type Эта строка указывает порталу, какой тип плитки будет отображаться. В нашем примере панели мониторинга используются такие типы плиток:

  1. Extension/Microsoft_Azure_Monitoring/PartType/MetricsChartPart — для показа метрик мониторинга.
  2. Extension[azure]/HubsExtension/PartType/MarkdownPart — Используется для отображения настраиваемого содержимого markdown, например текста или изображений, с базовым форматированием для списков, ссылок и т. д.
  3. Extension[azure]/HubsExtension/PartType/VideoPart — Используется для отображения видео с YouTube, Channel 9 и любого другого типа видео, работающего в HTML-теге видео.

Каждый тип части имеет собственные параметры конфигурации. Возможные свойства конфигурации вызываются inputsи settingsasset.

Входные данные

Объект 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"
}

Следующие шаги