Устранение неполадок автомасштабирования Azure Monitor
Благодаря автомасштабированию удается получить именно тот объем выполняемых ресурсов, который нужен для обработки нагрузки в приложении. Эта функция дает возможность добавлять ресурсы для обработки дополнительной нагрузки и удалять неиспользуемые ресурсы для экономии средств. Можно масштабировать на основе расписания, фиксированного даты или выбранной метрики ресурсов. Дополнительные сведения см. в разделе Как использовать автомасштабирование и масштабируемые наборы виртуальных машин.
Служба автомасштабирования предоставляет метрики и журналы, помогающие понять, какие действия масштабирования произошли, и оценить условия, которые привели к этим действиям. Вы можете найти ответы на такие вопросы:
- Почему служба масштабируется или масштабируется?
- Почему служба не масштабируется?
- Почему не удалось выполнить автоматическое масштабирование?
- Почему автомасштабирование требует времени для выполнения?
Flex Масштабируемые наборы виртуальных машин
Операции масштабирования автомасштабирования задерживаются до нескольких часов после применения действия масштабирования вручную к ресурсу Flex.Compute/virtualMachineScaleSets (VMSS) для определенного набора операций виртуальной машины.
Например, azure VM CLI Delete или Azure VM Rest API Delete , где выполняется операция на отдельной виртуальной машине.
В таких случаях служба автомасштабирования не знает об отдельных операциях виртуальной машины.
Чтобы избежать этого сценария, используйте ту же операцию, но на уровне масштабируемого набора виртуальных машин. Например, экземпляр azure VMSS CLI Delete или экземпляр Rest API Rest API Azure VMSS. Автомасштабирование обнаруживает изменение количества экземпляров в масштабируемом наборе виртуальных машин и выполняет соответствующие действия масштабирования.
Метрики автомасштабирования
Автомасштабирование предоставляет четыре метрики для понимания своей операции:
- Наблюдаемое значение метрик: значение метрики, в которую вы решили выполнить действие масштабирования, как показано или вычисляется подсистемой автомасштабирования. Так как один параметр автомасштабирования может иметь несколько правил и, следовательно, несколько источников метрик, можно фильтровать с помощью источника метрик в качестве измерения.
- Пороговое значение метрик: пороговое значение, заданное для выполнения действия масштабирования. Так как один параметр автомасштабирования может иметь несколько правил и, следовательно, несколько источников метрик, можно фильтровать с помощью "правила метрики" в качестве измерения.
- Наблюдаемая емкость: активное число экземпляров целевого ресурса, как показано подсистемой автомасштабирования.
- Действия, инициированные масштабированием: количество действий масштабирования и масштабирования, инициированных подсистемой автомасштабирования. Можно отфильтровать по горизонтальному масштабированию и масштабируемым действиям.
Обозреватель метрик можно использовать для диаграммы предыдущих метрик в одном месте. На диаграмме должно отображаться следующее:
- Фактическая метрика.
- Метрика, вычисляемая подсистемой автомасштабирования.
- Пороговое значение для действия масштабирования.
- Изменение емкости.
Пример 1. Анализ правила автомасштабирования
Параметр автомасштабирования для масштабируемого набора виртуальных машин:
- Масштабируется, если средний процент ЦП набора превышает 70 % в течение 10 минут.
- Масштабируется, если процент ЦП набора меньше 5 % в течение более 10 минут.
Давайте рассмотрим метрики из службы автомасштабирования.
На следующей диаграмме показана метрика процента ЦП для масштабируемого набора виртуальных машин.
На следующей диаграмме показана метрика "Наблюдаемое значение метрик" для параметра автомасштабирования.
На заключительной диаграмме показаны пороговые значения метрик и метрики наблюдаемой емкости. Метрика порогового значения метрик в верхней части правила горизонтального масштабирования составляет 70. Метрика наблюдаемой емкости в нижней части показывает количество активных экземпляров, которое в настоящее время составляет 3.
Примечание.
Пороговое значение метрики можно отфильтровать по правилу измерения триггера метрики, чтобы просмотреть пороговое значение горизонтального масштабирования и по правилу масштабирования (уменьшение).
Пример 2. Расширенное автоматическое масштабирование для масштабируемого набора виртуальных машин
Параметр автомасштабирования позволяет ресурсу масштабируемого набора виртуальных машин масштабироваться на основе собственной метрики исходящих потоков . Выбран параметр "Разделить метрика по количеству экземпляров" для порогового значения метрик.
Правило действия масштабирования — если значение исходящего потока для каждого экземпляра больше 10, служба автомасштабирования должна масштабироваться на 1 экземпляр.
В этом случае наблюдаемое значение метрик подсистемы автомасштабирования вычисляется как фактическое значение метрики, разделенное на количество экземпляров. Если наблюдаемое значение метрики меньше порогового значения, действие по горизонтальному увеличению масштаба не инициируется.
На следующих снимках экрана показаны две диаграммы метрик.
На диаграмме "Исходящие потоки " отображается значение метрики исходящих потоков . Фактическое значение равно 6.
На следующей диаграмме показаны несколько значений:
- Метрика "Наблюдаемое значение метрик" в середине составляет 3, так как есть 2 активных экземпляра, а 6 разделены на 2 равно 3.
- Метрика наблюдаемой емкости в нижней части показывает количество экземпляров, наблюдаемое подсистемой автомасштабирования.
- Метрика порогового значения метрик в верхней части имеет значение 10.
Если существует несколько правил действия масштабирования, можно использовать разделение или параметр добавления фильтра в диаграмме обозревателя метрик для просмотра метрик по определенному источнику или правилу. Дополнительные сведения о разбиение диаграммы метрик см. в разделе "Дополнительные функции диаграмм метрик" — разделение.
Пример 3. Общие сведения о событиях автомасштабирования
На экране настройки автомасштабирования перейдите на вкладку Журнал выполнения, чтобы просмотреть последние действия по масштабированию. На вкладке также показано изменение Наблюдаемой емкости с течением времени. Дополнительные сведения обо всех действиях автомасштабирования, включая операции обновления и удаления параметров автомасштабирования, просмотрите журнал действий и фильтруйте по операциям автомасштабирования.
Журналы ресурсов автомасштабирования
Служба автомасштабирования предоставляет журналы ресурсов. Существует две категории журналов:
- Оценки автомасштабирования: записи журнала подсистемы автомасштабирования для каждой оценки условий каждый раз при проверке. Запись содержит подробные сведения о наблюдаемых значениях метрик, оцененных правилах, а также привело ли вычисление к действию масштабирования или нет.
- Действия масштабирования: подсистема записывает события масштабирования, инициируемые службой автомасштабирования, и результаты этих действий масштабирования (успешное выполнение, сбой и количество операций масштабирования, как показано службой автомасштабирования).
Как и в любой поддерживаемой службе Azure Monitor, можно использовать параметры диагностики для маршрутизации этих журналов в:
- Рабочая область Log Analytics для подробной аналитики.
- Центры событий Azure, а затем в средства, отличные от Azure.
- Ваша служба хранилища Azure учетная запись для архива.
На предыдущем снимках экрана показана панель параметров диагностики автомасштабирования портал Azure. На вкладке "Журналы диагностики и ресурсов" можно выбрать вкладку "Журналы диагностики и ресурсов" и включить сбор журналов и маршрутизацию. Вы также можете выполнить то же действие с помощью REST API, Azure CLI, PowerShell и шаблонов Azure Resource Manager для параметров диагностики, выбрав тип ресурса в качестве Microsoft.Insights/AutoscaleSettings.
Устранение неполадок с помощью журналов автомасштабирования
Для оптимального устранения неполадок рекомендуется маршрутизация журналов в журналы Azure Monitor (Log Analytics) через рабочую область при создании параметра автомасштабирования. Этот процесс показан на снимке экрана в предыдущем разделе. Вы можете лучше проверить оценки и масштабируемые действия с помощью Log Analytics.
После настройки журналов автомасштабирования, которые будут отправляться в рабочую область Log Analytics, можно выполнить следующие запросы, чтобы проверить журналы.
Чтобы приступить к работе, попробуйте выполнить этот запрос, чтобы просмотреть самые последние журналы оценки автомасштабирования:
AutoscaleEvaluationsLog
| limit 50
Или попробуйте выполнить следующий запрос, чтобы просмотреть самые последние журналы действий масштабирования:
AutoscaleScaleActionsLog
| limit 50
Используйте следующие разделы, чтобы ответить на эти вопросы.
Произошло действие масштабирования, которое вы не ожидали
Сначала выполните запрос для действия масштабирования, чтобы найти интересующее вас действие. Если это последнее действие масштабирования, используйте следующий запрос:
AutoscaleScaleActionsLog
| take 1
CorrelationId
Выберите поле из журнала действий масштабирования. Используется CorrelationId
для поиска правильного журнала оценки. При выполнении следующего запроса отображаются все правила и условия, которые были оценены и привели к такому действию масштабирования.
AutoscaleEvaluationsLog
| where CorrelationId = "<correliationId>"
Какой профиль вызывал выполнение масштабирования?
Произошло масштабируемое действие, но у вас есть перекрывающиеся правила и профили и необходимо отслеживать, какое из них вызвало действие.
CorrelationId
Найдите действие масштабирования, как описано в примере 1. Затем выполните запрос в журналах оценки, чтобы узнать больше о профиле.
AutoscaleEvaluationsLog
| where CorrelationId = "<correliationId_Guid>"
| where ProfileSelected == true
| project ProfileEvaluationTime, Profile, ProfileSelected, EvaluationResult
Кроме того, можно лучше понять всю оценку профиля с помощью следующего запроса:
AutoscaleEvaluationsLog
| where TimeGenerated > ago(2h)
| where OperationName contains == "profileEvaluation"
| project OperationName, Profile, ProfileEvaluationTime, ProfileSelected, EvaluationResult
Действие масштабирования не произошло
Вы ожидали действия масштабирования и не произошло. События или журналы действий масштабирования могут быть отсутствуют.
Проверьте метрики автомасштабирования, если вы используете правило масштабирования на основе метрик. Возможно, значение наблюдаемой метрики или значение наблюдаемой емкости не является ожидаемым, поэтому правило масштабирования не срабатывает. По-прежнему отображаются оценки, но не правило горизонтального увеличения масштаба. Также, возможно, что время ожидания воспрепятствовало выполнению действия масштабирования.
Просмотрите журналы оценки автомасштабирования в течение периода времени, когда ожидается, что действие масштабирования произойдет. Проверьте все выполненные оценки и причины, по которым действие масштабирования не было инициировано.
AutoscaleEvaluationsLog
| where TimeGenerated > ago(2h)
| where OperationName == "MetricEvaluation" or OperationName == "ScaleRuleEvaluation"
| project OperationName, MetricData, ObservedValue, Threshold, EstimateScaleResult
Не удалось выполнить действие масштабирования
Может возникнуть случай, когда служба автомасштабирования приняла действие масштабирования, но система решила не масштабировать или не выполнить действие масштабирования. Используйте этот запрос для поиска неудачных действий масштабирования:
AutoscaleScaleActionsLog
| where ResultType == "Failed"
| project ResultDescription
Создайте правила генерации оповещений, чтобы получать уведомления о действиях или сбоях автомасштабирования. Можно также создать правила генерации оповещений, чтобы получать уведомления о событиях автомасштабирования.
Схема журналов ресурсов автомасштабирования
Дополнительные сведения см. в журналах ресурсов автомасштабирования.
Следующие шаги
Ознакомьтесь со сведениями о рекомендациях по автомасштабированию.