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 tillUserAssignedManagedIdentity
.
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. |
Relaterat innehåll
Relaterade produkter:
Relaterade lösningar: