Udostępnij za pośrednictwem


Dostosowywanie aparatu optymalizacji platformy Azure

Aparat optymalizacji platformy Azure (AOE) to zestaw elementów Runbook usługi Azure Automation, które zbierają, pozyskiwają i analizują dane dotyczące zużycia i wydajności platformy Azure w celu udostępnienia zaleceń dotyczących optymalizacji kosztów. Aparat został zaprojektowany tak, aby był elastyczny i dostosowywalny, co pozwala dostosować jego zachowanie w celu lepszego dopasowania do potrzeb organizacji. Ten artykuł zawiera wskazówki dotyczące dostosowywania ustawień aparatu. Obejmuje on dostosowywanie progów, zmienianie harmonogramów i rozszerzanie zakresu aparatu.


Poszerz zakres aparatu

Domyślnie tożsamość zarządzana usługi Azure Automation ma przypisaną rolę Czytelnik tylko w ramach odpowiedniej subskrypcji. Można jednak rozszerzyć zakres swoich rekomendacji, udzielając tej samej roli Czytelnik do innych subskrypcji lub, co jeszcze prostsze, do grupy zarządzania najwyższego poziomu.

W kontekście rekomendacji dotyczących odpowiedniego rozmiaru rozszerzonej maszyny wirtualnej możesz zgłaszać maszyny wirtualne do wielu obszarów roboczych. Jeśli musisz uwzględnić inne obszary robocze — oprócz głównego, którego używa usługa AOE — w zakresie zaleceń wystarczy dodać identyfikatory obszarów roboczych do AzureOptimization_RightSizeAdditionalPerfWorkspaces zmiennej (zobacz więcej szczegółów w temacie Konfigurowanie obszarów roboczych).

Jeśli jesteś klientem wielodostępnym, możesz rozszerzyć zasięg AOE na dzierżawę inną niż ta, w której została wdrożona. Aby osiągnąć to rozszerzenie, należy upewnić się, że spełnione są następujące wymagania wstępne:

  • Utwórz jednostkę usługi (rejestrację aplikacji) i wpis tajny w dzierżawie pomocniczej.
  • Przyznaj wymagane uprawnienia jednostce usługi w dzierżawie pomocniczej, a mianowicie Czytelnik w subskrypcjach/grupach zarządzania platformy Azure i Czytelnik globalny w identyfikatorze Entra firmy Microsoft.
  • Utwórz poświadczenie automatyzacji na koncie usługi Automation WOE. Ustaw identyfikator klienta jednostki usługi jako nazwę użytkownika i wpis tajny jako hasło.
  • Register-MultitenantAutomationSchedules.ps1 Wykonaj skrypt (dostępny w folderze głównym AOE) w kontekście subskrypcji, w której wdrożono usługę AOE. Ten skrypt tworzy nowe harmonogramy zadań dla każdego elementu Runbook eksportu i konfiguruje je do wykonywania zapytań w dzierżawie pomocniczej. Wystarczy wywołać skrypt przy użyciu następującej składni:
./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>]

Dostosowywanie harmonogramów

Domyślnie czas bazowy harmonogramów automatyzacji AOE jest ustawiany jako czas wdrożenia. Wkrótce po zakończeniu początkowego wdrożenia eksporty, pozyskiwanie i rekomendacje elementów Runbook są uruchamiane zgodnie z domyślnymi harmonogramami aparatu. Jeśli na przykład wdrożysz AOE w poniedziałek o godzinie 11:00, otrzymasz nowe zalecenia co poniedziałek o godzinie 23:30. Jeśli ten harmonogram, z jakiegoś powodu, nie pasuje do Twoich potrzeb, możesz zresetować go do czasu, który lepiej ci odpowiada, używając skryptu Reset-AutomationSchedules.ps1 (dostępnego w folderze głównym AOE). Wystarczy wywołać następujący skrypt. Postępuj zgodnie ze składnią i odpowiadaj na żądania wejściowe:

./Reset-AutomationSchedules.ps1 -AutomationAccountName <AOE automation account> -ResourceGroupName <AOE resource group> [-AzureEnvironment <AzureUSGovernment|AzureGermanCloud|AzureCloud>]

Wybrana godzina podstawowa musi znajdować się w formacie UTC i musi być zdefiniowana zgodnie z dniem tygodnia i godziną generowania zaleceń. Musisz wyjmować 3h30m od wybranego czasu. Jest to spowodowane tym, że czas podstawowy definiuje harmonogramy dla wszystkich zależnych elementów Runbook automatyzacji, które muszą być uruchamiane przed wygenerowaniem zaleceń. Załóżmy na przykład, że zalecenia mają być generowane co poniedziałek o godzinie 8:30; godzina podstawowa to kolejna data kalendarza przypada w poniedziałek, o 5h00 AM. Format wybranej daty musi mieć wartość RRRR-MM-dd HH:mm:ss, na przykład 2022-01-03 05:00:00.

Skrypt prosi również o wprowadzenie w razie potrzeby hybrydowej grupy procesów roboczych, w której mają być uruchamiane elementy Runbook (zobacz następną podsekcję).


Skalowanie elementów Runbook AOE przy użyciu hybrydowego procesu roboczego

Domyślnie elementy Runbook usługi AOE Automation są wykonywane w kontekście piaskownicy usługi Azure Automation. Problemy z wydajnością mogą wystąpić z powodu limitów pamięci piaskownicy usługi Automation. Możesz też zdecydować się na zaimplementowanie prywatnych punktów końcowych dla konta magazynu lub usługi SQL Database w celu zabezpieczenia zabezpieczeń AOE. W obu przypadkach należy wykonać elementy Runbook z hybrydowego procesu roboczego. Jest to maszyna wirtualna platformy Azure lub lokalna z rozszerzeniem hybrydowego procesu roboczego usługi Automation. Aby zmienić kontekst wykonywania elementów Runbook AOE, należy użyć skryptu Reset-AutomationSchedules.ps1 . Zobacz, jak używać skryptu w poprzedniej podsekcji. Po ustawieniu czasu podstawowego wykonywania elementów Runbook wprowadź nazwę grupy hybrydowych procesów roboczych, w której mają być uruchamiane elementy Runbook.

Ważne

  • Maszyna hybrydowego procesu roboczego musi mieć zainstalowane wymagane moduły programu PowerShell. Plik upgrade-manifest.json zawiera listę wymaganych modułów.
  • Po zmianie kontekstu wykonywania elementu Runbook na hybrydowy proces roboczy należy zawsze używać DoPartialUpgrade flagi za każdym razem, gdy uaktualnisz usługę AOE lub utracisz ustawienia harmonogramu elementu Runbook i przywrócisz domyślną konfigurację piaskownicy.
  • Tożsamość zarządzana używana do uwierzytelniania na platformie Azure, identyfikatorze Entra firmy Microsoft i zakresach konta rozliczeniowego jest nadal używana przez usługę Azure Automation. Jest on używany nawet wtedy, gdy maszyna hybrydowego procesu roboczego ma przypisaną tożsamość zarządzaną (zobacz szczegóły). Tożsamości zarządzane przypisane przez użytkownika są obsługiwane w kontekście hybrydowych procesów roboczych tylko wtedy, gdy:
    • Konto usługi Automation nie ma żadnej skojarzonej tożsamości zarządzanej, czyli tylko maszyna hybrydowego procesu roboczego może mieć tożsamość zarządzaną przypisaną przez użytkownika.
    • Wszystkie elementy Runbook działają w kontekście hybrydowego procesu roboczego. W takim przypadku należy utworzyć zmienną AzureOptimization_UAMIClientID automatyzacji z identyfikatorem klienta tożsamości zarządzanej przypisanej przez użytkownika jako wartością.
    • AzureOptimization_AuthenticationOption Wartość zmiennej automatyzacji jest aktualizowana do UserAssignedManagedIdentity.

Dostosowywanie progów

W przypadku zaleceń dotyczących kosztów usługi Advisor domyślna konfiguracja AOE generuje agregacje metryk maszyny wirtualnej 99. percentyla, ale można je dostosować tak, aby były mniej konserwatywne. Istnieją również regulowane progi metryk, które są używane do obliczania oceny dopasowania. Wartości progów domyślnych to 30% dla procesora CPU (5% dla zaleceń dotyczących zamykania), 50% dla pamięci (100% w przypadku zamknięcia) i 750 Mb/s dla przepustowości sieci (10 Mb/s do zamknięcia). Wszystkie regulowane konfiguracje są dostępne jako zmienne usługi Azure Automation. Informacje w następnej tabeli zawierają najważniejsze zmienne konfiguracji. Aby uzyskać do nich dostęp, przejdź do opcji menu Udostępnione zasoby konta usługi Automation — zmienne .

Zmienna opis
AzureOptimization_AdvisorFilter Jeśli nie interesuje Cię uzyskanie zaleceń dla wszystkich filarów usługi Non-Cost Advisor, możesz określić filtr na poziomie filaru (lista rozdzielona przecinkami z co najmniej jedną z następujących wartości: HighAvailability,Security,Performance,OperationalExcellence). Domyślnie wszystkie filary.
AzureOptimization_AuthenticationOption Domyślną metodą uwierzytelniania elementów Runbook usługi Automation jest RunAsAccount. Możesz jednak zmienić wartość na ManagedIdentity , jeśli używasz hybrydowego procesu roboczego na maszynie wirtualnej platformy Azure.
AzureOptimization_ConsumptionOffsetDays Element Runbook zbierania danych użycia platformy Azure codziennie wykonuje zapytania dotyczące zdarzeń rozliczeniowych, które miały miejsce siedem dni temu (ustawienie domyślne). Możesz zmienić przesunięcie na bliżej, ale należy pamiętać, że niektóre typy subskrypcji (na przykład MSDN) nie obsługują niższej wartości.
AzureOptimization_PerfPercentileCpu Domyślny percentyl agregacji metryk procesora CPU to 99. Ponieważ percentyl obniża rozmiar maszyny wirtualnej, algorytm oceny dopasowania do rozmiaru maszyny wirtualnej dostosowuje się mniej konserwatywnie.
AzureOptimization_PerfPercentileDisk Domyślny percentyl dla agregacji metryk we/wy dysku wynosi 99. Ponieważ percentyl obniża rozmiar maszyny wirtualnej, algorytm oceny dopasowania do rozmiaru maszyny wirtualnej dostosowuje się mniej konserwatywnie.
AzureOptimization_PerfPercentileMemory Domyślny percentyl agregacji metryk pamięci to 99. Ponieważ percentyl obniża rozmiar maszyny wirtualnej, algorytm oceny dopasowania do rozmiaru maszyny wirtualnej dostosowuje się mniej konserwatywnie.
AzureOptimization_PerfPercentileNetwork Domyślny percentyl agregacji metryk sieci to 99. Ponieważ percentyl obniża rozmiar maszyny wirtualnej, algorytm oceny dopasowania do rozmiaru maszyny wirtualnej dostosowuje się mniej konserwatywnie.
AzureOptimization_PerfPercentileSqlDtu Domyślny percentyl, który ma być używany dla metryk jednostek DTU bazy danych SQL. W miarę obniżania percentylu algorytm rozmiaru bazy danych SQL Database dostosowuje się mniej konserwatywnie.
AzureOptimization_PerfThresholdCpuPercentage Próg procesora (w % czasu procesora). Powyżej tego rozmiaru maszyny wirtualnej zmniejsza się współczynnik dopasowania do rozmiaru maszyny wirtualnej. Poniżej tego wyzwalane są zalecenia dotyczące odpowiedniego rozmiaru zestawu skalowania maszyn wirtualnych platformy Azure (zestawu skalowania).
AzureOptimization_PerfThresholdCpuShutdownPercentage Próg procesora (w % czasu procesora). Powyżej tego rozmiaru maszyny wirtualnej zmniejsza się wskaźnik dopasowania do rozmiaru (tylko zalecenia dotyczące zamykania).
AzureOptimization_PerfThresholdCpuDegradedMaxPercentage Próg procesora CPU (maksymalny obserwowany w % czasu procesora). Nad nim wyzwalane są zalecenia dotyczące wydajności odpowiedniego rozmiaru zestawu skalowania.
AzureOptimization_PerfThresholdCpuDegradedAvgPercentage Próg procesora CPU (średnia obserwowana w % czasu procesora). Nad nim wyzwalane są zalecenia dotyczące wydajności odpowiedniego rozmiaru zestawu skalowania.
AzureOptimization_PerfThresholdMemoryPercentage Próg pamięci (w % używanej pamięci). Powyżej tego rozmiaru maszyny wirtualnej zmniejsza się współczynnik dopasowania do rozmiaru maszyny wirtualnej. Poniżej zestawu skalowania wyzwalane są zalecenia dotyczące kosztów o odpowiednim rozmiarze.
AzureOptimization_PerfThresholdMemoryShutdownPercentage Próg pamięci (w % używanej pamięci). Powyżej tego rozmiaru maszyny wirtualnej zmniejsza się wskaźnik dopasowania do rozmiaru (tylko zalecenia dotyczące zamykania).
AzureOptimization_PerfThresholdMemoryDegradedPercentage Próg pamięci (w % używanej pamięci). Nad nim wyzwalane są zalecenia dotyczące wydajności odpowiedniego rozmiaru zestawu skalowania.
AzureOptimization_PerfThresholdNetworkMbps Próg sieci (w mb/s). Powyżej tego rozmiaru maszyny wirtualnej zmniejsza się współczynnik dopasowania do rozmiaru maszyny wirtualnej.
AzureOptimization_PerfThresholdNetworkShutdownMbps Próg sieci (w mb/s). Powyżej tego rozmiaru maszyny wirtualnej zmniejsza się wskaźnik dopasowania do rozmiaru (tylko zalecenia dotyczące zamykania).
AzureOptimization_PerfThresholdDtuPercentage Próg procentowego użycia jednostek DTU. Poniżej wystąpienia usługi SQL Database jest uznawane za niedostatecznie wykorzystywane.
AzureOptimization_RecommendAdvisorPeriodInDays Interwał w dniach wyszukiwania zaleceń usługi Advisor w repozytorium usługi Log Analytics — wartość domyślna to 7, ponieważ rekomendacje usługi Advisor są zbierane raz w tygodniu.
AzureOptimization_RecommendationAADMaxCredValidityYears Maksymalna liczba lat ważności poświadczeń/certyfikatów jednostki usługi — każda ważność powyżej tego interwału generuje zalecenie dotyczące zabezpieczeń. Wartość domyślna to 2.
AzureOptimization_RecommendationAADMinCredValidityDays Minimalna liczba dni dla poświadczenia/certyfikatu jednostki usługi przed jego wygaśnięciem — każda ważność poniżej tego interwału generuje zalecenie dotyczące doskonałości operacyjnej. Wartość domyślna to 30.
AzureOptimization_RecommendationLongDeallocatedVmsIntervalDays Liczba kolejnych dni cofnięcia przydziału maszyny wirtualnej przed zaleceniem usunięcia (przydział maszyny wirtualnej został cofnięty przez długi czas, a dyski nadal generują koszty). Wartość domyślna to 30.
AzureOptimization_RecommendationVNetSubnetMaxUsedPercentageThreshold Maksymalna wartość procentowa tolerowana dla użycia miejsca w adresach IP podsieci. Wartość domyślna to 80.
AzureOptimization_RecommendationVNetSubnetMinUsedPercentageThreshold Minimalny procent użycia miejsca w adresach IP podsieci — każde użycie poniżej tej wartości oznacza odpowiednią podsieć jako małą ilość miejsca na adresy IP. Wartość domyślna to 5.
AzureOptimization_RecommendationVNetSubnetEmptyMinAgeInDays Minimalny wiek w dniach, w którym ma być oflagowana pusta podsieć, co pozwala uniknąć flagowania nowo utworzonych podsieci. Wartość domyślna to 30.
AzureOptimization_RecommendationVNetSubnetUsedPercentageExclusions Rozdzielona przecinkami lista nazw podsieci, które muszą zostać wykluczone z zaleceń dotyczących procentowego użycia podsieci, na przykład 'gatewaysubnet','azurebastionsubnet' . Wartość domyślna to 'gatewaysubnet'.
AzureOptimization_RecommendationRBACAssignmentsPercentageThreshold Maksymalny procent przydziałów RBAC ogranicza użycie. Wartość domyślna to 80.
AzureOptimization_RecommendationResourceGroupsPerSubPercentageThreshold Maksymalna wartość procentowa liczby grup zasobów na użycie limitów subskrypcji. Wartość domyślna to 80.
AzureOptimization_RecommendationRBACSubscriptionsAssignmentsLimit Maksymalny limit przypisań RBAC na subskrypcję. Obecnie ustawiono wartość 2000 (zgodnie z dokumentacją).
AzureOptimization_RecommendationRBACMgmtGroupsAssignmentsLimit Maksymalny limit przypisań RBAC na grupę zarządzania. Obecnie ustawiono wartość 500 (zgodnie z dokumentacją).
AzureOptimization_RecommendationResourceGroupsPerSubLimit Maksymalny limit liczby grup zasobów na subskrypcję. Obecnie ustawiono wartość 980 (zgodnie z dokumentacją).
AzureOptimization_RecommendationStorageAcountGrowthThresholdPercentage Minimalna wartość procentowa wzrostu konta magazynu wymagana do flagowania magazynu jako braku zasad przechowywania.
AzureOptimization_RecommendationStorageAcountGrowthMonthlyCostThreshold Minimalny miesięczny koszt (w walucie UMOWY EA/MCA) wymagany do flagowania magazynu jako braku zasad przechowywania.
AzureOptimization_RecommendationStorageAcountGrowthLookbackDays Okres wyszukiwania (w dniach) do analizowania wzrostu konta magazynu.
AzureOptimization_ReferenceRegion Region platformy Azure używany jako odwołanie do pobierania listy dostępnych jednostek SKU (domyślnie to westeurope).
AzureOptimization_RemediateRightSizeMinFitScore Minimalna ocena dopasowania maszyny wirtualnej musi mieć zalecenie dotyczące odpowiedniego rozmiaru, aby można było przeprowadzić korygowanie.
AzureOptimization_RemediateRightSizeMinWeeksInARow Minimalna liczba tygodni w wierszu zalecenia dotyczącego odpowiedniego rozmiaru maszyny wirtualnej musi zostać ukończona, aby można było zastosować korygowanie.
AzureOptimization_RemediateRightSizeTagsFilter Nazwa/wartość tagu paruje zalecenie dotyczące odpowiedniego rozmiaru maszyny wirtualnej, aby można było przeprowadzić korygowanie. Przykład: [ { "tagName": "a", "tagValue": "b" }, { "tagName": "c", "tagValue": "d" } ]
AzureOptimization_RemediateLongDeallocatedVMsMinFitScore Minimalna ocena dopasowania do długiego cofnięcia przydziału maszyny wirtualnej musi być wymagana, aby korygowanie miało miejsce.
AzureOptimization_RemediateLongDeallocatedVMsMinWeeksInARow Minimalna liczba tygodni w wierszu zalecenia dotyczącego długiego cofnięcia przydziału maszyny wirtualnej musi zostać ukończona, aby można było rozwiązać ten problem.
AzureOptimization_RemediateLongDeallocatedVMsTagsFilter W przypadku par nazwa/wartość tagu zalecenie dotyczące długiego cofnięcia przydziału maszyny wirtualnej musi zostać wykonane w celu skorygowania. Przykład: [ { "tagName": "a", "tagValue": "b" }, { "tagName": "c", "tagValue": "d" } ]
AzureOptimization_RemediateUnattachedDisksMinFitScore Minimalna ocena dopasowania zalecenia dotyczącego nieprzyłączonego dysku musi być wymagana, aby korygowanie miało miejsce.
AzureOptimization_RemediateUnattachedDisksMinWeeksInARow Minimalna liczba tygodni w wierszu zalecenia dotyczącego dysku nieprzyłączonego musi zostać ukończona, aby można było przeprowadzić korygowanie.
AzureOptimization_RemediateUnattachedDisksAction Akcja, która ma dotyczyć nieprzyłączonego zalecenia dotyczącego dysku korygowania (Delete lub Downsize).
AzureOptimization_RemediateUnattachedDisksTagsFilter W parach nazwa/wartość tagu musi wystąpić zalecenie dotyczące nieprzyłączonego dysku. Przykład: [ { "tagName": "a", "tagValue": "b" }, { "tagName": "c", "tagValue": "d" } ]
AzureOptimization_RightSizeAdditionalPerfWorkspaces Rozdzielona przecinkami lista innych identyfikatorów obszarów roboczych usługi Log Analytics, gdzie szukać metryk maszyn wirtualnych (zobacz Konfigurowanie obszarów roboczych).
AzureOptimization_PerfThresholdDiskIOPSPercentage Próg procentowego użycia operacji we/wy na sekundę dysku. Poniżej niego wyzwalane są zalecenia dotyczące niedostatecznie wykorzystanych dysków SSD w warstwie Premium.
AzureOptimization_PerfThresholdDiskMBsPercentage Próg procentowego użycia przepływności dysku. Poniżej niego wyzwalane są zalecenia dotyczące niedostatecznie wykorzystanych dysków SSD w warstwie Premium.
AzureOptimization_RecommendationsMaxAgeInDays Maksymalny wiek (w dniach) zalecenia, który ma być przechowywany w bazie danych SQL. Wartość domyślna: 365.
AzureOptimization_RetailPricesCurrencyCode Kod waluty (na przykład EUR, USD itd.) używany do zbierania cen detalicznych rezerwacji.
AzureOptimization_PriceSheetMeterCategories Kategorie mierników rozdzielane przecinkami używane do filtrowania arkusza cen w celu uniknięcia pozyskiwania niepotrzebnych danych. Wartość domyślna to "Virtual Machines,Storage".
AzureOptimization_ConsumptionScope Zakres eksportów zużycia: Subscription (wartość domyślna), BillingProfile (tylko MCA) lub BillingAccount (w przypadku umowy MCA) wymaga dodania roli Czytelnik konta rozliczeniowego do tożsamości zarządzanej usługi AOE. Zobacz więcej szczegółów.

Powiązane produkty:

Powiązane rozwiązania: