Hantera kostnader med automatisering

Med Cost Management-automatisering kan du skapa en anpassad uppsättning lösningar för att hämta och hantera kostnadsdata. Den här artikeln beskriver vanliga scenarier för Cost Management-automatisering och de alternativ som är tillgängliga utifrån din situation. Om du tänker använda API:er ges exempel på vanliga API-begäranden som hjälper dig att påskynda utvecklingsprocessen.

Automatisera hämtning av kostnadsdata för analys offline

Du kan behöva ladda ned dina Azure-kostnadsdata för att slå ihop dem med andra datauppsättningar. Eller så kan du behöva integrera kostnadsdata i dina egna system. Det finns olika alternativ tillgängliga beroende på hur mycket data det rör sig om. Du måste ha Cost Management-behörighet i lämpligt omfång för att kunna använda API:er och verktyg. Mer information finns i Tilldela åtkomst till data.

Förslag för hantering av stora datauppsättningar

Om din organisation har en stor Azure-närvaro över många resurser eller prenumerationer har du en stor mängd dataresultat för användningsinformation. Excel kanske inte kan läsa in så stora filer. I så fall rekommenderar vi följande alternativ:

Power BI

Power BI används för att mata in och hantera stora mängder data. Om du är Enterprise-avtalskund kan du använda Power BI-mallappen för att analysera kostnaderna för ditt faktureringskonto. Rapporten innehåller viktiga vyer som används av kunder. Mer information finns i Analysera Azure-kostnader med Power BI-mallappen.

Power BI-dataanslutning

Om du vill analysera dina data dagligen rekommenderar vi att du använder Power BI-dataanslutningen för att hämta data för detaljerad analys. Alla rapporter du skapar uppdateras av anslutningsprogrammet när det uppstår kostnader.

Cost Management-exporter

Du kanske inte behöver analysera data dagligen. I så fall kan du använda exportfunktionen i Cost Management för att schemalägga dataexporter till ett Azure Storage-konto. Sedan kan du läsa in data i Power BI om det behövs, eller analysera dem i Excel om inte filen är för stor. Exportfunktionen finns i Azure-portalen, men du kan också konfigurera exporter med export-API:et.

API för användningsinformation

Överväg att använda API:et för användningsinformation om du har en liten mängd kostnadsdata. Här är rekommenderade metodtips:

  • Om du vill hämta de senaste kostnadsdata rekommenderar vi att du frågar högst en gång per dag. Rapporter uppdateras var fjärde timme. Om du ringer oftare får du identiska data.
  • När du har laddat ned dina kostnadsdata för historiska fakturor ändras inte avgifterna om du inte uttryckligen meddelas. Vi rekommenderar att du cachelagr dina kostnadsdata i ett frågebart lager för att förhindra upprepade anrop för identiska data.
  • Dela upp dina anrop i små datumintervall för att få mer hanterbara filer som du kan ladda ned. Vi rekommenderar till exempel segmentering per dag eller vecka om du har stora Azure-användningsfiler från månad till månad.
  • Om du har omfång med en stor mängd användningsdata (till exempel ett faktureringskonto) bör du överväga att göra flera anrop till underordnade omfång så att du får mer hanterbara filer som du kan ladda ned.
  • Om datamängden är mer än 2 GB från månad till månad bör du överväga att använda exporter som en mer skalbar lösning.

Automatisera hämtning med API:et för användningsinformation

Med API:et för användningsinformation kan du enkelt hämta råa, icke-aggregerade kostnadsdata som motsvarar din Azure-faktura. API:et är användbart när din organisation behöver en lösning för att hämta data programmatiskt. Överväg att använda API:et om du vill analysera mindre mängder kostnadsdata. Du bör dock använda andra lösningar som nämnts tidigare om du har större datamängder. Användningsinformationen tillhandahålls per mätare per dag. Den används för beräkning av din månadsfaktura. Versionen för allmän tillgänglighet för API:erna är 2019-10-01. Använd 2019-04-01-preview för att komma åt förhandsversionen för reservation och Azure Marketplace-köp med API:erna.

Om du vill hämta stora mängder exporterade data regelbundet kan du läsa Hämta datauppsättningar med stora kostnader som är återkommande med exporter.

Förslag för API:et för användningsinformation

Schema för begäranden

Vi rekommenderar att du inte gör fler än ett begärande till API:et för användningsinformation per dag. Mer information om hur ofta kostnadsdata uppdateras och hur avrundning hanteras finns i Förstå Cost Management-data.

Mål på den översta nivån utan filtrering

Använd API:et för att hämta alla data som du behöver på den högsta tillgängliga nivån. Vänta tills alla data som behövs har matats in innan du utför någon filtrering, gruppering eller aggregerad analys. API:et är optimerat för att tillhandahålla stora mängder råa, icke-aggregerade kostnadsdata. Du kan läsa mer om vilka omfång som är tillgängliga i Cost Management i Förstå och arbeta med omfång. När du har laddat ned de data som behövs för ett omfång använder du Excel för att analysera data ytterligare med filter och pivottabeller.

Anmärkningar om prissättning

Om du vill stämma av användning och avgifter med prisdokumentet eller fakturan kan du läsa Prisbeteende i kostnadsinformation.

En enskild resurs kan ha flera poster för en enda dag

Azure-resursprovidrar genererar användning och avgifter till faktureringssystemet och fyller i Additional Info fältet för användningsposterna. Ibland kan resursprovidrar generera användning för en viss dag och stämpla posterna med olika datacenter i Additional Info fältet för användningsposterna. Det kan orsaka att flera poster för en mätare/resurs finns i din användningsfil under en enda dag. I så fall är du inte överdebiterad. De flera posterna representerar den fullständiga kostnaden för mätaren för resursen den dagen.

Exempelbegäranden till API:et för användningsinformation

Följande exempel är vanliga typer av begäranden som används av Microsoft-kunder.

Hämta användningsinformation för ett omfång inom ett specifikt datumintervall

De data som returneras av begäran motsvarar det datum då användningen togs emot av faktureringssystemet. Informationen kan omfatta kostnader från flera fakturor. Vilket anrop som ska användas varierar beroende på prenumerationstyp.

För äldre kunder med ett Enterprise-avtal (EA) eller en prenumeration av typen Betala per användning, använder du följande anrop:

GET https://management.azure.com/{scope}/providers/Microsoft.Consumption/usageDetails?$filter=properties%2FusageStart%20ge%20'2020-02-01'%20and%20properties%2FusageEnd%20le%20'2020-02-29'&$top=1000&api-version=2019-10-01

För moderna kunder med ett Microsoft-kundavtal använder du följande anrop:

GET https://management.azure.com/{scope}/providers/Microsoft.Consumption/usageDetails?startDate=2020-08-01&endDate=2020-08-05&$top=1000&api-version=2019-10-01

Kommentar

Parametern $filter stöds inte av Microsoft-kundavtal.

Hämta information om amorterad kostnad

Om du behöver de faktiska kostnaderna för att visa inköp när de påförs kan du ändra måttet till ActualCost i följande begäran. För att kunna använda amorterade och faktiska kostnader måste du använda 2019-04-01-preview-versionen. Den aktuella API-versionen fungerar på samma sätt som 2019-10-01-versionen, med undantag för det nya typ/mått-attributet och de ändrade egenskapsnamnen. Om du har ett Microsoft-kundavtal är dina filter startDate och endDate i följande exempel.

GET https://management.azure.com/{scope}/providers/Microsoft.Consumption/usageDetails?metric=AmortizedCost&$filter=properties/usageStart+ge+'2019-04-01'+AND+properties/usageEnd+le+'2019-04-30'&api-version=2019-04-01-preview

Automatisera aviseringar och åtgärder med budgetar

Det finns två viktiga komponenter om du ska kunna få ut mesta möjliga av dina investeringar i molnet. En är automatiskt skapande av budget. Den andra är konfiguration av kostnadsbaserad orkestrering som svar på budgetaviseringar. Det finns olika sätt att automatisera skapande av budget. Olika aviseringssvar sker när de konfigurerade tröskelvärdena för aviseringar överskrids.

Följande avsnitt beskriver tillgängliga alternativ och ger exempel på API-begäranden för att komma igång med budgetautomatisering.

Så här utvärderas kostnader mot din budgettröskel

Dina kostnader utvärderas mot din budgettröskel en gång per dag. När du skapar en ny budget eller på din budgetåterställningsdag blir kostnaderna jämfört med tröskelvärdet noll/null eftersom utvärderingen kanske inte har inträffat.

När Azure upptäcker att kostnaderna har överskridit tröskelvärdet utlöses en avisering inom en timme från den tid då den identifierades.

Visa din aktuella kostnad

Om du vill visa dina aktuella kostnader måste du göra ett GET-anrop med hjälp av fråge-API:et.

Ett GET-anrop till budget-API:et returnerar inte de aktuella kostnader som visas i kostnadsanalysen. I stället returnerar anropet din senaste utvärderade kostnad.

Automatisera skapandet av budget

Du kan automatisera skapandet av budgeten med hjälp av budget-API:et. Du kan också skapa en budget med en budgetmall. Mallar är ett enkelt sätt att standardisera Azure-distributioner samtidigt som du säkerställer att kostnadskontrollen är korrekt konfigurerad och framtvingas.

Nationella inställningar som stöds för budgetavisering via e-post

När du använder budgetar får du en avisering om kostnaderna överskrider ett angivet tröskelvärde. Du kan konfigurera upp till fem e-postmottagare per budget. Mottagarna får en e-postavisering inom 24 timmar efter att budgettröskeln har överskridits. Men en mottagare kan dock vilja få sina e-postmeddelanden på ett annat språk. Du kan använda följande språk/kulturkoder med API:erna för budgetar. Ange kulturkoden med parametern locale, som i följande exempel.

{
  "eTag": "\"1d681a8fc67f77a\"",
  "properties": {
    "timePeriod": {
      "startDate": "2020-07-24T00:00:00Z",
      "endDate": "2022-07-23T00:00:00Z"
    },
    "timeGrain": "BillingMonth",
    "amount": 1,
    "currentSpend": {
      "amount": 0,
      "unit": "USD"
    },
    "category": "Cost",
    "notifications": {
      "actual_GreaterThan_10_Percent": {
        "enabled": true,
        "operator": "GreaterThan",
        "threshold": 20,
        "locale": "en-us",
        "contactEmails": [
          "user@contoso.com"
        ],
        "contactRoles": [],
        "contactGroups": [],
        "thresholdType": "Actual"
      }
    }
  }
}

Språk som stöds med en kulturkod:

Kulturkod Språk
sv-se Engelska (USA)
ja-jp Japanska (Japan)
zh-cn Kinesiska (förenklad, Kina)
de-de Tyska (Tyskland)
es-es Spanska (Spanien, internationell)
fr-fr Franska (Frankrike)
it-it Italienska (Italien)
ko-kr Koreanska (Korea)
pt-br Portugisiska (Brasilien)
ru-ru Ryska (Ryssland)
zh-tw Chinese (Traditionell, Taiwan)
cs-cz Tjeckiska (Tjeckien)
pl-pl Polska (Polen)
tr-tr Turkiska (Türkiye)
da-dk Danska (Danmark)
en-gb Engelska (Storbritannien)
hu-hu Ungerska (Ungern)
nb-no Norska, bokmål (Norge)
nl-nl Nederländska (Nederländerna)
pt-pt Portugisiska (Portugal)
sv-se Svenska (Sverige)

Vanliga budget API-konfigurationer

Det finns många sätt att konfigurera en budget i din Azure-miljö. Överväg ditt scenario först och identifiera sedan de konfigurationsalternativ som möjliggör det. Granska följande alternativ:

  • Tidsintervall – Visar den återkommande period som din budget använder för att ackumulera och utvärdera kostnader. De vanligaste alternativen är månadsvis, kvartalsvis och årsvis.
  • Tidsperiod – Visar hur länge din budget är giltig. Budgeten har aktiv övervakning och varnar dig bara när den fortfarande är giltig.
  • Aviseringar
    • E-postadresser för kontakt – E-postadresserna får aviseringar när en budget påförs kostnader och överskrider definierade tröskelvärden.
    • Kontaktroller – Alla användare som har en matchande Azure-roll för det aktuella omfånget får e-postaviseringar med det här alternativet. Prenumerationsägare kan till exempel få en avisering för en budget som skapats för prenumerationsomfånget.
    • Kontaktgrupper – Budgeten anropar de konfigurerade åtgärdsgrupperna när ett aviseringströskelvärde har överskridits.
  • Kostnadsdimensionsfilter – Samma filtrering som du kan utföra i kostnadsanalys för fråge-API:et kan också göras för din budget. Använd det här filtret för att minska det antal kostnader som du övervakar med budgeten.

När du har identifierat de alternativ för budgetskapande som motsvarar dina behov skapar du budgeten med hjälp av API:et. Exemplet nedan hjälper dig att komma igång med en gemensam budgetkonfiguration.

Skapa en budget filtrerad på flera resurser och taggar

URL för begäran: PUT https://management.azure.com/subscriptions/{SubscriptionId} /providers/Microsoft.Consumption/budgets/{BudgetName}/?api-version=2019-10-01

{
  "eTag": "\"1d34d016a593709\"",
  "properties": {
    "category": "Cost",
    "amount": 100.65,
    "timeGrain": "Monthly",
    "timePeriod": {
      "startDate": "2017-10-01T00:00:00Z",
      "endDate": "2018-10-31T00:00:00Z"
    },
    "filter": {
      "and": [
        {
          "dimensions": {
            "name": "ResourceId",
            "operator": "In",
            "values": [
              "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/virtualMachines/{meterName}",
              "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/virtualMachines/{meterName}"
            ]
          }
        },
        {
          "tags": {
            "name": "category",
            "operator": "In",
            "values": [
              "Dev",
              "Prod"
            ]
          }
        },
        {
          "tags": {
            "name": "department",
            "operator": "In",
            "values": [
              "engineering",
              "sales"
            ]
          }
        }
      ]
    },
    "notifications": {
      "Actual_GreaterThan_80_Percent": {
        "enabled": true,
        "operator": "GreaterThan",
        "threshold": 80,
        "contactEmails": [
          "user1@contoso.com",
          "user2@contoso.com"
        ],
        "contactRoles": [
          "Contributor",
          "Reader"
        ],
        "contactGroups": [
          "/subscriptions/{subscriptionID}/resourceGroups/{resourceGroupName}/providers/microsoft.insights/actionGroups/{actionGroupName}
        ],
        "thresholdType": "Actual"
      }
    }
  }
}

Konfigurera kostnadsbaserad orkestrering för budgetaviseringar

Du kan konfigurera budgetar för att starta automatiska åtgärder med hjälp av Azures åtgärdsgrupper. Mer information om hur du automatiserar åtgärder med budgetar finns i Automation med budgetar.

Svarstid och hastighetsbegränsningar för data

Vi rekommenderar att du anropar API:erna högst en gång per dag. Cost Management-data uppdateras var fjärde timme i och med att nya användningsdata tas emot från Azure-resursleverantörer. Mer frekventa anrop ger inte mer data. Det skapar bara en ökad belastning.

Fråge-API-frågebearbetningsenheter

Förutom de befintliga hastighetsbegränsningsprocesserna begränsar fråge-API:et även bearbetning baserat på kostnaden för API-anrop. Kostnaden för ett API-anrop uttrycks som frågebearbetningsenheter (QPU:er). QPU är en prestandavaluta, till exempel Cosmos DB RU:er. De abstraherar systemresurser som CPU och minne.

QPU-beräkning

För närvarande dras en QPU för en månads data som efterfrågas från de tilldelade kvoterna. Den här logiken kan ändras utan föregående meddelande.

QPU-faktorer

Följande faktor påverkar antalet QPU:er som förbrukas av en API-begäran.

  • När datumintervallet i begäran ökar ökar antalet förbrukade QPU:er.

Andra QPU-faktorer kan läggas till utan föregående meddelande.

QPU-kvoter

Följande kvoter konfigureras per klientorganisation. Begäranden begränsas när någon av följande kvoter är förbrukade.

  • 12 QPU per 10 sekunder
  • 60 QPU per 1 min
  • 600 QPU per 1 timme

Kvoterna kanske ändras efter behov och fler kvoter kan läggas till.

Svarsrubriker

Du kan undersöka svarshuvudena för att spåra antalet QPU:er som förbrukas av en API-begäran och antalet återstående QPU:er.

x-ms-ratelimit-microsoft.costmanagement-qpu-retry-after

Anger tiden till back-off i sekunder. När en begäran begränsas med 429 kan du backa för den tid som anges i det här huvudet innan du försöker begära igen.

x-ms-ratelimit-microsoft.costmanagement-qpu-consumed

QPU:er som används av ett API-anrop.

x-ms-ratelimit-microsoft.costmanagement-qpu-remaining

Lista över återstående kvoter.

Nästa steg