Delen via


Azure-optimalisatie-engine aanpassen

De Azure Optimization Engine (AOE) is een set Azure Automation-runbooks die Azure-verbruiks- en prestatiegegevens verzamelen, opnemen en analyseren om aanbevelingen voor kostenoptimalisatie te bieden. De engine is ontworpen om flexibel en aanpasbaar te zijn, zodat u het gedrag ervan kunt aanpassen aan de behoeften van uw organisatie. Dit artikel bevat richtlijnen voor het aanpassen van de instellingen van de engine. Het omvat het aanpassen van drempelwaarden, het wijzigen van planningen en het uitbreiden van het bereik van de engine.


Het bereik van de engine breder maken

Standaard wordt de rol Lezer alleen toegewezen aan de beheerde identiteit van Azure Automation via het respectieve abonnement. U kunt het bereik van de aanbevelingen echter uitbreiden door dezelfde lezerrol toe te kennen aan andere abonnementen of, nog eenvoudiger, aan een beheergroep op het hoogste niveau.

In de context van aanbevelingen voor uitgebreide virtuele machines (VM) met de juiste grootte kunt u uw VM's rapporteren aan meerdere werkruimten. Als u andere werkruimten moet opnemen, naast de belangrijkste werkruimte die AOE gebruikt, moet u in het aanbevelingenbereik alleen hun werkruimte-id's toevoegen aan de AzureOptimization_RightSizeAdditionalPerfWorkspaces variabele (zie meer informatie over het configureren van werkruimten).

Als u een multitenant-klant bent, kunt u het bereik van AOE uitbreiden naar een andere tenant dan de tenant waar deze is geïmplementeerd. Als u deze extensie wilt bereiken, moet u de volgende vereisten garanderen:

  • Maak een service-principal (app-registratie) en een geheim in de secundaire tenant.
  • Verdeel de vereiste machtigingen voor de service-principal in de secundaire tenant, namelijk Lezer in Azure-abonnementen/-beheergroepen en Globale lezer in Microsoft Entra-id.
  • Maak een Automation-referentie in het Automation-account van de AOE. Stel de client-id van de service-principal in als gebruikersnaam en het geheim als wachtwoord.
  • Voer het Register-MultitenantAutomationSchedules.ps1 script uit (beschikbaar in de AOE-hoofdmap) in de context van het abonnement waarin AOE is geïmplementeerd. Met dit script maakt u nieuwe taakplanningen voor elk van de exportrunbooks en configureert u deze om een query uit te voeren op de secundaire tenant. U hoeft alleen het script aan te roepen met behulp van de volgende syntaxis:
./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>]

Schema's aanpassen

Standaard wordt de basistijd voor de AOE Automation-planningen ingesteld als de implementatietijd. Kort nadat de eerste implementatie is voltooid, worden de runbooks geëxporteerd, opgenomen en aanbevelingen uitgevoerd volgens de standaardschema's van de engine. Als u bijvoorbeeld AOE op maandag om 11:00 uur implementeert, krijgt u elke maandag om 2:30 uur nieuwe aanbevelingen. Als dit schema om een of andere reden niet aan uw behoeften voldoet, kunt u deze opnieuw instellen op het tijdstip dat beter bij u past, met behulp van het Reset-AutomationSchedules.ps1 script (beschikbaar in de AOE-hoofdmap). U hoeft alleen het volgende script aan te roepen. Volg de syntaxis en beantwoord de invoeraanvragen:

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

De basistijd die u kiest, moet in UTC zijn en moet worden gedefinieerd op basis van de dag van de week en het uur dat u aanbevelingen wilt genereren. U moet 3h30m afleiden van de tijd die u kiest. Dit komt doordat de basistijd de planningen definieert voor alle afhankelijke automation-runbooks die moeten worden uitgevoerd voordat de aanbevelingen worden gegenereerd. Stel dat u elke maandag om 8u30 om 8u30 aanbevelingen wilt genereren; de basistijd is de volgende kalenderdatum die op maandag om 5u00 valt. De notatie van de datum die u kiest, moet bijvoorbeeld JJJJ-MM-dd UU:mm:ss 2022-01-03 05:00:00zijn.

