Установка и настройка расширения Диагностика Azure для Windows (WAD)

Расширение Диагностика Azure — это агент в Azure Monitor, который собирает данные мониторинга из гостевой операционной системы и рабочих нагрузок виртуальных машин Azure и других вычислительных ресурсов. В этой статье содержатся сведения об установке и настройке расширения Диагностика Azure для Windows и о том, как данные хранятся в учетной записи служба хранилища Azure.

Расширение диагностика реализовано как расширение виртуальной машины в Azure. Он поддерживает те же параметры установки с помощью шаблонов Azure Resource Manager, PowerShell и Azure CLI. Сведения об установке и обслуживании расширений виртуальных машин см. в разделе "Расширения и компоненты виртуальных машин" для Windows.

Обзор

При настройке расширения Диагностика Azure для Windows необходимо указать учетную запись хранения, в которой будут отправляться все указанные данные. При необходимости можно добавить один или несколько приемников данных для отправки данных в разные расположения:

  • Приемник Azure Monitor: отправка данных о производительности гостей в метрики Azure Monitor.
  • Приемник Концентратора событий Azure: отправка данных о производительности гостя и журналы в центры событий для пересылки за пределы Azure. Этот приемник нельзя настроить в портал Azure.

Установка с помощью портала Azure

Расширение диагностика можно установить и настроить на отдельной виртуальной машине в портал Azure. Вы будете работать с интерфейсом, а не работать непосредственно с конфигурацией. При включении расширения диагностики оно будет автоматически использовать конфигурацию по умолчанию с наиболее распространенными счетчиками производительности и событиями. Эту конфигурацию по умолчанию можно изменить в соответствии с конкретными требованиями.

Примечание.

Ниже описаны наиболее распространенные параметры расширения диагностика. Дополнительные сведения обо всех параметрах конфигурации см. в схеме расширения Windows диагностика.

  1. Откройте меню виртуальной машины на портале Azure.

  2. Выберите параметры диагностики в разделе "Мониторинг " меню виртуальной машины.

  3. Выберите включить мониторинг на уровне гостей, если расширение диагностика еще не включено.

    Screenshot that shows enabling monitoring.

  4. Для виртуальной машины будет создана новая учетная запись служба хранилища Azure. Имя будет зависеть от имени группы ресурсов для виртуальной машины. Будет выбран набор счетчиков производительности гостей и журналов по умолчанию.

    Screenshot that shows Diagnostic settings.

  5. На вкладке счетчиков производительности выберите гостевые метрики, которые нужно собрать с этой виртуальной машины. Для более расширенного выбора используйте параметр Другие.

    Screenshot that shows Performance counters.

  6. На вкладке "Журналы" выберите журналы для сбора с виртуальной машины. Журналы можно отправлять в хранилище или в концентраторы событий, но не в Azure Monitor. Используйте агент Log Analytics, чтобы получить журналы гостевой ОС в Azure Monitor.

    Screenshot that shows the Logs tab with different logs selected for a virtual machine.

  7. На вкладке "Аварийные дампы" укажите все процессы для сбора дампов памяти после сбоя. Данные записываются в учетную запись хранения для параметра диагностики. При необходимости можно указать контейнер BLOB-объектов.

    Screenshot that shows the Crash dumps tab.

  8. На вкладке "Приемники" укажите, следует ли отправлять данные в расположения, отличные от хранилища Azure. Если выбрать Azure Monitor, данные о производительности гостевой ОС будут отправляться в метрики Azure Monitor. Невозможно настроить приемник центров событий с помощью портал Azure.

    Screenshot that shows the Sinks tab with the Send diagnostic data to Azure Monitor option enabled.

    Если вы не включили назначаемое системой удостоверение, настроенное для виртуальной машины, при сохранении конфигурации с приемником Azure Monitor может появиться следующее предупреждение. Выберите баннер, чтобы включить удостоверение, назначаемое системой.

    Screenshot that shows the managed identity warning.

  9. На вкладке "Агент" можно изменить учетную запись хранения, задать квоту диска и указать, следует ли собирать журналы диагностической инфраструктуры.

    Screenshot that shows the Agent tab with the option to set the storage account.

  10. Выберите Сохранить, чтобы сохранить конфигурацию.

Примечание.

Конфигурация расширения диагностика может быть отформатирована в формате JSON или XML, но любая конфигурация, выполненная в портал Azure, всегда будет храниться в формате JSON. Если вы используете формат XML для другого метода конфигурации, а затем изменяете конфигурацию с помощью портала Azure, параметры будут заменены на JSON. Кроме того, нет возможности настроить период хранения для этих журналов.

Шаблон Resource Manager

Сведения о развертывании расширения диагностика с помощью шаблонов Azure Resource Manager см. в статье "Использование мониторинга и диагностика с помощью шаблонов Windows VM и Azure Resource Manager".

Развертывание с помощью Azure CLI

Azure CLI можно использовать для развертывания расширения Диагностика Azure на существующей виртуальной машине с помощью az vm extension set, как показано в следующем примере:

az vm extension set \
  --resource-group myResourceGroup \
  --vm-name myVM \
  --name IaaSDiagnostics \
  --publisher Microsoft.Azure.Diagnostics \
  --protected-settings protected-settings.json \
  --settings public-settings.json 

Защищенные параметры определяются в элементе PrivateConfig схемы конфигурации. В следующем минимальном примере файла защищенных параметров определяется учетная запись хранения. Полные сведения о частных параметрах см. в разделе "Пример конфигурации".

{
    "storageAccountName": "mystorageaccount",
    "storageAccountKey": "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx",
    "storageAccountEndPoint": "https://core.windows.net"
}

Общедоступные параметры определяются в элементе Public схемы конфигурации. Следующий минимальный пример общедоступного файла параметров позволяет собирать журналы инфраструктуры диагностики, один счетчик производительности и один журнал событий. Полные сведения о общедоступных параметрах см. в разделе "Пример конфигурации".

{
  "StorageAccount": "mystorageaccount",
  "WadCfg": {
    "DiagnosticMonitorConfiguration": {
      "overallQuotaInMB": 5120,
      "PerformanceCounters": {
        "scheduledTransferPeriod": "PT1M",
        "PerformanceCounterConfiguration": [
          {
            "counterSpecifier": "\\Processor Information(_Total)\\% Processor Time",
            "unit": "Percent",
            "sampleRate": "PT60S"
          }
        ]
      },
      "WindowsEventLog": {
        "scheduledTransferPeriod": "PT1M",
        "DataSource": [
          {
            "name": "Application!*[System[(Level=1 or Level=2 or Level=3)]]"
          }
        ]
      }
    }
  }
}

Развертывание с помощью PowerShell

PowerShell можно использовать для развертывания расширения Диагностика Azure на существующей виртуальной машине с помощью Set-AzVMDiagnosticsExtension, как показано в следующем примере:

Set-AzVMDiagnosticsExtension -ResourceGroupName "myvmresourcegroup" `
  -VMName "myvm" `
  -DiagnosticsConfigurationPath "DiagnosticsConfiguration.json"

Частные параметры определяются в элементе PrivateConfig. Общедоступные параметры определяются в элементе Public схемы конфигурации. Вы также можете указать сведения учетной записи хранения в качестве параметров командлета Set-AzVMDiagnosticsExtension , а не включить их в закрытые параметры.

Следующий минимальный пример файла конфигурации позволяет собирать журналы инфраструктуры диагностики, один счетчик производительности и один журнал событий. Полные сведения о частных и общедоступных параметрах см. в разделе "Пример конфигурации".

{
    "PublicConfig": {
        "WadCfg": {
            "DiagnosticMonitorConfiguration": {
                "overallQuotaInMB": 10000,
                "DiagnosticInfrastructureLogs": {
                    "scheduledTransferLogLevelFilter": "Error"
                },
                "PerformanceCounters": {
                    "scheduledTransferPeriod": "PT1M",
                    "PerformanceCounterConfiguration": [
                        {
                            "counterSpecifier": "\\Processor(_Total)\\% Processor Time",
                            "sampleRate": "PT3M",
                            "unit": "percent"
                        }
                    ]
                },
                "WindowsEventLog": {
                    "scheduledTransferPeriod": "PT1M",
                        "DataSource": [
                        {
                            "name": "Application!*[System[(Level=1 or Level=2 or Level=3)]]"
                        }
                    ]
                }
            }
        },
        "StorageAccount": "mystorageaccount",
        "StorageType": "TableAndBlob"
    },
    "PrivateConfig": {
        "storageAccountName": "mystorageaccount",
        "storageAccountKey": "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx",
        "storageAccountEndPoint": "https://core.windows.net"
    }
}

См. также Включение системы диагностики Azure на виртуальной машине под управлением Windows с помощью PowerShell.

Хранилище данных

В следующей таблице перечислены различные типы данных, собираемых из расширения диагностики, а также сведения о том, хранятся ли они в виде таблицы или большого двоичного объекта. Данные, хранящиеся в таблицах, также могут храниться в больших двоичных объектах в зависимости от параметра StorageType в общедоступной конфигурации.

Data Тип хранилища Description
WADDiagnosticInfrastructureLogsTable Таблицу Сведения об изменениях в мониторе диагностики и конфигурации.
WADDirectoriesTable Таблицу Сведения о каталогах, которые отслеживает монитор диагностики. Эта группа включает журналы IIS, журналы запросов IIS и пользовательские каталоги. Расположение файла журнала BLOB-объекта указано в поле Container, а имя большого двоичного объекта — в поле RelativePath. В поле AbsolutePath указано расположение и имя файла на виртуальной машине Azure.
WadLogsTable Таблицу Журналы, написанные в коде с помощью прослушивателя трассировки.
WADPerformanceCountersTable Таблицу Счетчики производительности.
WADWindowsEventLogsTable Таблицу Журналы событий Windows.
wad-iis-failedreqlogfiles BLOB-объект Содержит сведения журналов неудачно завершенных запросов IIS.
wad-iis-logfiles BLOB-объект Содержит сведения о журналах IIS.
"custom" BLOB-объект Пользовательский контейнер на основе каталогов конфигурации, которые отслеживаются монитором диагностики. Имя этого контейнера BLOB-объектов указывается в элементе WADDirectoriesTable.

Средства для просмотра диагностических данных

После передачи данных в хранилище можно просмотреть несколько средств. Например:

  • Сервер Обозреватель в Visual Studio. Если вы установили средства Azure для Microsoft Visual Studio, можно использовать узел служба хранилища Azure в сервере Обозреватель для просмотра данных больших двоичных объектов и таблиц только для чтения из учетных записей служба хранилища Azure. Вы можете отображать данные из учетной записи локального эмулятора хранения и из учетных записей хранения, созданных для Azure. Дополнительные сведения см. в статье "Просмотр ресурсов хранилища и управление ими с помощью сервера Обозреватель".
  • служба хранилища Microsoft Azure Обозреватель. Это автономное приложение позволяет легко работать с служба хранилища Azure данными в Windows, OSX и Linux.
  • Azure Management Studio: это средство включает Диагностика Azure Manager. Используйте его для просмотра, скачивания и управления данными диагностика, собранными приложениями, работающими в Azure.

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

Сведения о пересылке данных мониторинга в Центры событий Azure см. в разделе "Отправка данных из расширения Диагностика Azure в Центры событий".