Sdílet prostřednictvím


Způsob zpracování dat v centrech FinOps

Centra FinOps provádějí mnoho aktivit zpracování dat za účelem vyčištění, normalizace a optimalizace dat. Následující části ukazují, jak data proudí ze služby Cost Management do instance centra.


Nastavení oboru

Obor je úroveň v rámci cloudové hierarchie prostředků a účtů, která poskytuje přístup k nákladům, využití a uhlíkovým datům. Pro centra FinOps obvykle doporučujeme používat fakturační účty smlouva Enterprise (EA) nebo fakturační profily Smlouva se zákazníkem Microsoftu (MCA), ale pro základní analýzu stačí jakýkoli rozsah cloudu. Hlavním problémem je to, jestli jsou potřeba data o cenách a rezervacích, protože Služba Cost Management zveřejňuje data jenom pro fakturační účty EA a fakturační profily MCA.

Centra FinOps podporují konfiguraci oborů ruční konfigurací exportů služby Cost Management nebo udělením přístupu centra FinOps ke správě oborů vaším jménem. Spravované obory se konfigurují v konfiguračním nebo settings.json souboru v úložišti centra. Informace popisují, co se stane, když se do tohoto souboru přidá nový spravovaný obor. Nespravované obory, ve kterých jsou exporty služby Cost Management ručně nakonfigurované, nevyžadují další nastavení.

Diagram znázorňující proces nastavení oboru

  1. Trigger config_SettingsUpdated se spustí při aktualizaci souboru settings.json .
  2. Kanál config_ConfigureExports vytvoří nové exporty pro všechny přidané nové obory.

Příjem dat

Následující diagram znázorňuje kompletní proces příjmu dat v centrech FinOps:

Diagram znázorňující proces příjmu dat

  1. (Volitelné) Pokud používáte spravované exporty:
    1. Triggery config_DailySchedule a config_MonthlySchedule se spouštějí podle příslušných plánů, aby zahájily příjem dat.
    2. Kanál config_StartExportProcess získá příslušné exporty pro plán, který je spuštěný.
    3. Kanál config_RunExportJobs provede každý z vybraných exportů.
  2. Cost Management exportuje nezpracované podrobnosti nákladů do kontejneru msexports . Další informace.
  3. Kanál msexports_ExecuteETL zařadí kanál etL (extract-transform-load) do fronty při přidání souborů do kontejneru msexports .
  4. Kanál msexports_ETL_ingestion transformuje data do formátu parquet a přesune je do kontejneru příjmu dat pomocí škálovatelné struktury souborů. Další informace.
  5. (Volitelné) Pokud používáte Azure Data Explorer:
    1. Kanál ingestion_ExecuteETL zařadí kanál příjmu dat do fronty při přidánímanifest.json souborů do kontejneru příjmu dat .
      • Pokud ingestujete vlastní datové sady mimo export služby Cost Management, vytvořte v cílové složce příjmu dat prázdný soubormanifest.json po dokončení všech ostatních souborů (nepřidávejte tento soubor, pokud se soubory stále nahrávají). Soubor manifest.json není analyzován a může být prázdný. Jediným účelem je označit, že se přidají všechny soubory pro tuto úlohu příjmu dat.
      • Pokud cluster neběží, potrubí ho spustí. Spuštění Azure Data Exploreru může trvat 15 minut nebo déle.
    2. Kanál ingestion_ETL_dataExplorer zajišťuje načítání dat do {dataset}_raw tabulky v Průzkumníku dat.
      • Název datové sady je první složka v kontejneru pro příjem dat .
      • Všechny nezpracované tabulky jsou v databázi příjmu dat v Průzkumníku dat.
    3. Při ingestování dat do nezpracovaných tabulek v Průzkumníku dat zásada aktualizace, která pomocí funkce {dataset}_final_v1_0 normalizuje všechna data, zkopíruje data do odpovídající tabulky {dataset}_transform_v1_0() tak, aby byla zarovnaná s FOCUS 1.0.
    4. Po příjmu dat provede kanál ingestion_ETL_dataExplorer určité vyčištění, včetně vymazání dat v závěrečné tabulce, která jsou mimo dobu uchovávání dat.
      • Od 0.7 používá Průzkumník dat uchovávání dat v nezpracovaných tabulkách, zatímco kanál příjmu dat používá uchovávání dat v konečných tabulkách. Pokud se příjem dat zastaví, historická data se nevyprázdní.
      • Uchovávání dat je možné nakonfigurovat během nasazení šablony nebo ručně v konfiguračním nebosettings.json souboru v úložišti.
  6. Sestavy a další nástroje, jako je Power BI, čtou data z Průzkumníka dat nebo kontejneru příjmu dat.
    • Data v Průzkumníku dat je možné číst z databáze centra .
      • {dataset}() Funkce slouží k použití nejnovějšího schématu.
        • Tato funkce je užitečná pro rychlý průzkum, ale může při aktualizaci instance centra FinOps zavést zásadní změny.
      • {dataset}_v1_0() Pomocí funkce použijte schéma FOCUS 1.0.
        • Schémata funkcí s verzí by se neměla v průběhu času měnit, ale hodnoty se můžou změnit, pokud zdroj dat tyto hodnoty změní.
      • Nepoužívejte databázi příjmu dat pro dotazy. I když není výslovně zakázáno, databáze Ingace by měla být považována za interní oblast pro přípravu dat.
    • Data v úložišti lze číst z ingestion/<dataset>/<year>/<month>/<scope-path>.
      • Data by se měla číst rekurzivně ze složky datové sady a volitelně by měla podle potřeby obsahovat další informace.
      • Soubory v každé složce datové sady můžou mít různá schémata na základě zdroje dat a typu účtu. Připravte se na transformaci dat, pokud ingestování v jiných systémech, jako je Microsoft Fabric.
      • Čtení z úložiště se nedoporučuje kvůli výkonu. Průzkumník dat se doporučuje při vytváření sestav nákladů na více než 1 milion USD.

Příjem dat v Průzkumníku dat

Když se data ingestují do Průzkumníka {dataset}_transform_v1_0() dat, použijí funkce pravidla transformace v databázi pro příjem dat . Každá datová sada obsahuje jinou sadu pravidel transformace, která jsou popsána v následujících částech.

Seznam požadovaných změn, nápady, které je potřeba vzít v úvahu, a otevřené otázky týkající se podkladových datových sad služby Cost Management najdete v tématu problém č. 1111. Pokud najdete příležitosti k řešení jakýchkoli problémů nebo vyjádřit podporu pro konkrétní problémy, napište komentáře k tomuto problému.

Transformace dat nákladů

Podporované datové sady:

  • Microsoft FocusCost: 1.2-preview, 1.0r2, 1.0, 1.0-preview(v1)

V návrhu byly započítány následující datové sady, ale nejsou nativně podporovány. Pokud chcete tyto datové sady ingestovat, vytvořte datový kanál (nebo externí proces), který nasdílí soubory parquet do ingestion/Costs/yyyy/mm/{scope-path} složky v úložišti. Může {scope-path} to být libovolná jedinečná cesta, například aws/123 nebo gcp/projects/foo. Jediným požadavkem je zajistit, aby každý obor byl v samostatné složce. Po zkopírování externího obsahu vytvořte také soubormanifest.json , který aktivuje příjem dat v Průzkumníku dat.

  • Alibaba Cloud FOCUS 1.0
  • Amazon Web Services (AWS) FOCUS 1.0
  • Google Cloud Platform (GCP) FOCUS 1.0
  • Oracle Cloud Infrastructure (OCI) FOCUS 1.0
  • Tencent Cloud FOCUS 1.0

Transformuje:

  • v0.7+:
    • Zarovná fokus 1.0 náhled názvů sloupců na FOCUS 1.0.
      • Zahrnuje převod focusu 1.0 ve verzi Preview na verzi 1.0.
    • Přidejte x_IngestionTime k označení, kdy byl řádek naposledy aktualizován.
    • Přidejte x_SourceChanges, abyste zjistili, kdy se data v řádku mění podle uzlů.
    • Aktualizujte ProviderName a PublisherName, pokud není zadáno.
    • Přidejte x_SourceName, x_SourceProvider, x_SourceType a x_SourceVersion a identifikujte původní ingestované datové sady.
    • Vyplňte chybějící hodnoty ListCost, ListUnitPrice, ContractedCost a ContractedUnitPrice na základě ceníku.
      • Tento proces vyžaduje export cen před náklady. Ceny chybí pro první den v měsíci, pokud jsou náklady ingestovány před tím, než jsou ceny k dispozici.
    • Oprava ContractedCost nesprávného nastavení kvůli chybě ve službě Cost Management
    • Změňte ResourceName a x_ResourceGroupName na malá písmena, aby se vyřešily problémy s konzistencí velikosti písmen, které narušují seskupování a filtrování.
    • Přidejte x_BillingAccountAgreement na základě typu účtu.
  • v0.8+:
    • Opravte všechny ResourceType hodnoty, které používají ID interního typu prostředku (například microsoft.compute/virtualmachines).
  • v0.9+:
    • Malá písmena BillingAccountId , aby se zajistilo, že spojení cen odpovídá všem řádkům.
    • Malá písmena CommitmentDiscountId , abyste se vyhnuli duplicitním řádkům při agregaci dat.
    • Přidejte nové x_SourceChanges kontroly ListCostLessThanContractedCost a ContractedCostLessThanEffectiveCost.
  • v0.10+:
    • Opravte x_EffectiveUnitPrice, když je vypočítáno a dojde k zaokrouhlovací chybě ve srovnání s x_BilledUnitPrice nebo ContractedUnitPrice.
    • Vypočítejte hodnotu pro PricingQuantity a ConsumedQuantity, když existují náklady, ale žádné množství.
    • Nastavte ContractedCost na EffectiveCost, pokud není nastaveno.
    • Nastavte ListCost na ContractedCost, pokud není nastaveno.
    • Odeberte "-2" ve sloupci x_InvoiceSectionId.
    • Odeberte "nepřiřazeno" ve sloupci x_InvoiceSectionName.
    • Opraveno x_EffectiveUnitPrice, když je vypočítáno a má chybu zaokrouhlení.
    • Přidat nové x_SourceChanges kontroly pro MissingConsumedQuantity, MissingPricingQuantitya XEffectiveUnitPriceRoundingError.
  • v0.11+:
    • Změňte BillingPeriodStart a BillingPeriodEnd na první den měsíce.
  • v12+:
    • Převést FOCUS 1.0-preview a 1.0 data na FOCUS 1.2.
      • Přejmenováno x_InvoiceId na InvoiceId.
      • Přejmenováno x_PricingCurrency na PricingCurrency.
      • Přejmenováno x_SkuMeterName na SkuMeter.
      • Transformováno x_SkuDetails na SkuPriceDetails:
        • Přidán CoreCount parametr pro počet jader pro skladovou položku na základě x_SkuDetails.VCPUs, x_SkuDetails.VCores a x_SkuDetails.vCores.
        • Přidán InstanceType klíč pro velikost skladové položky na základě x_SkuDetails.ServiceType a x_SkuDetails.ServerSku.
        • Přidán OperatingSystem klíč pro operační systém virtuálního počítače založený na x_SkuDetails.ImageType.
        • Předponej všechny ostatní klíče s x_.
    • Pokud služba Cost Management nenastaví určité sloupce, implementují se následující sloupce:
      • CapacityReservationId
      • CapacityReservationStatus
      • CommitmentDiscountQuantity
      • CommitmentDiscountUnit
      • x_CommitmentDiscountNormalizedRatio
    • Přidání x_AmortizationClass k vyfiltrování amortizovaných nákupů a zabránění dvojitému počítání ListCost a ContractedCost pro výpočty úspor.
    • Přidáno x_CommitmentDiscountUtilizationPotential a x_CommitmentDiscountUtilizationAmount pro výpočet využití slevy ze závazku.
    • Přidáno x_SkuCoreCount a x_ConsumedCoreHours pro počet jader a počet hodin výpočetních jader pro SKU založenou na x_SkuDetails.VCPUs, x_SkuDetails.VCores a x_SkuDetails.vCores.
    • Přidáno x_SkuInstanceType pro velikost SKU na základě x_SkuDetails.ServiceType a x_SkuDetails.ServerSku.
    • Přidáno x_SkuOperatingSystem pro operační systém virtuálního počítače na základě x_SkuDetails.ImageType.
    • Přidány sloupce Azure Hybrid Benefit:
      • x_SkuLicenseQuantity
      • x_SkuLicenseStatus
      • x_SkuLicenseType
      • x_SkuLicenseUnit
    • Přidání sloupců slev a úspor:
      • x_NegotiatedDiscountSavings
      • x_CommitmentDiscountSavings
      • x_TotalSavings
      • x_NegotiatedDiscountPercent
      • x_CommitmentDiscountPercent
      • x_TotalDiscountPercent
    • Přidáno x_SourceValues ke sledování změn během příjmu dat.

Transformace cenových dat

Podporované datové sady:

  • Microsoft Ceníkový list: 2023-05-01 (EA a MCA)

Transformuje:

  • v0.7 nebo novější
    • Zarovná názvy sloupců podle FOCUS 1.0.
      • Zahrnuje zajištění konzistence názvů sloupců EA a MCA.
      • Nezmění podkladové hodnoty, které se můžou lišit v rámci EA a MCA.
    • Převeďte x_SkuTerm dobu trvání ISO na konkrétní počet měsíců tak, aby odpovídala podrobnostem o nákladech.
      • Čekáme, až fokus určíme, jak definovat doby trvání před změnou této hodnoty na ISO nebo jiný formát.
    • Nahraďte ContractedUnitPrice využití plánu úspor ekvivalentem na vyžádání.
    • Nastavte ListUnitPrice využití plánu úspor na ekvivalent na vyžádání.
    • Přidejte SkuPriceIdv2 jako přesnější SkuPriceId hodnotu, než jaká je aktuálně v podrobnostech o nákladech.
    • Přidejte x_IngestionTime k označení, kdy byl řádek naposledy aktualizován.
    • Přidat x_CommitmentDiscountSpendEligibility a x_CommitmentDiscountUsageEligibility.
    • Rozbalit x_PricingUnitDescription do PricingUnit a x_PricingBlockSize.
    • Přidejte x_BillingAccountAgreement na základě typu účtu.
    • Změňte x_EffectivePeriodEnd na výhradní koncové datum.
    • x_EffectiveUnitPriceDiscountPřidejte x_ContractedUnitPriceDiscount, a x_TotalUnitPriceDiscount sumarizovat dostupné slevy na skladovou položku.
    • Přidejte x_EffectiveUnitPriceDiscountPercent, x_ContractedUnitPriceDiscountPercenta x_TotalUnitPriceDiscountPercent sumarizovat procento slevy na SKU.
    • Přidejte x_SourceName, x_SourceProvider, x_SourceType a x_SourceVersion a identifikujte původní ingestované datové sady.
  • v0.9+:
    • Použijte malá písmena BillingAccountId, aby se zajistilo, že spojení nákladů odpovídá všem řádkům.
  • v12+:
    • Zarovnejte názvy sloupců na FOCUS 1.2:
      • Přejmenováno x_PricingCurrency na PricingCurrency.
      • Přejmenováno x_SkuMeterName na SkuMeter.
    • Pokud nejsou sloupce nastaveny službou Cost Management, implementují se následující:
      • CommitmentDiscountUnit

Transformace doporučovacích dat

Podporované datové sady:

  • Doporučení k Microsoft ReservationRecommendations: 2023-05-01 (EA a MCA)

Transformuje:

  • v0.7+:
    • Zarovná názvy sloupců podle FOCUS 1.0.
      • Zahrnuje zajištění konzistence názvů sloupců EA a MCA.
      • Nezmění podkladové hodnoty, které se můžou lišit v rámci EA a MCA.
    • Přidejte x_SourceName, x_SourceProvider, x_SourceType a x_SourceVersion a identifikujte původní ingestované datové sady.

Transformace transakčních dat

Podporované datové sady:

  • Microsoft ReservationTransactions: 2023-05-01 (EA a MCA)

Transformuje:

  • v0.7+:
    • Zarovná názvy sloupců podle FOCUS 1.0.
      • Zahrnuje zajištění konzistence názvů sloupců EA a MCA.
      • Nezmění podkladové hodnoty, které se můžou lišit v rámci EA a MCA.
    • Přidejte x_SourceName, x_SourceProvider, x_SourceType a x_SourceVersion a identifikujte původní ingestované datové sady.
  • v12+:
    • Zarovnejte názvy sloupců na FOCUS 1.2:
      • Přejmenováno x_InvoiceId na InvoiceId.

Transformace dat využití slev závazku

Podporované datové sady:

  • Podrobnosti rezervace Microsoft: 2023-03-01 (EA a MCA)

Transformuje:

  1. Zarovná názvy sloupců podle FOCUS 1.0.
    • Zahrnuje zajištění konzistence názvů sloupců EA a MCA.
    • Nezmění podkladové hodnoty, které se můžou lišit v rámci EA a MCA.
  2. Přidejte sloupec ResourceType s názvem typu prostředku pro zobrazení.
  3. Přidat ServiceName, ServiceCategorya x_ServiceModel sloupce
  4. Nahraďte "NA" hodnotou null za x_CommitmentDiscountNormalizedGroup.
  5. Přidejte x_CommitmentDiscountQuantity na základě FOCUS 1.1.

Informace o kontejneru příjmu dat

Centra FinOps spoléhají na konkrétní cestu ke složce a formát názvu souboru v kontejneru úložiště pro příjem dat :

ingestion/{dataset}/{date-folder-path}/{scope-id-path}/{ingestion-id}__{original-file-name}.parquet
  • ingestion je kontejner, do kterého datový kanál ukládá data.
  • {dataset} je exportovaný typ datové sady. Pokud dochází k ingestování do Azure Data Exploreru, databáze Ingestion musí mít odpovídající tabulku "_raw" s rozlišováním velkých a malých písmen (například "Costs_raw"). Centra FinOps podporují v této verzi následující datové sady:
    • CommitmentDiscountUsage – Export podrobností o rezervacích služby Cost Management
    • Náklady – data o nákladech a využití FOKUSu
    • Ceny – export ceníku služby Cost Management.
    • Doporučení – export doporučení pro rezervace služby Cost Management
    • Transakce – Export transakcí rezervací služby Cost Management
    • Pokud chcete ingestovat vlastní datové sady, vytvořte v databázi {dataset}_raw dat odpovídající tabulku a mapování příjmu parket.
  • {date-folder-path} může to být jedna nebo více složek, které označují, kolik přijatých datových sad by se mělo zachovat. Příklady:
    • all (nebo jakýkoli zástupný symbol) pro nesledování historie datové sady. Každý příjem dat nahradí předchozí data. V sestavách Power BI založených na úložišti se nepodporuje.
    • {yyyy} jako čtyřmístný rok exportované datové sady, aby se zachoval pouze nejnovější příjem dat za rok. V sestavách Power BI založených na úložišti se nepodporuje.
    • {yyyy}/{mm} jako čtyřmístný rok a dvouciferný měsíc exportované datové sady za účelem zachování nejnovějšího příjmu dat za měsíc.
    • {yyyy}/{mm}/{dd} jako čtyřmístný rok, dvouciferný měsíc a dvouciferný den exportované datové sady za účelem zachování nejnovějšího příjmu dat za den. V sestavách Power BI založených na úložišti se nepodporuje.
  • {scope-id-path} je plně kvalifikované ID prostředku oboru, ze které data pocházejí. Pokud ingestuje data mimo Azure, doporučujeme použít logickou hierarchii založenou na rozsahu dat (například aws/{account-id}, gcp/{project-name}, oci/{component-id}/{component-id}).
  • {ingestion-id} je jedinečné ID ingestované datové sady. Toto ID může být GUID, časové razítko nebo libovolná hodnota, pokud je konzistentní ve všech souborech pro načtenou datovou sadu. Tato hodnota slouží k odebrání dříve přijatých dat ve stejné cestě ke složce.
  • {original-file-name} má být původní název souboru nebo jiný identifikátor, který označuje, odkud data v souboru pocházejí. Tato hodnota je určená pouze pro účely řešení potíží.

Úplná cesta ke složce a ID příjmu dat se používají k zajištění, že data nejsou v úložišti nebo v Azure Data Exploreru duplicitní. Původní název souboru se přidá do rozsahů Azure Data Exploreru pro účely řešení potíží, ale jinak se nesleduje ani nepoužívá v centrech FinOps.

Pokud potřebujete k monitorování dat mimo Azure použít centra, převeďte je na FOCUS a pomocí těchto pokynů je převeďte do kontejneru pro příjem dat . Poznámka: Podpora dat mimo Azure nebyla explicitně testována v nejnovější verzi. Pokud dojde k nějakým problémům, vytvořte problém.


Informace o exportech

Centra FinOps využívají exporty služby Cost Management k získání nákladových dat. Cost Management řídí strukturu složek pro exportovaná data v kontejneru úložiště msexports . Typická cesta vypadá takto:

{container}/{path}/{date-range}/{export-name}/{export-time}/{guid}/{file}

Uzly FinOps využívají soubor manifestu k identifikaci rozsahu, datové sady, měsíce atd. Jedinou důležitou součástí cesty je kontejner, který musí být msexports.

Neexportujte data do kontejneru pro příjem dat . Exportované CSV soubory musí být publikovány do kontejneru msexports, aby je mohl zpracovat engine hubů.

Pokud chcete ingestovat vlastní data, uložte soubory Parquet do kontejneru příjmu dat, aby sestavy Power BI sady FinOps fungovaly podle očekávání. Po přidání všech souborů parquet přidejte prázdný soubormanifest.json pro aktivaci příjmu dat.

Pokud chcete ingestovat soubor CSV z exportů služby Cost Management, uložte soubory do konkrétní složky v kontejneru msexports . Po přidání všech souborů přidejte manifest.json soubor založený na následující šabloně. Proveďte následující změny, abyste zajistili úspěšné ingestování:

  1. Změňte <export-name> na jedinečnou hodnotu v rámci rozsahu datové sady, kterou ingestujete.
    • Používá se pouze pro doporučení k rozlišení mnoha různých typů přijatých doporučení, které není možné identifikovat jen na základě manifestu exportu. V případě doporučení pro rezervace ideálně uveďte službu, rozsah (jednotlivá/sdílená) a období retrospektivy.
  2. Změňte <dataset> a <version> na typ a verzi exportu služby Cost Management. Podporované datové sady najdete v následujícím seznamu.
  3. Změna <scope> ID prostředku Azure pro obor, ze který data pocházejí.
  4. Změňte <guid> jedinečný identifikátor GUID.
  5. Změňte <yyyy-MM> na rok a měsíc datové sady.
  6. Přejděte <path-to-file> na úplnou cestu ke složce v kontejneru (nezahrnujte "msexports").
  7. Změňte <file-name> název prvního souboru nahraného do úložiště.
  8. Pokud máte více než jeden soubor CSV, zkopírujte objekt blob pro každý soubor, který jste nahráli, a aktualizujte název souboru.
{
  "blobCount": 1,
  "dataRowCount": 1,
  "exportConfig": {
    "exportName": "<export-name>",
    "type": "<dataset>",
    "dataVersion": "<version>",
    "resourceId": "<scope>/providers/Microsoft.CostManagement/exports/export-name"
  },
  "runInfo": {
    "runId": "<guid>",
    "startDate": "<yyyy-MM>-01T00:00:00"
  },
  "blobs": [
    {
      "blobName": "<path-to-file>/<file-name>.csv"
    }
  ]
}

Rozbočovače FinOps podporují následující typy datových sad, verze a verze rozhraní API:

  • FocusCost: 1.0r2, 1.01.0-preview(v1)
  • Ceník: 2023-05-01
  • Detaily rezervace: 2023-03-01
  • Doporučení rezervace: 2023-05-01
  • RezervaceTransactions: 2023-05-01
  • Verze rozhraní API: 2023-07-01-preview

FinOps Hubs v0.6

Následující části popisují proces dat ve službě FinOps Hubs 0.6.

Nastavení rozsahu ve verzi 0.6

K následujícím krokům dochází při přidání nového spravovaného oboru do instance centra. Nespravované obory (kde jsou exporty služby Cost Management ručně nakonfigurované) nevyžadují žádné nastavení v centrech.

  1. Trigger config_SettingsUpdated se spustí při aktualizaci souboru settings.json .
  2. Kanál config_ConfigureExports vytvoří nové exporty pro všechny přidané nové obory.

Příjem dat ve verzi 0.6

Příjem dat je možné rozdělit do dvou částí:

  1. Exporty přenášejí data do úložiště.
  2. Centra zpracovávají a ingestují data.

V případě spravovaných oborů provádí centra následující kroky:

  1. Triggery config_DailySchedule a config_MonthlySchedule se spouštějí podle příslušných plánů, aby zahájily příjem dat.
  2. Kanál config_StartExportProcess získá příslušné exporty pro plán, který je spuštěný.
  3. Kanál config_RunExportJobs provede každý z vybraných exportů.
  4. Cost Management exportuje nezpracované podrobnosti nákladů do kontejneru msexports . Další informace.
  5. Kanál msexports_ExecuteETL zařadí kanál etL (extract-transform-load) do fronty při přidání souborů do kontejneru msexports .
  6. Kanál msexports_ETL_ingestion transformuje data do formátu parquet a přesune je do kontejneru příjmu dat pomocí škálovatelné struktury souborů. Další informace.
  7. Power BI nebo jiné nástroje čtou data z kontejneru pro příjem .

Po spuštění exportu, ať už spravovaného nebo nespravovaného, provádějí centra následující kroky:

  1. Kanál msexports_ExecuteETL zahájí proces extrakce, transformace a načítání (ETL), když jsou soubory přidány do úložiště.
  2. Kanál msexports_ETL_ingestion transformuje data do formátu parquet a přesune je do kontejneru příjmu dat pomocí škálovatelné struktury souborů. Další informace.
  3. Power BI nebo jiné nástroje čtou data z kontejneru pro příjem .

Příjem dat ve verzi 0.6

Centra FinOps spoléhají na konkrétní cestu ke složce a formát názvu souboru v kontejneru pro příjem dat :

ingestion/{dataset}/{date-folder-path}/{scope-id-path}/{ingestion-id}__{original-file-name}.parquet
  • ingestion je kontejner, do kterého datový kanál ukládá data.
  • {dataset} je exportovaný typ datové sady.
  • {date-folder-path} může to být jedna nebo více složek, které označují, kolik přijatých datových sad by se mělo zachovat. Příklady:
    • all (nebo jakýkoli zástupný symbol) pro nesledování historie datové sady. Každý příjem dat nahradí předchozí data. V sestavách Power BI založených na úložišti se nepodporuje.
    • {yyyy} jako čtyřmístný rok exportované datové sady, aby se zachoval pouze nejnovější příjem dat za rok. V sestavách Power BI založených na úložišti se nepodporuje.
    • {yyyy}/{mm} jako čtyřmístný rok a dvouciferný měsíc exportované datové sady za účelem zachování nejnovějšího příjmu dat za měsíc.
    • {yyyy}/{mm}/{dd} jako čtyřmístný rok, dvouciferný měsíc a dvouciferný den exportované datové sady za účelem zachování nejnovějšího příjmu dat za den. V sestavách Power BI založených na úložišti se nepodporuje.
  • {scope-id-path} je plně kvalifikované ID prostředku oboru, ze které data pocházejí. Pokud ingestuje data mimo Azure, doporučujeme použít logickou hierarchii založenou na rozsahu dat (například "aws/{account-id}", "gcp/{název_projektu}", "oci/{component-id}/{component-id}}").
  • {ingestion-id} je jedinečné ID ingestované datové sady. Toto ID může být GUID, časové razítko nebo libovolná hodnota, pokud je konzistentní ve všech souborech pro načtenou datovou sadu. Tato hodnota slouží k odebrání dříve přijatých dat ve stejné cestě ke složce.
  • {original-file-name} má být původní název souboru nebo jiný identifikátor, který označuje, odkud data v souboru pocházejí. Tato hodnota je určená pouze pro účely řešení potíží.

Úplná cesta ke složce a ID příjmu dat se používají k zajištění, že data nejsou v úložišti nebo v Azure Data Exploreru duplicitní. Původní název souboru se přidá do rozsahů Azure Data Exploreru pro účely řešení potíží, ale jinak se nesleduje ani nepoužívá v centrech FinOps.

Pokud potřebujete k monitorování dat mimo Azure použít centra, převeďte je na FOCUS a pomocí těchto pokynů je převeďte do kontejneru pro příjem dat . Poznámka: Podpora dat mimo Azure nebyla explicitně testována v nejnovější verzi. Pokud dojde k nějakým problémům, vytvořte problém.


Informace o exportech ve verzi 0.6

Centra FinOps používají exporty služby Cost Management k získání dat o nákladech. Cost Management řídí strukturu složek pro exportovaná data v kontejneru msexports . Typická cesta vypadá takto:

{container}/{path}/{date-range}/{export-name}/{export-time}/{guid}/{file}

Od verze 0.4 se centra FinOps nespoléhají na cesty k souborům. Rozbočovače využívají soubor manifestu k určení rozsahu, datové sady, měsíce atd. Jedinou důležitou součástí cesty pro rozbočovače je kontejner, a musí být msexports.

Varování

  • Neexportujte data do kontejneru pro příjem dat . Exportované CSV soubory musí být publikovány do kontejneru msexports, aby je mohl zpracovat engine hubů.
  • Chcete-li ingestovat vlastní data, uložte soubory Parquet zarovnané s FOCUSem do kontejneru pro ingestování, aby sestavy Power BI sady FinOps fungovaly podle očekávání.

Manifesty exportu se můžou měnit s verzemi rozhraní API. Tady je příklad verze rozhraní API 2023-07-01-preview:

{
  "exportConfig": {
    "exportName": "<export-name>",
    "resourceId": "/<scope>/providers/Microsoft.CostManagement/exports/<export-name>",
    "dataVersion": "<dataset-version>",
    "apiVersion": "<api-version>",
    "type": "<dataset-type>",
    "timeFrame": "OneTime|TheLastMonth|MonthToDate",
    "granularity": "Daily"
  },
  "deliveryConfig": {
    "partitionData": true,
    "dataOverwriteBehavior": "CreateNewReport|OverwritePreviousReport",
    "fileFormat": "Csv",
    "containerUri": "<storage-resource-id>",
    "rootFolderPath": "<path>"
  },
  "runInfo": {
    "executionType": "Scheduled",
    "submittedTime": "2024-02-03T18:33:03.1032074Z",
    "runId": "af754a8e-30fc-4ef3-bfc6-71bd1efb8598",
    "startDate": "2024-01-01T00:00:00",
    "endDate": "2024-01-31T00:00:00"
  },
  "blobs": [
    {
      "blobName": "<path>/<export-name>/<date-range>/<export-time>/<guid>/<file-name>.<file-type>",
      "byteCount": ###
    }
  ]
}

Centra FinOps používají následující vlastnosti:

  • exportConfig.resourceId určit rozsah.
  • exportConfig.type k identifikaci typu datové sady.
  • exportConfig.dataVersion k identifikaci verze datové sady.
  • runInfo.startDate k identifikaci exportovaného měsíce.

Rozbočovače FinOps podporují následující typy datových sad, verze a verze rozhraní API:

  • FocusCost: 1.0, 1.0-preview(v1)
  • Ceník: 2023-05-01
  • Detaily rezervace: 2023-03-01
  • Doporučení rezervace: 2023-05-01
  • RezervaceTransactions: 2023-05-01
  • Verze rozhraní API: 2023-07-01-preview

FinOps Hubs v0.4-0.5

Následující informace popisují, jak se data zpracovávají ve službě FinOps Hubs v0.4 a v0.5.

Nastavení oboru ve verzi 0.4-0.5

  1. Trigger config_SettingsUpdated se spustí při aktualizaci souboru settings.json .
  2. Kanál config_ConfigureExports vytvoří nové exporty pro všechny přidané nové obory.

Příjem dat ve verzi 0.4-0.5

Pro spravované obory:

  1. Triggery config_DailySchedule a config_MonthlySchedule se spouštějí podle příslušných plánů, aby zahájily příjem dat.
  2. Kanál config_ExportData získá příslušné exporty pro plán, který běží.
  3. Kanál config_RunExports spustí každý z vybraných exportů.
  4. Cost Management exportuje nezpracované podrobnosti nákladů do kontejneru msexports . Další informace naleznete v tématu o exportech v04-05.

Po dokončení exportu pro spravované i nespravované obory:

  1. Kanál msexports_ExecuteETL zahájí proces extrakce, transformace a načítání (ETL), když jsou soubory přidány do úložiště.
  2. Kanál msexports_ETL_ingestion transformuje data do standardního schématu a uloží nezpracovaná data ve formátu Parquet do kontejneru ingestion. Další informace najdete v tématu o příjmu dat v04-05.
  3. Power BI čte data nákladů z kontejneru ingestion.

Příjem dat ve verzi 0.4-0.5

Rozbočovače FinOps spoléhají na konkrétní cestu ke složce v kontejneru ingestion:

ingestion/{dataset}/{yyyy}/{mm}/{scope-id}
  • ingestion je kontejner, do kterého datový kanál ukládá data.
  • {dataset} je exportovaný typ datové sady.
  • {month} je rok a měsíc exportovaných dat formátovaných jako yyyyMM.
  • {scope-id} očekává se, že se jedná o plně kvalifikované ID prostředku oboru, ze které data pocházejí.

Pokud potřebujete k monitorování dat mimo Azure použít rozbočovače, převeďte je na FOCUS a přesuňte je do kontejneru pro příjem dat . Tento proces nebyl explicitně testován v nejnovější verzi. Pokud dojde k nějakým problémům, vytvořte problém.

Informace o exportech ve verzi 0.4-0.5

Centra FinOps používají exporty služby Cost Management k získání dat o nákladech. Cost Management řídí strukturu složek pro exportovaná data v kontejneru msexports . Typická cesta vypadá takto:

{container}/{path}/{date-range}/{export-name}/{export-time}/{guid}/{file}

Od verze 0.4 se centra FinOps nespoléhají na cesty k souborům. Centra využívají soubor manifestu k identifikaci oboru, datové sady, měsíce atd. Jedinou důležitou součástí cesty pro rozbočovače je kontejner, který musí být nastaven jako msexports.

Poznámka:

Neexportujte data do kontejneru pro příjem dat . Exportované CSV soubory musí být publikovány do kontejneru msexports, aby je mohl zpracovat engine hubů.

Chcete-li ingestovat vlastní data, uložte soubory Parquet zarovnané s FOCUSem do kontejneru pro ingestování, aby sestavy Power BI sady FinOps fungovaly podle očekávání.

Manifesty exportu se můžou měnit s verzemi rozhraní API. Tady je příklad verze rozhraní API 2023-07-01-preview:

{
  "exportConfig": {
    "exportName": "<export-name>",
    "resourceId": "/<scope>/providers/Microsoft.CostManagement/exports/<export-name>",
    "dataVersion": "<dataset-version>",
    "apiVersion": "<api-version>",
    "type": "<dataset-type>",
    "timeFrame": "OneTime|TheLastMonth|MonthToDate",
    "granularity": "Daily"
  },
  "deliveryConfig": {
    "partitionData": true,
    "dataOverwriteBehavior": "CreateNewReport|OverwritePreviousReport",
    "fileFormat": "Csv",
    "containerUri": "<storage-resource-id>",
    "rootFolderPath": "<path>"
  },
  "runInfo": {
    "executionType": "Scheduled",
    "submittedTime": "2024-02-03T18:33:03.1032074Z",
    "runId": "af754a8e-30fc-4ef3-bfc6-71bd1efb8598",
    "startDate": "2024-01-01T00:00:00",
    "endDate": "2024-01-31T00:00:00"
  },
  "blobs": [
    {
      "blobName": "<path>/<export-name>/<date-range>/<export-time>/<guid>/<file-name>.csv",
      "byteCount": ###
    }
  ]
}

Centra FinOps používají následující vlastnosti:

  • exportConfig.resourceId určit rozsah.
  • exportConfig.type k identifikaci typu datové sady.
  • exportConfig.dataVersion k identifikaci verze datové sady.
  • runInfo.startDate k identifikaci exportovaného měsíce.

Rozbočovače FinOps podporují následující typy datových sad, verze a verze rozhraní API:

  • FocusCost: 1.0, 1.0-preview(v1)
  • Ceník: 2023-05-01
  • Detaily rezervace: 2023-03-01
  • Doporučení rezervace: 2023-05-01
  • RezervaceTransactions: 2023-05-01
  • Verze rozhraní API: 2023-07-01-preview

FinOps Hubs v0.2-0.3

Následující kroky popisují proces exportu a zpracování nákladových dat pomocí center FinOps verze 0.2-0.3:

  1. Cost Management exportuje nezpracované podrobnosti nákladů do kontejneru msexports .
  2. Kanál msexports_ExecuteETL zahájí proces extrakce, transformace a načítání (ETL), když jsou soubory přidány do úložiště.
  3. Kanál msexports_ETL_ingestion ukládá exportovaná data ve formátu Parquet v kontejneru ingestion.
  4. Power BI čte data nákladů z kontejneru ingestion.

Centra FinOps 0.2-0.3 používají cestu exportu k určení exportovaného oboru a měsíce. Tento bod je důležitý, protože aktualizace trasy mohou přerušit datové kanály. Pokud se chcete tomuto problému vyhnout, doporučujeme aktualizovat centrum FinOps 0.4. Očekávaná cesta by měla napodobovat:

msexports/{scope-id}/{export-name}/{date-range}/{export-time}/{guid}/{file}
  • msexports je kontejner určený pro export.
  • {scope-id} je cesta ke složce zadaná při exportu.

    Hubs 0.3 a starší to používají pro identifikaci rozsahu, ze kterého data pocházejí. Doporučujeme použít ID oboru, ale můžete použít libovolnou hodnotu. Mezi příklady identifikátorů rozsahu patří:

    Typ oboru Příklad hodnoty
    Předplatné /subscriptions/###
    Skupina prostředků /subscriptions/###/resourceGroups/###
    Fakturační účet /providers/Microsoft.Billing/billingAccounts/###
    Fakturační profil /providers/Microsoft.Billing/billingAccounts/###/billingProfiles/###
  • {export-name} je název exportu.

    Rozbočovače tuto složku ignorují.

  • {date-range} je časové období dat, která se exportují.

    Hubs 0.3 a starší používaly toto k identifikaci měsíce. Formát pro tuto složku je yyyyMMdd-yyyyMMdd. Hubs 0.4 místo toho používá manifest.

  • {export-time} je časové razítko spuštění exportu.

    Centra to ignorují. Formát pro tuto složku je yyyyMMddHHmm.

  • {guid} je jedinečný identifikátor GUID a není vždy k dispozici.

    Centra to ignorují. Cost Management tuto složku neobsahuje vždy. To, jestli je zahrnuté, závisí na verzi rozhraní API použité k vytvoření exportu.

  • {file} je buď manifest, nebo exportovaná data.

    Verze 0.3 a starší ignorují soubory manifestu a monitorují pouze soubory *.csv . V budoucí verzi budou centra monitorovat manifest.


FinOps Hubs v0.1

Následující kroky popisují proces exportu a zpracování nákladových dat pomocí center FinOps verze 0.1:

  1. Cost Management exportuje nezpracované podrobnosti nákladů do kontejneru msexports .
  2. Kanál msexports_transform uloží surová data ve formátu Parquet do kontejneru ingestion.
  3. Power BI čte data nákladů z kontejneru ingestion.

Váš názor

Dejte nám vědět, jak si vedeme, pomocí rychlé zpětné vazby. Tyto recenze používáme k vylepšení a rozšíření nástrojů a prostředků FinOps.

Pokud hledáte něco konkrétního, hlasujte pro existující nebo vytvořte nový nápad. Sdílejte nápady s ostatními, abyste získali více hlasů. Zaměřujeme se na nápady s nejvíce hlasy.