In het script wordt u ook gevraagd om, indien nodig, de Hybrid Worker-groep in te voeren waarin u de runbooks wilt uitvoeren (zie de volgende subsectie).


AOE-runbooks schalen met Hybrid Worker

AOE Automation-runbooks worden standaard uitgevoerd in de context van de Azure Automation-sandbox. Mogelijk ondervindt u prestatieproblemen vanwege de geheugenlimieten van de Automation-sandbox. U kunt ook besluiten om privé-eindpunten voor het opslagaccount of SQL Database te implementeren om de beveiliging van AOE te beperken. In beide gevallen moet u runbooks uitvoeren vanuit een Hybrid Worker. Het is een azure- of on-premises virtuele machine met de Automation Hybrid Worker-extensie. Als u de uitvoeringscontext voor de AOE-runbooks wilt wijzigen, moet u het Reset-AutomationSchedules.ps1 script gebruiken. Lees hoe u het script in de vorige subsectie gebruikt. Nadat u de uitvoeringsbasistijd van runbooks hebt ingesteld, voert u de naam van de Hybrid Worker-groep in waarin u de runbooks wilt uitvoeren.

Belangrijk

  • Op de Hybrid Worker-machine moeten de vereiste PowerShell-modules zijn geïnstalleerd. Het upgrade-manifest.json bestand bevat de lijst met vereiste modules.
  • Zodra u de uitvoeringscontext van het runbook wijzigt in Hybrid Worker, moet u altijd de DoPartialUpgrade vlag gebruiken wanneer u AOE bijwerkt, anders verliest u de planningsinstellingen van het runbook en keert u terug naar de standaard sandbox-configuratie.
  • De beheerde identiteit die wordt gebruikt om te verifiëren bij Azure, Microsoft Entra ID en factureringsrekening, is nog steeds de identiteit die door Azure Automation wordt gebruikt. Deze wordt gebruikt, zelfs als aan de Hybrid Worker-machine een beheerde identiteit is toegewezen (zie details). Door de gebruiker toegewezen beheerde identiteiten worden alleen ondersteund in de context van Hybrid Workers als:
    • Het Automation-account heeft geen gekoppelde beheerde identiteit, dus alleen de Hybrid Worker-machine kan een door de gebruiker toegewezen beheerde identiteit hebben.
    • Alle runbooks worden uitgevoerd in de context van de Hybrid Worker. In dit geval moet u een AzureOptimization_UAMIClientID Automation-variabele maken met de door de gebruiker toegewezen beheerde identiteit-client-id als waarde.
    • De waarde van de AzureOptimization_AuthenticationOption Automation-variabele wordt bijgewerkt naar UserAssignedManagedIdentity.

Drempelwaarden aanpassen

Voor aanbevelingen voor kosten van Advisor produceert de standaardconfiguratie van de AOE percentiel 99e aggregaties van metrische GEGEVENS van vm's, maar u kunt deze aanpassen om minder conservatief te zijn. Er zijn ook aanpasbare drempelwaarden voor metrische gegevens die worden gebruikt om de score passend te maken. De standaardwaarden voor drempelwaarden zijn 30% voor CPU (5% voor aanbevelingen voor afsluiten), 50% voor geheugen (100% voor afsluiten) en 750 Mbps voor netwerkbandbreedte (10 Mbps voor afsluiten). Alle aanpasbare configuraties zijn beschikbaar als Azure Automation-variabelen. De informatie in de volgende tabel markeert de meest relevante configuratievariabelen. Als u deze wilt openen, gaat u naar de menuoptie Gedeelde resources van het Automation-account - Variabelen .

