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:00
zijn.
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 naarUserAssignedManagedIdentity
.
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 inhoud
Gerelateerde producten:
Verwante oplossingen: