Мониторинг операций автомасштабирования с помощью Аналитики в Виртуальном рабочем столе Azure

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

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

Примечание.

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

Предварительные условия

Перед мониторингом операций автомасштабирования с помощью Аналитики необходимо:

Настройка параметров диагностики и проверка конфигурации книги Insights

Во-первых, необходимо убедиться, что параметры диагностики настроены для отправки необходимых журналов из пула узлов и рабочей области в рабочую область Log Analytics.

Включение журналов автомасштабирования для пула узлов

Помимо существующих журналов пула узлов, которые вы уже отправляете в рабочую область Log Analytics, необходимо также отправлять журналы автомасштабирования для пула узлов:

  1. Войдите на портал Azure.

  2. В строке поиска введите Виртуальный рабочий стол Azure и выберите соответствующую запись службы.

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

  4. На странице обзора пула узлов выберите Параметры диагностики.

  5. Выберите Добавить параметр диагностики или выберите существующий параметр диагностики для изменения.

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

    • Контрольная точка
    • Ошибка
    • Управление
    • Connection
    • HostRegistration
    • AgentHealthStatus
    • Журналы автомасштабирования для пулов узлов в пуле
  7. В поле Сведения о назначении выберите Отправить в рабочую область Log Analytics.

  8. Выберите Сохранить.

Проверка журналов рабочей области

Убедитесь, что вы уже отправляете необходимые журналы для рабочей области Log Analytics:

  1. На странице Обзор Виртуального рабочего стола Azure выберите Рабочие области, а затем выберите связанную рабочую область для отслеживаемого пула узлов.

  2. На странице обзора рабочей области выберите Параметры диагностики.

  3. Выберите Изменить параметр.

  4. Убедитесь, что включены следующие категории.

    • Контрольная точка
    • Ошибка
    • Управление
    • Лента новостей
  5. Для сведений о назначении убедитесь, что вы отправляете данные в ту же рабочую область Log Analytics, что и пул узлов.

  6. При внесении каких-либо изменений нажмите Сохранить.

Проверка конфигурации книги Аналитики

Необходимо убедиться, что книга Insights настроена правильно для пула узлов:

  1. На странице Обзор Виртуального рабочего стола Azure выберите Пулы узлов, а затем выберите пул узлов в пуле, который вы отслеживаете.

  2. На странице обзора пула узлов выберите Аналитика , если вы используете агент Azure Monitor на узлах сеансов, или Аналитика (устаревшая версия), если вы используете агент Log Analytics на узлах сеансов.

  3. Убедитесь, что нет нерешенных проблем с конфигурацией. Если они есть, вы увидите такие сообщения, как:

    • Azure Monitor не настроен для узлов сеансов.
    • Azure Monitor не настроен для выбранного пула узлов AVD.
    • Узлы сеансов не отправляют данные в ожидаемую рабочую область Log Analytics.

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

    Снимок экрана: обзор аналитики для пула узлов.

Просмотр аналитических сведений об автомасштабировании

После настройки параметров диагностики и проверки конфигурации книги Аналитики можно просмотреть аналитические сведения автомасштабирования:

  1. На странице Обзор Виртуального рабочего стола Azure выберите Пулы узлов, а затем выберите пул узлов в пуле, для которого требуется просмотреть аналитику автомасштабирования.

  2. На странице обзора пула узлов выберите Аналитика , если вы используете агент Azure Monitor на узлах сеансов, или Аналитика (устаревшая версия), если вы используете агент Log Analytics на узлах сеансов.

  3. Выберите Автомасштабирование в строке вкладок. В зависимости от ширины дисплея может потребоваться нажать кнопку с многоточием ... для отображения полного списка с автомасштабированием.

    Снимок экрана: вкладка

  4. Аналитика показывает сведения об операциях автомасштабирования для пула узлов, например график изменения состояния питания узлов сеансов в пуле узлов с течением времени и сводные сведения.

    Снимок экрана: вкладка Автомасштабирование аналитики для пула узлов.

Запросы для автомасштабирования данных в Log Analytics

Дополнительные сведения об операциях автомасштабирования можно использовать для выполнения запросов к данным в Log Analytics. Данные записываются в таблицу WVDAutoscaleEvaluationPooled . В следующих разделах содержится схема и некоторые примеры запросов. Чтобы узнать, как выполнять запросы в Log Analytics, ознакомьтесь с руководством по Log Analytics.

Схема WVDAutoscaleEvaluationPooled

В следующей таблице приведена схема для WVDAutoscaleEvaluationPooled таблицы, которая содержит результаты оценки плана автомасштабирования в пуле узлов. Сведения включают действия автомасштабирования, выполненные на узлах сеансов, такие как запуск или отмена их размещения, а также причины выполнения этих действий. Записи, начинающиеся с Config , содержат значения конфигурации плана масштабирования для этапа расписания автомасштабирования. ResultType Если значение равно Failed, присоединитесь к WVDErrors таблице с помощью CorrelationId , чтобы получить дополнительные сведения.

Имя Тип Описание
ActiveSessionHostCount Целое Количество узлов сеансов, принимающих подключения пользователей.
ActiveSessionHostsPercent Двойное с плавающей точкой Процент узлов сеансов в пуле узлов, которые считаются активными при автомасштабировании.
ConfigCapacityThresholdPercent Двойное с плавающей точкой Процент порогового значения емкости.
ConfigMinActiveSessionHostsPercent Двойное с плавающей точкой Минимальный процент узлов сеансов, которые должны быть активны.
ConfigScheduleName String Имя расписания, используемого при оценке.
ConfigSchedulePhase String Планирование этапа во время оценки.
CorrelationId String Идентификатор GUID, созданный для оценки автомасштабирования.
ExcludedSessionHostCount Целое Количество узлов сеансов, исключенных из управления автомасштабированием.
MaxSessionLimitPerSessionHost Целое Значение MaxSessionLimit, определенное в пуле узлов. Это значение является максимальным числом сеансов пользователей, разрешенным для каждого узла сеансов.
Properties Динамическая группа Дополнительные сведения.
ResultType String Состояние этого события оценки.
ScalingEvaluationStartTime DateTime Метка времени (UTC) при запуске оценки автомасштабирования.
ScalingPlanResourceId String Идентификатор ресурса плана автомасштабирования.
ScalingReasonMessage String Действия, которые решил выполнить автомасштабирование, и почему они были приняты.
SessionCount Целое Количество сеансов пользователей; Включаются только сеансы пользователей с узлов сеансов, которые считаются активными при автомасштабировании.
SessionOccupancyPercent Двойное с плавающей точкой Процент емкости узла сеансов, занятой сеансами пользователя.
TimeGenerated DateTime Это событие было создано с меткой времени (UTC).
TotalSessionHostCount Целое Количество узлов сеансов в пуле узлов.
UnhealthySessionHostCount Целое Количество узлов сеансов в неисправном состоянии.

Выборка данных

Следующий запрос возвращает 10 последних строк данных для автомасштабирования:

WVDAutoscaleEvaluationPooled
| take 10

Неудачные оценки с помощью WVDErrors

Следующий запрос сопоставляет таблицы WVDAutoscaleEvaluationPooled и WVDErrors возвращает записи, где ServiceError столбец в WVDErrors имеет значение false:

Следующий запрос возвращает неудачные оценки автомасштабирования, в том числе частично неудачные. Запрос также присоединяется к для WVDErrors предоставления дополнительных сведений о сбое, где это возможно. Соответствующие записи в содержат WVDErrors только результаты, если ServiceError имеет значение false:

WVDAutoscaleEvaluationPooled
| where ResultType != "Succeeded"
| join kind=leftouter WVDErrors
    on CorrelationId
| order by _ResourceId asc, TimeGenerated asc, CorrelationId, TimeGenerated1 asc

Запуск, освобождение и принудительное отключение операций выхода из системы

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

WVDAutoscaleEvaluationPooled
| where ResultType == "Succeeded"
| extend properties = parse_json(Properties)
| extend BeganStartVmCount = toint(properties.BeganStartVmCount)
| extend BeganDeallocateVmCount = toint(properties.BeganDeallocateVmCount)
| extend BeganForceLogoffOnSessionHostCount = toint(properties.BeganForceLogoffOnSessionHostCount)
| summarize sum(BeganStartVmCount), sum(BeganDeallocateVmCount), sum(BeganForceLogoffOnSessionHostCount) by _ResourceId, bin(TimeGenerated, 1d), ConfigScheduleName, ConfigSchedulePhase
| order by _ResourceId asc, TimeGenerated asc, ConfigScheduleName, ConfigSchedulePhase asc

Максимальное заполнение сеанса и активные узлы сеансов

Следующий запрос возвращает максимальный процент загрузки сеанса, количество сеансов, процент активных узлов сеансов и число узлов активного сеанса на пул узлов, имя расписания, этап расписания и день:

WVDAutoscaleEvaluationPooled
| where ResultType == "Succeeded"
| summarize max(SessionOccupancyPercent), max(SessionCount), max(ActiveSessionHostsPercent), max(ActiveSessionHostCount) by _ResourceId, bin(TimeGenerated, 1d), ConfigScheduleName, ConfigSchedulePhase
| order by _ResourceId asc, TimeGenerated asc, ConfigScheduleName, ConfigSchedulePhase asc

Дополнительные сведения о времени получения данных журнала после сбора см. в статье Время приема данных журнала в Azure Monitor.