Variabele Beschrijving
AzureOptimization_AdvisorFilter Als u niet geïnteresseerd bent in het verkrijgen van aanbevelingen voor alle niet-Cost Advisor-pijlers, kunt u een filter op pijlerniveau opgeven (door komma's gescheiden lijst met ten minste een van de volgende waarden: HighAvailability,Security,Performance,OperationalExcellence). Standaard ingesteld op alle pijlers.
AzureOptimization_AuthenticationOption De standaardverificatiemethode voor Automation-runbooks is RunAsAccount. Maar u kunt dit wijzigen ManagedIdentity als u een Hybrid Worker in een Azure-VM gebruikt.
AzureOptimization_ConsumptionOffsetDays Het runbook voor het verzamelen van azure-verbruiksgegevens voert elke dag query's uit voor factureringsgebeurtenissen die zeven dagen geleden zijn opgetreden (standaard). U kunt overschakelen naar een dichtere offset, maar houd er rekening mee dat sommige abonnementstypen (bijvoorbeeld MSDN) geen lagere waarde ondersteunen.
AzureOptimization_PerfPercentileCpu Het standaard percentiel voor metrische CPU-aggregaties is 99. Naarmate het percentiel lager wordt, past het algoritme van de juiste grootte passendheidsscore van de VIRTUELE machine minder conservatief aan.
AzureOptimization_PerfPercentileDisk Het standaard percentiel voor metrische gegevens voor schijf-IO/doorvoer is 99. Naarmate het percentiel lager wordt, past het algoritme van de juiste grootte passendheidsscore van de VIRTUELE machine minder conservatief aan.
AzureOptimization_PerfPercentileMemory Het standaard percentiel voor metrische geheugenaggregaties is 99. Naarmate het percentiel lager wordt, past het algoritme van de juiste grootte passendheidsscore van de VIRTUELE machine minder conservatief aan.
AzureOptimization_PerfPercentileNetwork Het standaard percentiel voor metrische netwerkaggregaties is 99. Naarmate het percentiel lager wordt, past het algoritme van de juiste grootte passendheidsscore van de VIRTUELE machine minder conservatief aan.
AzureOptimization_PerfPercentileSqlDtu Het standaard percentiel dat moet worden gebruikt voor metrische SQL DB DTU-gegevens. Naarmate het percentiel lager wordt, wordt het rechtergrootte-algoritme van SQL Database minder conservatief aangepast.
AzureOptimization_PerfThresholdCpuPercentage De CPU-drempelwaarde (in % processortijd). Daarboven neemt de juiste grootte van de VM af. Daaronder activeert de aanbevelingsaanbeveling voor de virtuele-machineschaalset (schaalset) van Azure Virtual Machine Scale Set (schaalset).
AzureOptimization_PerfThresholdCpuShutdownPercentage De CPU-drempelwaarde (in % processortijd). Daarboven neemt de juiste grootte van de VM-score af (alleen aanbevelingen voor afsluiten).
AzureOptimization_PerfThresholdCpuDegradedMaxPercentage De CPU-drempelwaarde (maximaal waargenomen in % processortijd). Daarboven wordt de aanbeveling voor prestaties van de juiste grootte van de schaalset geactiveerd.
AzureOptimization_PerfThresholdCpuDegradedAvgPercentage De CPU-drempelwaarde (gemiddeld waargenomen in % processortijd). Daarboven wordt de aanbeveling voor prestaties van de juiste grootte van de schaalset geactiveerd.
AzureOptimization_PerfThresholdMemoryPercentage De geheugendrempelwaarde (in % gebruikt geheugen). Daarboven neemt de juiste grootte van de VM af. Daaronder wordt de aanbeveling voor kosten van de juiste grootte van de schaalset geactiveerd.
AzureOptimization_PerfThresholdMemoryShutdownPercentage De geheugendrempelwaarde (in % gebruikt geheugen). Daarboven neemt de juiste grootte van de VM-score af (alleen aanbevelingen voor afsluiten).
AzureOptimization_PerfThresholdMemoryDegradedPercentage De geheugendrempelwaarde (in % gebruikt geheugen). Daarboven wordt de aanbeveling voor prestaties van de juiste grootte van de schaalset geactiveerd.
AzureOptimization_PerfThresholdNetworkMbps De netwerkdrempel (in totaal Mbps). Daarboven neemt de juiste grootte van de VM af.
AzureOptimization_PerfThresholdNetworkShutdownMbps De netwerkdrempel (in totaal Mbps). Daarboven neemt de juiste grootte van de VM-score af (alleen aanbevelingen voor afsluiten).
AzureOptimization_PerfThresholdDtuPercentage De drempelwaarde voor DTU-gebruikspercentage. Daaronder wordt een SQL Database-exemplaar beschouwd als onderbenut.
AzureOptimization_RecommendAdvisorPeriodInDays Het interval in dagen om te zoeken naar Advisor-aanbevelingen in de Log Analytics-opslagplaats: de standaardwaarde is 7, omdat Advisor-aanbevelingen eenmaal per week worden verzameld.
AzureOptimization_RecommendationAADMaxCredValidityYears Het maximum aantal jaren voor de geldigheid van referenties/certificaten van een service-principal: elke geldigheid boven dit interval genereert een beveiligingsaanbeveling. De standaardwaarde is 2.
AzureOptimization_RecommendationAADMinCredValidityDays Het minimum aantal dagen voor een referentie/certificaat van een service-principal voordat het verloopt. Elke geldigheid onder dit interval genereert een aanbeveling voor Operational Excellence. De standaardwaarde is 30.
AzureOptimization_RecommendationLongDeallocatedVmsIntervalDays Het aantal opeenvolgende dagen dat de toewijzing van een virtuele machine ongedaan is gemaakt voordat deze wordt aanbevolen voor verwijdering (de toewijzing van de virtuele machine is gedurende lange tijd ongedaan gemaakt met schijven die nog steeds kosten in rekening worden gebracht). De standaardwaarde is 30.
AzureOptimization_RecommendationVNetSubnetMaxUsedPercentageThreshold Het maximumpercentage dat wordt getolereerd voor gebruik van ip-ruimte van subnet. De standaardwaarde is 80.
AzureOptimization_RecommendationVNetSubnetMinUsedPercentageThreshold Het minimumpercentage voor het gebruik van ip-ruimte voor subnetten: elk gebruik onder deze waarde markeert het respectieve subnet als het gebruik van weinig IP-ruimte. De standaardwaarde is 5.
AzureOptimization_RecommendationVNetSubnetEmptyMinAgeInDays De minimale leeftijd in dagen voordat een leeg subnet wordt gemarkeerd, zodat u geen markeringen voor nieuw gemaakte subnetten hoeft te maken. De standaardwaarde is 30.
AzureOptimization_RecommendationVNetSubnetUsedPercentageExclusions Door komma's gescheiden, ingesloten lijst met subnetnamen die moeten worden uitgesloten van aanbevelingen voor subnetgebruik, bijvoorbeeld'gatewaysubnet'.'azurebastionsubnet' Standaard ingesteld op 'gatewaysubnet'.
AzureOptimization_RecommendationRBACAssignmentsPercentageThreshold Het maximumpercentage van RBAC-toewijzingen beperkt het gebruik. De standaardwaarde is 80.
AzureOptimization_RecommendationResourceGroupsPerSubPercentageThreshold Het maximumpercentage van het aantal resourcegroepen per abonnementslimieten. De standaardwaarde is 80.
AzureOptimization_RecommendationRBACSubscriptionsAssignmentsLimit De maximumlimiet voor RBAC-toewijzingen per abonnement. Momenteel ingesteld op 2000 (zoals gedocumenteerd).
AzureOptimization_RecommendationRBACMgmtGroupsAssignmentsLimit De maximumlimiet voor RBAC-toewijzingen per beheergroep. Momenteel ingesteld op 500 (zoals gedocumenteerd).
AzureOptimization_RecommendationResourceGroupsPerSubLimit De maximumlimiet voor het aantal resourcegroepen per abonnement. Momenteel ingesteld op 980 (zoals gedocumenteerd).
AzureOptimization_RecommendationStorageAcountGrowthThresholdPercentage Het minimale groeipercentage van het opslagaccount dat is vereist om Opslag te markeren als er geen bewaarbeleid is ingesteld.
AzureOptimization_RecommendationStorageAcountGrowthMonthlyCostThreshold De minimale maandelijkse kosten (in uw EA/MCA-valuta) die vereist zijn om Opslag te markeren als er geen bewaarbeleid is ingesteld.
AzureOptimization_RecommendationStorageAcountGrowthLookbackDays De lookbackperiode (in dagen) voor het analyseren van de groei van het opslagaccount.
AzureOptimization_ReferenceRegion De Azure-regio die wordt gebruikt als referentie voor het ophalen van de lijst met beschikbare SKU's (standaard ingesteld op westeurope).
AzureOptimization_RemediateRightSizeMinFitScore De minimale geschiktheidsscore van een aanbeveling voor de juiste grootte van een VIRTUELE machine moet hebben om het herstel uit te voeren.
AzureOptimization_RemediateRightSizeMinWeeksInARow Het minimale aantal weken in een rij dat een aanbeveling voor de juiste grootte van een VIRTUELE machine moet zijn voltooid om het herstel te kunnen uitvoeren.
AzureOptimization_RemediateRightSizeTagsFilter De tagnaam/waardeparen die een aanbeveling voor de juiste grootte van de virtuele machine moeten hebben om het herstel uit te voeren. Voorbeeld: [ { "tagName": "a", "tagValue": "b" }, { "tagName": "c", "tagValue": "d" } ]
AzureOptimization_RemediateLongDeallocatedVMsMinFitScore De minimale geschiktheidsscore voor een aanbeveling voor een vm met een lange toewijzing moet hebben om het herstel uit te voeren.
AzureOptimization_RemediateLongDeallocatedVMsMinWeeksInARow Het minimum aantal weken achter elkaar moet een aanbeveling voor een lang ongedaan gemaakt VM zijn voltooid om het herstel te kunnen uitvoeren.
AzureOptimization_RemediateLongDeallocatedVMsTagsFilter De tagnaam/waardeparen die een aanbeveling voor een lange, niet-toegewezen VM hebben, moeten worden gebruikt om het herstel uit te voeren. Voorbeeld: [ { "tagName": "a", "tagValue": "b" }, { "tagName": "c", "tagValue": "d" } ]
AzureOptimization_RemediateUnattachedDisksMinFitScore De minimale geschiktheidsscore moet een niet-gekoppelde schijfaanbeveling hebben om het herstel uit te voeren.
AzureOptimization_RemediateUnattachedDisksMinWeeksInARow Het minimum aantal weken op rij moet een niet-gekoppelde schijfaanbeveling zijn voltooid om het herstel te kunnen uitvoeren.
AzureOptimization_RemediateUnattachedDisksAction De actie die moet worden toegepast op een niet-gekoppelde schijfaanbevelingDelete ( of Downsize).
AzureOptimization_RemediateUnattachedDisksTagsFilter De tagnaam/waardeparen die een niet-gekoppelde schijfaanbeveling moeten hebben om het herstel uit te voeren. Voorbeeld: [ { "tagName": "a", "tagValue": "b" }, { "tagName": "c", "tagValue": "d" } ]
AzureOptimization_RightSizeAdditionalPerfWorkspaces Een door komma's gescheiden lijst met andere Log Analytics-werkruimte-id's waar u kunt zoeken naar metrische gegevens van vm's (zie Werkruimten configureren).
AzureOptimization_PerfThresholdDiskIOPSPercentage De drempelwaarde voor het IOPS-gebruikspercentage van de schijf. Daaronder worden de aanbevelingsaanbevelingen voor onderbenutte Premium SSD-schijven geactiveerd.
AzureOptimization_PerfThresholdDiskMBsPercentage De drempelwaarde voor het gebruikspercentage voor schijfdoorvoer. Daaronder worden de aanbevelingsaanbevelingen voor onderbenutte Premium SSD-schijven geactiveerd.
AzureOptimization_RecommendationsMaxAgeInDays De maximale leeftijd (in dagen) voor een aanbeveling die in de SQL-database moet worden bewaard. Standaard: 365.
AzureOptimization_RetailPricesCurrencyCode De valutacode (bijvoorbeeld EUR, USD, enzovoort) die wordt gebruikt voor het verzamelen van de prijzen voor reserveringen.
AzureOptimization_PriceSheetMeterCategories De door komma's gescheiden metercategorieën die worden gebruikt voor het filteren van prijzenoverzichten om te voorkomen dat onnodige gegevens worden opgenomen. Standaard ingesteld op "Virtual Machines,Storage".
AzureOptimization_ConsumptionScope Het bereik van de verbruiksexports: Subscription (standaard), BillingProfile (alleen MCA) of BillingAccount (voor MCA) vereist het toevoegen van de rol Lezer van factureringsrekening aan de beheerde AOE-identiteit. Zie meer details.

Gerelateerde producten:

Verwante oplossingen: