Настройка подсистемы оптимизации Azure
Подсистема оптимизации Azure (AOE) — это набор модулей Runbook служба автоматизации Azure, которые собирают, прием и анализ данных о потреблении и производительности Azure для предоставления рекомендаций по оптимизации затрат. Подсистема предназначена для гибкого и настраиваемого, что позволяет настроить его поведение в соответствии с потребностями вашей организации. В этой статье приводятся инструкции по настройке параметров подсистемы. Она включает настройку пороговых значений, изменение расписаний и расширение области двигателя.
Расширение области обработчика
По умолчанию служба автоматизации Azure управляемому удостоверению назначается роль читателя только по соответствующей подписке. Однако вы можете расширить область своих рекомендаций только путем предоставления той же роли читателя другим подпискам или даже более простой группе управления верхнего уровня.
В контексте рекомендаций по правильному размеру дополненной виртуальной машины вы можете создавать отчеты о виртуальных машинах в нескольких рабочих областях. Если вам нужно включить другие рабочие области, помимо основного AOE используется, в области рекомендаций просто необходимо добавить идентификаторы AzureOptimization_RightSizeAdditionalPerfWorkspaces
рабочих областей в переменную (см. дополнительные сведения о настройке рабочих областей).
Если вы являетесь мультитенантным клиентом, вы можете расширить доступ AOE к клиенту, отличному от того, где он был развернут. Чтобы достичь этого расширения, необходимо убедиться в следующих предварительных требованиях:
- Создайте субъект-службу (регистрация приложения) и секрет в дополнительном клиенте.
- Предоставьте необходимые разрешения субъекту-службе в дополнительном клиенте, а именно читателю в подписках и группах управления Azure и глобальному читателю в идентификаторе Microsoft Entra ID.
- Создайте учетные данные службы автоматизации в учетной записи службы автоматизации AOE. Задайте идентификатор клиента субъекта-службы в качестве имени пользователя и секрета в качестве пароля.
Register-MultitenantAutomationSchedules.ps1
Выполните скрипт (доступен в корневой папке AOE) в контексте подписки, в которой был развернут AOE. Этот скрипт создает новые расписания заданий для каждого из модулей Runbook экспорта и настраивает их для запроса дополнительного клиента. Просто необходимо вызвать скрипт с помощью следующего синтаксиса:
./Register-MultitenantAutomationSchedules.ps1 -AutomationAccountName <AOE automation account> -ResourceGroupName <AOE resource group> -TargetSchedulesSuffix <suffix to append to every new job schedules, e.g., Tenant2> -TargetTenantId <secondary tenant GUID> -TargetTenantCredentialName <name of the Automation credential created in the previous step> [-TargetSchedulesOffsetMinutes <offset in minutes relative to original schedules, defaults to 0>] [-TargetAzureEnvironment <AzureUSGovernment|AzureGermanCloud|AzureCloud>] [-ExcludedRunbooks <An array of runbook names to exclude from the process>] [-IncludedRunbooks <An array of runbook names to include in the process>]
Настройка расписаний
По умолчанию в качестве времени развертывания задается базовое время расписания автоматизации AOE. Вскоре после завершения первоначального развертывания экспорт, прием и рекомендации runbook выполняются в соответствии с расписаниями по умолчанию подсистемы. Например, если вы развертываете AOE в понедельник в 11:00 утра, вы получаете новые рекомендации каждый понедельник в 2:30 вечера. Если это расписание, по какой-то причине, не соответствует вашим потребностям, вы можете сбросить его до времени, которое лучше подходит вам, используя Reset-AutomationSchedules.ps1
скрипт (доступен в корневой папке AOE). Вам просто нужно вызвать следующий сценарий. Следуйте синтаксису и ответьте на входные запросы:
./Reset-AutomationSchedules.ps1 -AutomationAccountName <AOE automation account> -ResourceGroupName <AOE resource group> [-AzureEnvironment <AzureUSGovernment|AzureGermanCloud|AzureCloud>]
Выбранное базовое время должно находиться в формате UTC и должно быть определено в соответствии с днем недели и часами, которые необходимо создать рекомендации. Вы должны вывести 3h30m с момента выбора. Это связано с тем, что базовое время определяет расписания для всех зависимых модулей Runbook автоматизации, которые должны выполняться до создания рекомендаций. Например, предположим, что вы хотите, чтобы рекомендации создавались каждый понедельник в 8h30 утра; базовое время — следующая дата календаря, падающая в понедельник, в 5h00. Формат выбранной даты должен быть YYYY-MM-dd HH:mm:ss, например 2022-01-03 05:00:00
.
Сценарий также запрашивает ввод в группу гибридных рабочих рабочих ролей, в которой должны выполняться модули Runbook (см. следующий подраздел).
Масштабирование модулей Runbook AOE с помощью гибридной рабочей роли
По умолчанию модули Runbook службы автоматизации AOE выполняются в контексте песочницы служба автоматизации Azure. Проблемы с производительностью могут возникнуть из-за ограничений памяти песочницы службы автоматизации. Кроме того, вы можете реализовать частные конечные точки для учетной записи хранения или База данных SQL для обеспечения безопасности AOE. В любом случае необходимо выполнить модули Runbook из гибридной рабочей роли. Это Azure или локальная виртуальная машина с расширением гибридной рабочей роли службы автоматизации. Чтобы изменить контекст выполнения для модулей Runbook AOE, необходимо использовать Reset-AutomationSchedules.ps1
скрипт. Узнайте, как использовать скрипт в предыдущем подразделе. После настройки базового времени выполнения модулей Runbook введите имя группы гибридных рабочих ролей, в которой будут выполняться модули Runbook.
Внимание
- Компьютер гибридной рабочей роли должен иметь необходимые модули PowerShell. Файл
upgrade-manifest.json
содержит список обязательных модулей. - После изменения контекста выполнения runbook на гибридную рабочую роль всегда следует использовать
DoPartialUpgrade
флаг при обновлении AOE или потерять параметры расписания runbook и вернуться к конфигурации песочницы по умолчанию. - Управляемое удостоверение, используемое для проверки подлинности в Azure, идентификаторе Записи Майкрософт и области учетной записи выставления счетов, по-прежнему используется служба автоматизации Azure. Он используется, даже если на компьютере гибридной рабочей роли назначено управляемое удостоверение (см. сведения). Управляемые удостоверения, назначаемые пользователем, поддерживаются в контексте гибридных рабочих ролей, только если:
- Учетная запись службы автоматизации не имеет связанного управляемого удостоверения, то есть только компьютер гибридной рабочей роли может иметь управляемое удостоверение, назначаемое пользователем.
- Все модули Runbook выполняются в контексте гибридной рабочей роли. В этом случае необходимо создать
AzureOptimization_UAMIClientID
переменную службы автоматизации с идентификатором клиента управляемого удостоверения, назначаемого пользователем, в качестве значения. - Значение переменной
AzureOptimization_AuthenticationOption
автоматизации обновляется доUserAssignedManagedIdentity
.
Настройка пороговых значений
Для рекомендаций по затратам помощника конфигурация по умолчанию AOE создает статистические агрегаты метрик виртуальной машины 99-й процентиль 99-й виртуальной машины, но их можно изменить так, чтобы они были менее консервативными. Существуют также настраиваемые пороговые значения метрик, которые используются для вычисления оценки соответствия. Пороговые значения по умолчанию — 30 % для ЦП (5 % для рекомендаций по завершении работы), 50 % памяти (100 % для завершения работы) и 750 Мбит/с для пропускной способности сети (10 Мбит/с для завершения работы). Все настраиваемые конфигурации доступны как переменные служба автоматизации Azure. Сведения в следующей таблице выделяют наиболее релевантные переменные конфигурации. Чтобы получить доступ к ним, перейдите в меню "Общие ресурсы учетной записи службы автоматизации" — меню "Переменные ".
«Переменная» | Description |
---|---|
AzureOptimization_AdvisorFilter |
Если вы не заинтересованы в получении рекомендаций для всех неоплатформенных помощников, можно указать фильтр уровня столбцов (разделенный запятыми список по крайней мере одним из следующих значений). HighAvailability,Security,Performance,OperationalExcellence По умолчанию используется все основные компоненты. |
AzureOptimization_AuthenticationOption |
Метод проверки подлинности по умолчанию для модулей Runbook RunAsAccount службы автоматизации. Но вы можете измениться, ManagedIdentity если вы используете гибридную рабочую роль в виртуальной машине Azure. |
AzureOptimization_ConsumptionOffsetDays |
Модуль Runbook по сбору данных потребления Azure запрашивает каждый день для событий выставления счетов, которые произошли семь дней назад (по умолчанию). Можно изменить более близкое смещение, но помните, что некоторые типы подписок (например, MSDN) не поддерживают более низкое значение. |
AzureOptimization_PerfPercentileCpu |
Процентиль по умолчанию для агрегатов метрик ЦП — 99. По мере снижения процентиля алгоритм оценки правильного размера виртуальной машины корректируется менее консервативно. |
AzureOptimization_PerfPercentileDisk |
Процентиль по умолчанию для метрик операций ввода-вывода и пропускной способности диска составляет 99. По мере снижения процентиля алгоритм оценки правильного размера виртуальной машины корректируется менее консервативно. |
AzureOptimization_PerfPercentileMemory |
Процентиль по умолчанию для агрегатов метрик памяти — 99. По мере снижения процентиля алгоритм оценки правильного размера виртуальной машины корректируется менее консервативно. |
AzureOptimization_PerfPercentileNetwork |
Процентиль по умолчанию для агрегатов сетевых метрик составляет 99. По мере снижения процентиля алгоритм оценки правильного размера виртуальной машины корректируется менее консервативно. |
AzureOptimization_PerfPercentileSqlDtu |
Процентиль по умолчанию, используемый для метрик DTU базы данных SQL. По мере снижения процентили алгоритм База данных SQL правого размера корректируется менее консервативно. |
AzureOptimization_PerfThresholdCpuPercentage |
Пороговое значение ЦП (в % времени процессора). Над ним уменьшается оценка правильного размера виртуальной машины. Под ним активируются рекомендации по затратам для масштабируемого набора виртуальных машин Azure (масштабируемого набора). |
AzureOptimization_PerfThresholdCpuShutdownPercentage |
Пороговое значение ЦП (в % времени процессора). Над ним уменьшается оценка правильного размера виртуальной машины (только рекомендации по завершению работы). |
AzureOptimization_PerfThresholdCpuDegradedMaxPercentage |
Порог ЦП (максимальное значение, наблюдаемое в % времени процессора). Над ним активируются рекомендации по производительности масштабируемого набора справа. |
AzureOptimization_PerfThresholdCpuDegradedAvgPercentage |
Порог ЦП (среднее значение, наблюдаемое в % времени процессора). Над ним активируются рекомендации по производительности масштабируемого набора справа. |
AzureOptimization_PerfThresholdMemoryPercentage |
Порог памяти (в % используемой памяти). Над ним уменьшается оценка правильного размера виртуальной машины. Под ним триггеры рекомендаций по затратам для масштабируемого набора справа. |
AzureOptimization_PerfThresholdMemoryShutdownPercentage |
Порог памяти (в % используемой памяти). Над ним уменьшается оценка правильного размера виртуальной машины (только рекомендации по завершению работы). |
AzureOptimization_PerfThresholdMemoryDegradedPercentage |
Порог памяти (в % используемой памяти). Над ним активируются рекомендации по производительности масштабируемого набора справа. |
AzureOptimization_PerfThresholdNetworkMbps |
Пороговое значение сети (в общей Мбит/с). Над ним уменьшается оценка правильного размера виртуальной машины. |
AzureOptimization_PerfThresholdNetworkShutdownMbps |
Пороговое значение сети (в общей Мбит/с). Над ним уменьшается оценка правильного размера виртуальной машины (только рекомендации по завершению работы). |
AzureOptimization_PerfThresholdDtuPercentage |
Пороговое значение процента использования DTU. Под ним считается недоиспользуемый экземпляр База данных SQL. |
AzureOptimization_RecommendAdvisorPeriodInDays |
Интервал в днях для поиска рекомендаций Помощника в репозитории Log Analytics — значение по умолчанию равно 7, так как рекомендации помощника собираются один раз в неделю. |
AzureOptimization_RecommendationAADMaxCredValidityYears |
Максимальное количество лет для срока действия учетных данных или сертификатов субъекта-службы — любое допустимое значение, указанное выше этого интервала, создает рекомендацию по безопасности. Значение по умолчанию — 2. |
AzureOptimization_RecommendationAADMinCredValidityDays |
Минимальное количество дней для учетных данных или сертификата субъекта-службы до истечения срока действия— любое допустимое значение ниже этого интервала создает рекомендацию по повышению эффективности работы. Значение по умолчанию — 30. |
AzureOptimization_RecommendationLongDeallocatedVmsIntervalDays |
Количество последовательных дней, когда виртуальная машина была освобождена до того, как рекомендуется удалить (виртуальная машина была освобождена долго с дисками по-прежнему влечет за собой затраты). Значение по умолчанию — 30. |
AzureOptimization_RecommendationVNetSubnetMaxUsedPercentageThreshold |
Максимальный процент, допустимый для использования IP-пространства подсети. Значение по умолчанию — 80. |
AzureOptimization_RecommendationVNetSubnetMinUsedPercentageThreshold |
Минимальный процент использования пространства IP-адресов подсети — любое использование ниже этого значения помечает соответствующую подсеть как использование низкого IP-пространства. Значение по умолчанию — 5. |
AzureOptimization_RecommendationVNetSubnetEmptyMinAgeInDays |
Минимальный возраст в днях для пометки пустой подсети, что позволяет избежать перетаскивания только что созданных подсетей. Значение по умолчанию — 30. |
AzureOptimization_RecommendationVNetSubnetUsedPercentageExclusions |
Разделенный запятыми одинарный список имен подсетей, которые должны быть исключены из рекомендаций по проценту использования подсети, например ,'gatewaysubnet' 'azurebastionsubnet' . По умолчанию — 'gatewaysubnet' . |
AzureOptimization_RecommendationRBACAssignmentsPercentageThreshold |
Максимальный процент назначений RBAC ограничивает использование. Значение по умолчанию — 80. |
AzureOptimization_RecommendationResourceGroupsPerSubPercentageThreshold |
Максимальный процент количества групп ресурсов для каждого ограничения использования подписки. Значение по умолчанию — 80. |
AzureOptimization_RecommendationRBACSubscriptionsAssignmentsLimit |
Максимальное ограничение для назначений RBAC для каждой подписки. В настоящее время установлено значение 2000 (как описано). |
AzureOptimization_RecommendationRBACMgmtGroupsAssignmentsLimit |
Максимальное ограничение для назначений RBAC для каждой группы управления. В настоящее время установлено значение 500 (как описано). |
AzureOptimization_RecommendationResourceGroupsPerSubLimit |
Максимальное ограничение для количества групп ресурсов для каждой подписки. В настоящее время установлено значение 980 (как описано). |
AzureOptimization_RecommendationStorageAcountGrowthThresholdPercentage |
Минимальный процент роста учетной записи хранения, необходимый для флага хранилища как не имеющего политики хранения. |
AzureOptimization_RecommendationStorageAcountGrowthMonthlyCostThreshold |
Минимальная ежемесячная стоимость (в валюте EA/MCA), необходимая для флага хранилища как не имеющего политики хранения. |
AzureOptimization_RecommendationStorageAcountGrowthLookbackDays |
Период обратного просмотра (в днях) для анализа роста учетной записи хранения. |
AzureOptimization_ReferenceRegion |
Регион Azure, используемый в качестве ссылки для получения списка доступных номеров SKU (по умолчанию westeurope ). |
AzureOptimization_RemediateRightSizeMinFitScore |
Минимальная оценка соответствия рекомендации по правильному размеру виртуальной машины должна быть необходима для исправления. |
AzureOptimization_RemediateRightSizeMinWeeksInARow |
Минимальное количество недель в строке рекомендации по правильному размеру виртуальной машины должно быть завершено для исправления. |
AzureOptimization_RemediateRightSizeTagsFilter |
Имя и значение тега сопряжены с рекомендацией по правильному размеру виртуальной машины, необходимо выполнить исправление. Пример: [ { "tagName": "a", "tagValue": "b" }, { "tagName": "c", "tagValue": "d" } ] |
AzureOptimization_RemediateLongDeallocatedVMsMinFitScore |
Минимальная оценка соответствия длительной рекомендации виртуальной машины должна иметь значение для исправления. |
AzureOptimization_RemediateLongDeallocatedVMsMinWeeksInARow |
Минимальное количество недель в строке длинной рекомендации по виртуальной машине должно быть завершено, чтобы произошло исправление. |
AzureOptimization_RemediateLongDeallocatedVMsTagsFilter |
Имя тега и значение пары длинной рекомендации виртуальной машины должны иметь для исправления. Пример: [ { "tagName": "a", "tagValue": "b" }, { "tagName": "c", "tagValue": "d" } ] |
AzureOptimization_RemediateUnattachedDisksMinFitScore |
Минимальная оценка соответствия неуправляемого диска должна иметь рекомендацию по исправлению. |
AzureOptimization_RemediateUnattachedDisksMinWeeksInARow |
Минимальное количество недель в строке рекомендации по неподключаемом диску должно быть завершено, чтобы произошло исправление. |
AzureOptimization_RemediateUnattachedDisksAction |
Действие, применяемое к исправлению неподключенных дисков (Delete или Downsize ). |
AzureOptimization_RemediateUnattachedDisksTagsFilter |
Имя тега и значение пары неподключенных дисковых рекомендаций должны быть связаны с исправлением. Пример: [ { "tagName": "a", "tagValue": "b" }, { "tagName": "c", "tagValue": "d" } ] |
AzureOptimization_RightSizeAdditionalPerfWorkspaces |
Разделенный запятыми список других идентификаторов рабочих областей Log Analytics, где следует искать метрики виртуальных машин (см. раздел "Настройка рабочих областей"). |
AzureOptimization_PerfThresholdDiskIOPSPercentage |
Пороговое значение процента использования операций ввода-вывода в секунду на диск. Под ним активируются неиспользуемые диски SSD уровня "Премиум". |
AzureOptimization_PerfThresholdDiskMBsPercentage |
Пороговое значение процента использования пропускной способности диска. Под ним активируются неиспользуемые диски SSD уровня "Премиум". |
AzureOptimization_RecommendationsMaxAgeInDays |
Максимальный возраст (в днях) для хранения рекомендации в базе данных SQL. Значение по умолчанию: 365. |
AzureOptimization_RetailPricesCurrencyCode |
Код валюты (например, EUR, USD и т. д.), используемый для сбора розничных цен на резервирования. |
AzureOptimization_PriceSheetMeterCategories |
Категории счетчиков, разделенные запятыми, используемые для фильтрации ценовых листов, чтобы избежать приема ненужных данных. По умолчанию — "Virtual Machines,Storage" . |
AzureOptimization_ConsumptionScope |
Область экспорта потребления: Subscription (только по умолчанию), BillingProfile (только MCA) или BillingAccount (для MCA) требует добавления роли читателя учетной записи выставления счетов в управляемое удостоверение AOE. См. дополнительные сведения. |
Связанный контент
Связанные продукты:
Связанные решения: