Рекомендации по автомасштабированию
Автомасштабирование Azure Monitor применяется только к Azure Масштабируемые наборы виртуальных машин, Azure Облачные службы, функции веб-приложения службы приложение Azure и Azure Управление API.
Основные понятия автомасштабирования
- Ресурс может иметь только один параметр автомасштабирования.
- Параметр автомасштабирования может иметь один или несколько профилей, и каждый профиль может иметь один или несколько правил автомасштабирования.
- Параметр автомасштабирования обеспечивает горизонтальное масштабирование экземпляров, то есть развертывает их, увеличивая количество экземпляров, или свертывает, уменьшая их количество.
- Параметр автомасштабирования определяет максимальное, минимальное и используемое по умолчанию число экземпляров.
- Задание автомасштабирования всегда считывает связанную метрику для масштабирования по ней, проверяя, превышено ли пороговое значение для развертывания или свертывания. Список метрик для автомасштабирования можно просмотреть в статье, посвященной общим метрикам автомасштабирования Azure Monitor.
- Все пороговые значения вычисляются на уровне экземпляров. Примером является "горизонтальное масштабирование по одному экземпляру, когда среднее значение ЦП > 80% при подсчете экземпляров равно 2". Это означает горизонтальное масштабирование, если средний ЦП во всех экземплярах превышает 80 %.
- Все сбои автомасштабирования записываются в журнал действий. Затем можно настроить оповещение журнала действий, чтобы получать уведомления по электронной почте, SMS или веб-перехватчикам при сбое автомасштабирования.
- Аналогичным образом все успешные действия масштабирования размещаются в журнале действий. Затем можно настроить оповещение журнала действий, чтобы в случае успешного автомасштабирования получать уведомления при помощи электронной почты, SMS, или веб-перехватчиков. Также можно настроить уведомления по электронной почте или через веб-перехватчики, чтобы узнавать об успешных действиях масштабирования посредством вкладки уведомлений в настройках автомасштабирования.
Рекомендации по автомасштабированию
Используйте следующие рекомендации для автомасштабирования.
Обязательно используйте разные минимальное и максимальное значения с допустимым интервалом между ними
Если у вас есть параметр, имеющий минимальное значение 2, максимум=2, а текущее число экземпляров равно 2, действие масштабирования не может произойти. Обеспечьте достаточный интервал между минимальным и максимальным количеством экземпляров, включая их предельное количество. Служба автомасштабирования всегда масштабирует экземпляры в этих границах.
Масштабирование вручную сбрасывается по минимальному и максимальному автомасштабированию
Если вы вручную обновляете количество экземпляров и устанавливаете значение, которое превышает или не превышает максимальное, параметр автомасштабирования автоматически масштабирует значение до минимального (если оно было меньше) или до максимального (если оно было больше). Например, вы задаете диапазон от 3 до 6. При наличии одного запущенного экземпляра при следующем запуске параметр автомасштабирования развернет количество экземпляров до трех. Аналогичным образом, если вручную задать масштабирование до восьми экземпляров, при следующем запуске будет выполнено обратное автомасштабирование до шести экземпляров. Масштабирование вручную является временным, если вы также не сбрасываете правила автомасштабирования.
Всегда используйте сочетание правил развертывания и свертывания, которые обеспечивают увеличение и уменьшение количества экземпляров.
Если используется только одна часть сочетания, автомасштабирование выполняет действие только в одном направлении (горизонтальное масштабирование или в), пока не достигнет максимального или минимального количества экземпляров, как определено в профиле. Эта ситуация не является оптимальной. В идеале вы хотите, чтобы ресурс масштабироваться во время высокого уровня использования, чтобы обеспечить доступность. Аналогичным образом, иногда при низком использовании ресурс следует масштабировать таким образом, чтобы вы могли реализовать экономию затрат.
При использовании правила горизонтального и вертикального масштабирования в идеале желательно использовать для управления одну и ту же метрику. В противном случае возможно, что условия масштабирования и горизонтального масштабирования могут выполняться одновременно и приводят к некоторому уровню вспышки. Например, мы не рекомендуем использовать следующее сочетание правил, так как для использования памяти не существует правила масштабирования:
- Если ЦП > 90%, горизонтальное масштабирование на 1
- Если память > 90 %, горизонтальное масштабирование на 1
- Если ЦП < 45 %, масштаб в 1
В этом примере может быть ситуация, когда использование памяти превышает 90 %, но загрузка ЦП составляет менее 45 %. Этот сценарий может привести к вспышке до тех пор, пока выполняются оба условия.
Выберите соответствующий статистический показатель для диагностической метрики
Для диагностика метрик можно выбрать среднее, минимальное, максимальное и итоговое значение в качестве метрики для масштабирования. Наиболее распространенные статистический показатель — Средний.
Рекомендации по пороговым значениям масштабирования для специальных метрик
Для специальных метрик, таких как служба хранилища Azure или Служебная шина Azure метрика длины очереди, пороговое значение — среднее количество сообщений, доступных для текущего количества экземпляров. Тщательно выбирайте пороговое значение этой метрики.
Проиллюстрируем его примером, чтобы лучше понять поведение:
- Увеличьте экземпляры на 1 счетчик, если число >сообщений очереди хранилища = 50
- Уменьшение числа экземпляров на 1 число, когда число <сообщений очереди хранилища = 10
Рассмотрим следующую последовательность:
- Существует два экземпляра очереди хранилища.
- Сообщения продолжают поступать и при просмотре очереди хранилища общее число считывает 50. Вы можете предположить, что служба автомасштабирования должна начать развертывание. Однако обратите внимание, что на экземпляр по-прежнему приходится 50/2 = 25 сообщений. Таким образом, горизонтальное масштабирование не происходит. Чтобы первое действие горизонтального масштабирования выполнялось, общее количество сообщений в очереди хранилища должно быть 100.
- Далее предположим, что общее количество сообщений достигло 100.
- Третий экземпляр очереди хранилища добавляется из-за действия горизонтального масштабирования. Следующее горизонтальное масштабирование не произойдет, пока общее число сообщений в очереди достигнет 150, так как 150/3 = 50.
- Теперь количество сообщений в очереди уменьшится. Первое свертывание для трех экземпляров происходит, когда общее количество сообщений во всех очередях достигает 30, так как 30/3 = 10 сообщений на экземпляр. А это и есть пороговое значение свертывания.
Рекомендации по масштабированию при настройке нескольких правил в профиле
В некоторых случаях может потребоваться задать несколько правил в профиле. Следующие правила автомасштабирования используются подсистемой автомасштабирования при установке нескольких правил:
- Для запуска горизонтального увеличения масштаба подсистеме автомасштабирования достаточно, чтобы выполнялось любое из правил.
- Для масштабирования автомасштабирование требует выполнения всех правил.
Чтобы проиллюстрировать, предположим, что у вас есть четыре правила автомасштабирования:
- Если ЦП < 30%, масштабируется на 1
- Если память < 50 %, масштаб в 1
- Если загрузка ЦП> 75 %, развернуть 1 экземпляр
- Если объем используемой памяти > 75 %, развернуть 1 экземпляр
Затем происходит следующее действие:
- Если ресурсы ЦП загружены на 76 % и занято 50 % памяти, будет выполнено горизонтальное увеличение масштаба.
- Если ресурсы ЦП загружены на 50 % и занято 76 % памяти, будет выполнено горизонтальное увеличение масштаба.
С другой стороны, если ЦП составляет 25 %, а память составляет 51%, автомасштабирование не масштабируется. Для масштабирования ЦП должно составлять 29 % и память 49 %.
Всегда выбирайте безопасное число экземпляров по умолчанию
Число экземпляров по умолчанию важно, так как оно устанавливается подсистемой автомасштабирования, когда метрики недоступны. В результате выберите число экземпляров по умолчанию, безопасное для рабочих нагрузок.
Настройка уведомлений об автомасштабировании
Автомасштабирование записей в журнал действий, если возникают какие-либо из следующих условий:
- Служба автомасштабирования инициирует операцию масштабирования.
- Служба автомасштабирования успешно завершает действие масштабирования.
- службе автомасштабирования не удается выполнить действие масштабирования.
- Службе автомасштабирования не доступны метрики для принятия решения по масштабированию.
- Метрики для принятия решения по масштабированию стали доступны (восстановились).
- Служба автомасштабирования обнаруживает нестабильность и прерывает попытку масштабирования. В этой ситуации
Flapping
отображается тип журнала. Если вы видите этот тип журнала, рассмотрите, слишком ли узкие пороговые значения. - Служба автомасштабирования обнаруживает нестабильность, но все же может успешно выполнить масштабирование. В этой ситуации
FlappingOccurred
отображается тип журнала. Если вы видите этот тип журнала, подсистема автомасштабирования попыталась масштабировать (например, от четырех экземпляров до двух), но определила, что это изменение приведет к сбою. Вместо этого подсистема автомасштабирования масштабируется до другого числа экземпляров (например, с использованием трех экземпляров вместо двух), что больше не приводит к сворачиванию, поэтому оно масштабируется до этого числа экземпляров.
Вы также можете использовать оповещение журнала действий для мониторинга работоспособности подсистемы автомасштабирования. В одном примере показано, как создать оповещение журнала действий для мониторинга всех операций подсистем автомасштабирования в подписке. В другом примере показано, как создать оповещение журнала действий для отслеживания всех неудачных операций масштабирования автомасштабирования или горизонтального масштабирования в вашей подписке.
Помимо использования оповещений журнала действий, можно настроить уведомления по электронной почте или через веб-перехватчики, чтобы узнавать о действиях масштабирования через вкладку уведомлений в настройках автомасштабирования.
Безопасное отправка данных с помощью TLS 1.2
Чтобы обеспечить безопасность передаваемых в Azure Monitor данных, настоятельно рекомендуем настроить для агента использование протокола TLS как минимум версии 1.2. Более старые версии TLS/Secure Sockets Layer (SSL) оказались уязвимыми. Хотя они по-прежнему работают, чтобы обеспечить обратную совместимость, мы не рекомендуем их. Отрасль быстро переходит к отказу от поддержки этих старых протоколов.
Совет по стандартам безопасности PCI установил крайний срок 30 июня 2018 года, чтобы отключить старые версии TLS/SSL и обновить до более безопасных протоколов. После удаления устаревшей поддержки Azure агенты не смогут обмениваться данными по протоколу TLS 1.2, вы не сможете отправлять данные в журналы Azure Monitor.
Рекомендуется явно не задавать агенту только протокол TLS 1.2, если это не необходимо. Лучше всего предоставить агенту возможность автоматического обнаружения, согласования и использования перспективных стандартов безопасности. В противном случае вы можете пропустить добавленную безопасность более новых стандартов и, возможно, возникнуть проблемы, если TLS 1.2 когда-либо устарел в пользу этих новых стандартов.