Dela via


Anpassa Azure-optimeringsmotorn

Azure-optimeringsmotorn (AOE) är en uppsättning Azure Automation-runbooks som samlar in, matar in och analyserar Azure-förbruknings- och prestandadata för att ge rekommendationer om kostnadsoptimering. Motorn är utformad för att vara flexibel och anpassningsbar, så att du kan anpassa dess beteende så att det passar organisationens behov bättre. Den här artikeln innehåller vägledning om hur du anpassar motorns inställningar. Den omfattar att justera tröskelvärden, ändra scheman och utöka motorns omfång.


Bredda motoromfånget

Som standard tilldelas Azure Automation Managed Identity rollen Läsare endast för respektive prenumeration. Du kan dock utöka omfånget för dess rekommendationer bara genom att ge samma läsarroll till andra prenumerationer eller, till och med enklare, till en hanteringsgrupp på högsta nivån.

I samband med rekommendationer för förhöjd virtuell dator (VM) med rätt storlek kan du ha dina virtuella datorer som rapporterar till flera arbetsytor. Om du behöver inkludera andra arbetsytor – förutom den huvudsakliga som AOE använder – i rekommendationsomfånget behöver du bara lägga till deras arbetsyte-ID:n i variabeln AzureOptimization_RightSizeAdditionalPerfWorkspaces (se mer information i Konfigurera arbetsytor).

Om du är en kund med flera klienter kan du utöka räckvidden för AOE till en annan klientorganisation än den där den distribuerades. För att uppnå det här tillägget måste du säkerställa följande krav:

  • Skapa ett huvudnamn för tjänsten (appregistrering) och en hemlighet i den sekundära klientorganisationen.
  • Bevilja nödvändiga behörigheter till tjänstens huvudnamn i den sekundära klientorganisationen, nämligen Läsare i Azure-prenumerationer/hanteringsgrupper och Global läsare i Microsoft Entra-ID.
  • Skapa en Automation-autentiseringsuppgift i AOE:s Automation-konto. Ange tjänstens huvudnamns klient-ID som användarnamn och hemlighet som lösenord.
  • Kör skriptet Register-MultitenantAutomationSchedules.ps1 (tillgängligt i AOE-rotmappen) i kontexten för prenumerationen där AOE distribuerades. Det här skriptet skapar nya jobbscheman för var och en av export runbooks och konfigurerar dem för att fråga den sekundära klientorganisationen. Du behöver bara anropa skriptet med hjälp av följande syntax:
./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>]

Justera scheman

Som standard anges bastiden för AOE Automation-scheman som distributionstid. Strax efter att den första distributionen har slutförts körs exporter, inmatningar och rekommendationer enligt motorns standardscheman. Om du till exempel distribuerar AOE på en måndag klockan 11:00 får du nya rekommendationer varje måndag klockan 14:30. Om det här schemat av någon anledning inte passar dina behov kan du återställa det till den tid som passar dig bättre med hjälp av skriptet Reset-AutomationSchedules.ps1 (tillgängligt i AOE-rotmappen). Du måste bara anropa följande skript. Följ syntaxen och besvara indatabegäranden:

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

Den bastid du väljer måste vara i UTC och måste definieras enligt den dag i veckan och den timme som du vill att rekommendationer ska genereras. Du måste härleda 3h30m från den tid du väljer. Det beror på att bastiden definierar scheman för alla beroende Automation-runbooks som måste köras innan rekommendationerna genereras. Anta till exempel att du vill att rekommendationer ska genereras varje måndag kl. 08.30. bastiden är nästa kalenderdatum som infaller en måndag kl. 05.00. Formatet för det datum du väljer måste vara ÅÅÅÅ-MM-dd HH:mm:ss, till exempel 2022-01-03 05:00:00.

Skriptet ber dig också att ange, om det behövs, den Hybrid Worker-grupp som du vill att runbooks ska köras i (se nästa underavsnitt).


Skala AOE-runbooks med Hybrid Worker

Som standard körs AOE Automation-runbooks i kontexten för Azure Automation-sandbox-miljön. Du kan stöta på prestandaproblem på grund av minnesgränserna för sandbox-miljön i Automation. Eller så kan du välja att implementera privata slutpunkter för lagringskontot eller SQL Database för att förstärka AOE:s säkerhet. I båda fallen måste du köra runbooks från en Hybrid Worker. Det är en Azure- eller lokal virtuell dator med Tillägget Automation Hybrid Worker. Om du vill ändra körningskontexten för AOE-runbooks måste du använda skriptet Reset-AutomationSchedules.ps1 . Se hur du använder skriptet i föregående underavsnitt. När du har angett runbooks-körningens bastid anger du det Hybrid Worker-gruppnamn som du vill att runbooks ska köras i.

Viktigt!

  • Hybrid Worker-datorn måste ha nödvändiga PowerShell-moduler installerade. Filen upgrade-manifest.json innehåller listan över nödvändiga moduler.
  • När du har ändrat runbook-körningskontexten till Hybrid Worker måste du alltid använda DoPartialUpgrade flaggan när du uppgraderar AOE, annars förlorar du inställningarna för runbook-schemat och återgår till standardkonfigurationen för sandbox-miljön.
  • Den hanterade identitet som används för att autentisera mot Azure, Microsoft Entra-ID och faktureringskontoomfattningar är fortfarande den som Azure Automation använder. Den används även om Hybrid Worker-datorn har en tilldelad hanterad identitet (se information). Användartilldelade hanterade identiteter stöds endast i kontexten hybridarbetare om:
    • Automation-kontot har ingen associerad hanterad identitet, dvs. endast Hybrid Worker-datorn kan ha en användartilldelad hanterad identitet.
    • Alla runbooks körs i kontexten för Hybrid Worker. I det här fallet måste du skapa en AzureOptimization_UAMIClientID Automation-variabel med användartilldelat klient-ID för hanterad identitet som värde.
    • Automation-variabelvärdet AzureOptimization_AuthenticationOption uppdateras till UserAssignedManagedIdentity.

Justera tröskelvärden

För Advisor-kostnadsrekommendationer genererar AOE:s standardkonfiguration aggregeringar av percentilens 99:e vm-mått, men du kan justera dem så att de blir mindre konservativa. Det finns också justerbara tröskelvärden för mått som används för att beräkna passningspoängen. Standardtröskelvärdena är 30 % för CPU (5 % för avstängningsrekommendationer), 50 % för minne (100 % för avstängning) och 750 Mbit/s för nätverksbandbredd (10 Mbit/s för avstängning). Alla justerbara konfigurationer är tillgängliga som Azure Automation-variabler. Informationen i nästa tabell visar de mest relevanta konfigurationsvariablerna. Om du vill komma åt dem går du till menyalternativet Delade resurser för Automation-konto – Variabler .

Olika beskrivning
AzureOptimization_AdvisorFilter Om du inte är intresserad av att få rekommendationer för alla icke-Cost Advisor-pelare kan du ange ett filter på pelarnivå (kommaavgränsad lista med minst ett av följande värden: HighAvailability,Security,Performance,OperationalExcellence). Standardinställningar för alla pelare.
AzureOptimization_AuthenticationOption Standardautentiseringsmetoden för Automation Runbooks är RunAsAccount. Men du kan ändra till ManagedIdentity om du använder en Hybrid Worker på en virtuell Azure-dator.
AzureOptimization_ConsumptionOffsetDays Runbook-runbooken för Azure Consumption-datainsamling frågar varje dag efter faktureringshändelser som inträffade för sju dagar sedan (standard). Du kan ändra till en närmare förskjutning, men tänk på att vissa prenumerationstyper (till exempel MSDN) inte stöder ett lägre värde.
AzureOptimization_PerfPercentileCpu Standardperilen för sammansättningar av CPU-mått är 99. När percentilen sänks justeras algoritmen för rätt storlek på den virtuella datorn mindre konservativt.
AzureOptimization_PerfPercentileDisk Standardperilen för måttsammansättningar för disk-I/dataflöde är 99. När percentilen sänks justeras algoritmen för rätt storlek på den virtuella datorn mindre konservativt.
AzureOptimization_PerfPercentileMemory Standardperilen för sammansättningar av minnesmått är 99. När percentilen sänks justeras algoritmen för rätt storlek på den virtuella datorn mindre konservativt.
AzureOptimization_PerfPercentileNetwork Standardperilen för nätverksmåttaggregationer är 99. När percentilen sänks justeras algoritmen för rätt storlek på den virtuella datorn mindre konservativt.
AzureOptimization_PerfPercentileSqlDtu Standardperilen som ska användas för SQL DB DTU-mått. När percentilen sänks justeras SQL Database-algoritmen med rätt storlek mindre konservativt.
AzureOptimization_PerfThresholdCpuPercentage Cpu-tröskelvärdet (i % processortid). Ovanför den minskar den virtuella datorns rätt storleksanpassningspoäng. Under den utlöses rekommendationen för Azure Virtual Machine Scale Set (skalningsuppsättning) med rätt storlek kostnadsrekommendationsutlösare.
AzureOptimization_PerfThresholdCpuShutdownPercentage Cpu-tröskelvärdet (i % processortid). Ovanför den minskar den virtuella datorns rätt storleksanpassningspoäng (endast avstängningsrekommendationer).
AzureOptimization_PerfThresholdCpuDegradedMaxPercentage Cpu-tröskelvärdet (maximalt observerat i % processortid). Ovanför den utlöses rekommendationen för skalningsuppsättningens rätt storlek Prestanda.
AzureOptimization_PerfThresholdCpuDegradedAvgPercentage Cpu-tröskelvärdet (genomsnitt observerat i % processortid). Ovanför den utlöses rekommendationen för skalningsuppsättningens rätt storlek Prestanda.
AzureOptimization_PerfThresholdMemoryPercentage Tröskelvärdet för minne (i % använt minne). Ovanför den minskar den virtuella datorns rätt storleksanpassningspoäng. Under den utlöses rekommendationen för skalningsuppsättningens rätt storlek.
AzureOptimization_PerfThresholdMemoryShutdownPercentage Tröskelvärdet för minne (i % använt minne). Ovanför den minskar den virtuella datorns rätt storleksanpassningspoäng (endast avstängningsrekommendationer).
AzureOptimization_PerfThresholdMemoryDegradedPercentage Tröskelvärdet för minne (i % använt minne). Ovanför den utlöses rekommendationen för skalningsuppsättningens rätt storlek Prestanda.
AzureOptimization_PerfThresholdNetworkMbps Nätverkströskelvärdet (i Totalt antal Mbit/s). Ovanför den minskar den virtuella datorns rätt storleksanpassningspoäng.
AzureOptimization_PerfThresholdNetworkShutdownMbps Nätverkströskelvärdet (i Totalt antal Mbit/s). Ovanför den minskar den virtuella datorns rätt storleksanpassningspoäng (endast avstängningsrekommendationer).
AzureOptimization_PerfThresholdDtuPercentage Tröskelvärdet för DTU-användningsprocent. Under den anses en SQL Database-instans vara underutnyttad.
AzureOptimization_RecommendAdvisorPeriodInDays Intervallet i dagar för att söka efter Advisor-rekommendationer på Log Analytics-lagringsplatsen – standardvärdet är 7, eftersom Advisor-rekommendationer samlas in en gång i veckan.
AzureOptimization_RecommendationAADMaxCredValidityYears Det maximala antalet år för autentiseringsuppgifter/certifikat för tjänstens huvudnamn – alla giltigheter över det här intervallet genererar en säkerhetsrekommendations. Standardvärdet är 2.
AzureOptimization_RecommendationAADMinCredValidityDays Det minsta antalet dagar för ett autentiseringsuppgift/certifikat för tjänstens huvudnamn innan det upphör att gälla – eventuella giltigheter under det här intervallet genererar en rekommendation om driftskvalitet. Standardvärdet är 30.
AzureOptimization_RecommendationLongDeallocatedVmsIntervalDays Antalet dagar i rad som en virtuell dator frigjordes innan den rekommenderades för borttagning (den virtuella datorn har frigjorts länge med diskar som fortfarande medför kostnader). Standardvärdet är 30.
AzureOptimization_RecommendationVNetSubnetMaxUsedPercentageThreshold Den maximala procentandel som tolereras för ip-utrymmesanvändning för undernät. Standardvärdet är 80.
AzureOptimization_RecommendationVNetSubnetMinUsedPercentageThreshold Den minsta procentandelen för ip-utrymmesanvändning för undernätet – all användning under det här värdet flaggar respektive undernät som använder lågt IP-utrymme. Standardvärdet är 5.
AzureOptimization_RecommendationVNetSubnetEmptyMinAgeInDays Lägsta ålder i dagar för att ett tomt undernät ska flaggas, vilket undviker att flagga nyligen skapade undernät. Standardvärdet är 30.
AzureOptimization_RecommendationVNetSubnetUsedPercentageExclusions Kommaavgränsad, sluten lista med en enda offert med undernätsnamn som måste undantas från rekommendationer för användningsprocent för undernät, till exempel 'gatewaysubnet','azurebastionsubnet'. Standardvärdet är 'gatewaysubnet'.
AzureOptimization_RecommendationRBACAssignmentsPercentageThreshold Den maximala procentandelen RBAC-tilldelningar begränsar användningen. Standardvärdet är 80.
AzureOptimization_RecommendationResourceGroupsPerSubPercentageThreshold Den maximala procentandelen resursgrupper som räknas per prenumeration begränsar användningen. Standardvärdet är 80.
AzureOptimization_RecommendationRBACSubscriptionsAssignmentsLimit Den maximala gränsen för RBAC-tilldelningar per prenumeration. För närvarande inställt på 2000 (som dokumenterat).
AzureOptimization_RecommendationRBACMgmtGroupsAssignmentsLimit Den maximala gränsen för RBAC-tilldelningar per hanteringsgrupp. För närvarande inställt på 500 (som dokumenterat).
AzureOptimization_RecommendationResourceGroupsPerSubLimit Den maximala gränsen för antal resursgrupper per prenumeration. För närvarande inställt på 980 (som dokumenterat).
AzureOptimization_RecommendationStorageAcountGrowthThresholdPercentage Den minsta ökningsprocenten för lagringskontot som krävs för att flagga Lagring som att den inte har en kvarhållningsprincip på plats.
AzureOptimization_RecommendationStorageAcountGrowthMonthlyCostThreshold Den minsta månadskostnaden (i din EA/MCA-valuta) som krävs för att flagga Lagring som att den inte har en kvarhållningsprincip på plats.
AzureOptimization_RecommendationStorageAcountGrowthLookbackDays Återställningsperioden (i dagar) för analys av lagringskontots tillväxt.
AzureOptimization_ReferenceRegion Azure-regionen som används som referens för att hämta listan över tillgängliga SKU:er (standardvärdet westeurope).
AzureOptimization_RemediateRightSizeMinFitScore Den lägsta passningspoängen för en virtuell dators rätt storleksrekommendation måste ha för att reparationen ska ske.
AzureOptimization_RemediateRightSizeMinWeeksInARow Det minsta antalet veckor i rad som en rekommendation för den virtuella datorns rätt storlek måste vara klar för att reparationen ska ske.
AzureOptimization_RemediateRightSizeTagsFilter Taggnamnet/värdet parar en rekommendation om rätt storlek på den virtuella datorn måste ha för att reparationen ska ske. Exempel: [ { "tagName": "a", "tagValue": "b" }, { "tagName": "c", "tagValue": "d" } ]
AzureOptimization_RemediateLongDeallocatedVMsMinFitScore Den lägsta passningspoängen för en lång frigjord VM-rekommendation måste ha för att reparationen ska ske.
AzureOptimization_RemediateLongDeallocatedVMsMinWeeksInARow Det minsta antalet veckor i rad som en lång frigjord VM-rekommendation måste vara klar för att reparationen ska ske.
AzureOptimization_RemediateLongDeallocatedVMsTagsFilter Taggnamnet/värdet parar en lång frigjord VM-rekommendation måste ha för att reparationen ska ske. Exempel: [ { "tagName": "a", "tagValue": "b" }, { "tagName": "c", "tagValue": "d" } ]
AzureOptimization_RemediateUnattachedDisksMinFitScore Den minsta passningspoängen som en oansluten diskrekommendation måste ha för att reparationen ska ske.
AzureOptimization_RemediateUnattachedDisksMinWeeksInARow Det minsta antalet veckor i rad som en oansluten diskrekommendation måste vara klar för att reparationen ska ske.
AzureOptimization_RemediateUnattachedDisksAction Åtgärden som ska tillämpas för en icke-kopplat diskrekommendationsreparation (Delete eller Downsize).
AzureOptimization_RemediateUnattachedDisksTagsFilter Taggnamnet/värdet parar en icke-kopplad diskrekommendation måste ha för att reparationen ska ske. Exempel: [ { "tagName": "a", "tagValue": "b" }, { "tagName": "c", "tagValue": "d" } ]
AzureOptimization_RightSizeAdditionalPerfWorkspaces En kommaavgränsad lista över andra Log Analytics-arbetsyte-ID:n där du kan söka efter VM-mått (se Konfigurera arbetsytor).
AzureOptimization_PerfThresholdDiskIOPSPercentage Tröskelvärdet för disk-IOPS-användning i procent. Under den utlöses rekommendationen för underutnytttagna Premium SSD-diskar.
AzureOptimization_PerfThresholdDiskMBsPercentage Tröskelvärdet för diskdataflödesanvändning i procent. Under den utlöses rekommendationen för underutnytttagna Premium SSD-diskar.
AzureOptimization_RecommendationsMaxAgeInDays Den maximala åldern (i dagar) för en rekommendation som ska behållas i SQL-databasen. Standard: 365.
AzureOptimization_RetailPricesCurrencyCode Valutakoden (till exempel EUR, USD och så vidare) som används för att samla in reservationspriserna.
AzureOptimization_PriceSheetMeterCategories Kommaavgränsade mätarkategorier som används för prisdokumentfiltrering för att undvika inmatning av onödiga data. Standardvärdet är "Virtual Machines,Storage".
AzureOptimization_ConsumptionScope Omfånget för förbrukningsexporterna: Subscription (standard), BillingProfile (endast MCA) eller BillingAccount (för MCA, kräver att rollen Faktureringskontoläsare läggs till i den AOE-hanterade identiteten). Se mer information.

Relaterade produkter:

Relaterade lösningar: