Megosztás a következőn keresztül:


Adatok feldolgozása a FinOps Hubsban

A FinOps Hubs számos adatfeldolgozási tevékenységet végez az adatok megtisztítása, normalizálása és optimalizálása érdekében. Az alábbi szakaszok bemutatják, hogyan áramlik az adat a Cost Managementből egy központi példányba.


Hatókör beállítása

A hatókör a felhőbeli erőforrás- és fiókhierarchián belüli szint, amely hozzáférést biztosít a költségekhez, a használathoz és a szén-dioxid-adatokhoz. A FinOps Hubs esetében általában Nagyvállalati Szerződés (EA) számlázási fiókok vagy Microsoft Ügyfélszerződés (MCA) számlázási profilok használatát javasoljuk, azonban minden felhőbeli hatókör elegendő az alapszintű elemzéshez. A fő probléma az, hogy szükség van-e ár- és foglalási adatokra, mivel a Cost Management csak az EA számlázási fiókok és az MCA számlázási profilok adatait teszi elérhetővé.

A FinOps Hubs támogatja a hatókörök konfigurálását a Cost Management-exportálás manuális konfigurálásával vagy a FinOps Hubs hozzáférésének biztosításával a hatókörök ön nevében történő kezeléséhez. A felügyelt hatókörök a központi tárolóban lévő config/settings.json fájlban vannak konfigurálva. Az információk azt írják le, hogy mi történik, ha új, felügyelt hatókört ad hozzá a fájlhoz. A nem felügyelt hatókörök, ahol a Cost Management-exportálások manuálisan vannak konfigurálva, nem igényelnek más beállításokat.

A hatókör beállítási folyamatát ábrázoló diagram.

  1. A config_SettingsUpdated eseményindító a settings.json fájl frissítésekor fut.
  2. A config_ConfigureExports folyamat új exportálásokat hoz létre a hozzáadott új hatókörökhöz.

Adatok betöltése

Az alábbi ábra a FinOps hubokon belüli végpontok közötti adatbetöltési folyamatot mutatja be:

Az adatbetöltési folyamatot ábrázoló diagram.

  1. (Nem kötelező) Felügyelt exportálások használata esetén:
    1. A config_DailySchedule és config_MonthlySchedule eseményindítók a megfelelő ütemezés szerint futnak az adatbetöltés elindításához.
    2. A config_StartExportProcess csővezeték megszerzi a jelenleg futó ütemezéshez tartozó megfelelő exportálásokat.
    3. A config_RunExportJobs folyamat minden egyes kijelölt exportálást végrehajt.
  2. A Cost Management nyers költségadatokat exportál az msexports-tárolóba . További információ.
  3. A msexports_ExecuteETL folyamat sorba állítja az ETL-folyamatot, amikor fájlokat ad hozzá az msexports tárolóhoz.
  4. A msexports_ETL_ingestion folyamat parquet formátumúra alakítja át az adatokat, és skálázható fájlstruktúra használatával áthelyezi az adatokat a betöltési tárolóba. További információ.
  5. (Nem kötelező) Ha az Azure Data Explorert használja:
    1. A ingestion_ExecuteETL folyamat sorba állítja a Data Explorer betöltési pipeline-ját, amikor manifest.json fájlokat adnak hozzá a betöltési tárolóhoz.
      • Ha egyéni adatkészleteket tölt be a Cost Management-exportáláson kívül, hozzon létre egy üres manifest.json fájlt a célbetöltési mappában, miután az összes többi fájl készen áll (ne adja hozzá ezt a fájlt, amikor a fájlok még feltöltés alatt állnak). A manifest.json fájl nincs elemezve, és üres is lehet. Az egyetlen cél az, hogy jelezze, hogy a betöltési feladat összes fájlja hozzá van adva.
      • Ha a fürt nem fut, a csővezeték elindítja. Az Azure Data Explorer indítása akár 15 percet is igénybe vehet.
    2. A ingestion_ETL_dataExplorer folyamat adatokat importál a Data Explorer {dataset}_raw táblájába.
      • Az adatkészlet neve a betöltési konténer első mappája.
      • Minden nyers tábla a Betöltési adatbázisban található az Adatfeltáróban.
    3. Amikor az adatok nyers táblákba kerülnek az Adatkezelőben, a frissítési szabályzat az adatokat a megfelelő {dataset}_final_v1_0 táblába másolja a {dataset}_transform_v1_0() függvénnyel, hogy normalizálja az összes adatot, hogy igazodjon a FOCUS 1.0-hoz.
    4. A betöltés után a ingestion_ETL_dataExplorer folyamat bizonyos törléseket hajt végre, beleértve az adatok törlését az adatmegőrzési időszakon túli utolsó táblában.
      • 0,7-es verziótól a Data Explorer a nyers táblákban alkalmazza az adatmegőrzést, míg a végső táblák esetében az adatmegőrzést a betöltési folyamat alkalmazza. Ha az adatbetöltés leáll, az előzményadatok nem törlődnek.
      • Az adatmegőrzés konfigurálható a sablon üzembe helyezése során, vagy manuálisan a konfigurációs/settings.json fájlban a tárolóban.
  6. Jelentések és egyéb eszközök, például a Power BI adatokat olvas a Data Explorer-ből vagy a betöltési tárolóból.
    • Az Data Explorer adatai a Hub-adatbázisból olvashatók.
      • Használja a függvényt {dataset}() a legújabb séma használatára.
        • Ez a függvény hasznos a gyors feltáráshoz, de a FinOps Hub-példány frissítésekor kompatibilitástörő változásokat eredményezhet.
      • Használja a {dataset}_v1_0() függvényt a FOCUS 1.0 séma alkalmazásához.
        • A verziószámozott függvényséma nem változhat az idő függvényében, de az értékek változhatnak, ha az adatforrás módosítja ezeket az értékeket.
      • Ne használja a betöltési adatbázist lekérdezésekhez. Bár kifejezetten nem tiltott, a betöltési adatbázist belső területnek kell tekinteni az előkészítéshez és az adatok előkészítéséhez.
    • A tárolóban lévő adatok ingestion/<dataset>/<year>/<month>/<scope-path> megolvashatók.
      • Az adatokat rekurzív módon kell beolvasni az adathalmaz mappájából, és igény szerint kiegészíthető további adatokkal a konkrétság érdekében.
      • Az egyes adathalmazmappákban lévő fájlok különböző sémákkal rendelkezhetnek az adatforrás és a fiók típusa alapján. Készüljön fel az adatok átalakítására, ha más rendszerekbe történő betöltésre kerül sor, például a Microsoft Fabric esetén.
      • A tárolóból való olvasás kerülendő teljesítménybeli okok miatt. Az Data Explorer ajánlott, ha több mint 1 millió dolláros költségről készít jelentést.

Tudnivalók az Adatfelderítő adatfogadásáról

Amikor adatokat tölt be az Adatkezelőbe, a {dataset}_transform_v1_0() függvények átalakító szabályokat alkalmaznak a betöltési adatbázisban. Minden adatkészlet más-más átalakítási szabályokkal rendelkezik, amelyeket a következő szakaszok fednek le.

A kért módosítások, a megfontolás alatt álló ötletek és a mögöttes Költségkezelési adatkészletekkel kapcsolatos nyitott kérdések listáját lásd a probléma #1111pontjában. Megjegyzéseket fűzhet arra a kérdésre, ha lehetőséget talál az esetleges problémák megoldására vagy bármely adott kérdés támogatására.

Költségadatok átalakítása

Támogatott adathalmazok:

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

Az alábbi adatkészletek a tervezés során lettek elszámolva, de natív módon nem támogatottak. Ezeknek az adathalmazoknak a betöltéséhez hozzon létre egy olyan adatfolyamot (vagy külső folyamatot), amely a parquet-fájlokat a tároló ingestion/Costs/yyyy/mm/{scope-path} mappájába küldi. A {scope-path} bármilyen egyedi elérési út lehet, például aws/123 vagy gcp/projects/foo. Az egyetlen követelmény, hogy minden hatókör külön mappában legyen. A külső tartalom másolása után hozzon létre egy manifest.json fájlt is, hogy aktiválja az Adatfeltáró betöltését.

  • 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

Átalakítja:

  • v0.7+:
    • A FÓKUSZ 1.0-előnézet oszlopneveinek igazítása a FOCUS 1.0-hoz.
      • Tartalmazza a FOCUS 1.0 előzetes verzió 1.0-ra való konvertálását.
    • Adjon hozzá x_IngestionTime a sor utolsó frissítésének időpontjához.
    • Adja hozzá x_SourceChanges annak azonosításához, amikor a hubok megváltoztatják a sor adatait.
    • Ha nincs megadva, frissítse ProviderName és PublisherName.
    • Adjon hozzá x_SourceName, x_SourceProvider, x_SourceTypeés x_SourceVersion az eredeti betöltött adatkészlet azonosításához.
    • Töltse ki a hiányzó ListCost, ListUnitPrice, ContractedCostés ContractedUnitPrice értékeket az árlista alapján.
      • Ehhez a folyamathoz az árakat a költség előtt kell exportálni. Az árak a hónap első napján hiányoznak, ha a költségek a hónapra vonatkozó árak rendelkezésre állása előtt kerülnek betöltésre.
    • Javítsa ki a ContractedCost-t, ha egy hiba miatt helytelenül van beállítva a Cost Managementben.
    • Kisbetűs ResourceName és x_ResourceGroupName a csoportosítást és szűrést megszakító burkolatkonzisztencia-problémák kezelésére.
    • Adjon hozzá x_BillingAccountAgreement a fiók típusa alapján.
  • v0.8+:
    • Javítsa ki a ResourceType belső erőforrástípusú azonosítókat (például microsoft.compute/virtualmachines) használó értékeket.
  • v0.9+:
    • Kisbetűvel BillingAccountId írva biztosíthatja, hogy az ár összekapcsolása megegyezik az összes sorral.
    • Kisbetűvel CommitmentDiscountId elkerülheti az ismétlődő sorokat az adatok összesítésekor.
    • Új x_SourceChanges ellenőrzések hozzáadása a következőhöz ListCostLessThanContractedCost : és ContractedCostLessThanEffectiveCost.
  • v0.10+:
    • Javítsa ki a x_EffectiveUnitPrice-t, ha kiszámítva eltérés van, és kerekítési hiba tapasztalható a x_BilledUnitPrice vagy ContractedUnitPrice értékekhez képest.
    • A PricingQuantity és a ConsumedQuantity kiszámítása, ha van költség, de nincs mennyiség.
    • Állítsa be ContractedCost és EffectiveCost , ha nincs beállítva.
    • Állítsa be ListCost és ContractedCost , ha nincs beállítva.
    • Távolítsa el a "-2" értéket az x_InvoiceSectionId oszlopból.
    • Távolítsa el a "Nincs hozzárendelve" elemet az x_InvoiceSectionName oszlopból.
    • Ki lett javítva x_EffectiveUnitPrice a számításkor, és kerekítési hibával rendelkezik.
    • Új x_SourceChanges ellenőrzések hozzáadása MissingConsumedQuantity, MissingPricingQuantity és XEffectiveUnitPriceRoundingError számára.
  • v0.11+:
    • Változtassa BillingPeriodStart és BillingPeriodEnd a hónap első napjára.
  • v12+:
    • A FOCUS 1.0 előzetes verziójú és az 1.0-s adatok konvertálása a FOCUS 1.2-be.
      • x_InvoiceId átnevezve erre: InvoiceId.
      • x_PricingCurrency átnevezve erre: PricingCurrency.
      • x_SkuMeterName átnevezve erre: SkuMeter.
      • Átalakítva a x_SkuDetails következővé SkuPriceDetails:
        • A kulcs a CoreCount hozzáadva a termékváltozat magjainak számához a következők alapján: x_SkuDetails.VCPUs, x_SkuDetails.VCores és x_SkuDetails.vCores.
        • Hozzáadott egy kulcsot a InstanceType termékváltozat méretéhez a x_SkuDetails.ServiceType és x_SkuDetails.ServerSku alapján.
        • VM operációs rendszer kulcsának hozzáadása OperatingSystem alapján x_SkuDetails.ImageType.
        • Az összes többi kulcs előtaggal van elnevezett x_.
    • Ha a Cost Management nem állítja be, az alábbi oszlopokat hajtják végre:
      • CapacityReservationId
      • CapacityReservationStatus
      • CommitmentDiscountQuantity
      • CommitmentDiscountUnit
      • x_CommitmentDiscountNormalizedRatio
    • Hozzáadva x_AmortizationClass az amortizált vásárlások kiszűréséhez és az ListCost és ContractedCost kettős számlálásának elkerüléséhez a megtakarítási számítások során.
    • Hozzáadva x_CommitmentDiscountUtilizationPotential és x_CommitmentDiscountUtilizationAmount a kötelezettségvállalási kedvezmény kihasználtságának kiszámításához.
    • Hozzáadva a x_SkuCoreCount és x_ConsumedCoreHours a cikkszám processzormagjainak száma és a magóra-szám alapján, a következőkkel: x_SkuDetails.VCPUs, x_SkuDetails.VCores, és x_SkuDetails.vCores.
    • A x_SkuInstanceType hozzáadva a SKU méretéhez a x_SkuDetails.ServiceType és a x_SkuDetails.ServerSku alapján.
    • Hozzáadva x_SkuOperatingSystem az operációs rendszerhez a virtuális gépen x_SkuDetails.ImageType alapján.
    • Hozzáadott Azure Hybrid Benefit-oszlopok:
      • x_SkuLicenseQuantity
      • x_SkuLicenseStatus
      • x_SkuLicenseType
      • x_SkuLicenseUnit
    • Hozzáadott kedvezmény- és megtakarítási oszlopok:
      • x_NegotiatedDiscountSavings
      • x_CommitmentDiscountSavings
      • x_TotalSavings
      • x_NegotiatedDiscountPercent
      • x_CommitmentDiscountPercent
      • x_TotalDiscountPercent
    • Hozzáadva x_SourceValues az adatváltozások nyomon követéséhez a betöltés során.

Áradat-átalakítások

Támogatott adathalmazok:

  • Microsoft PriceSheet: 2023-05-01 (EA és MCA)

Átalakítja:

  • v0.7+
    • Az oszlopnevek igazítása a FOCUS 1.0-hoz.
      • Ide tartozik az EA és az MCA oszlopnév konzisztenciájának kényszerítése.
      • Nem módosítja a mögöttes értékeket, amelyek az EA és az MCA között eltérhetnek.
    • Az ISO-időtartamot a költségek részleteinek megfelelően alakítsa x_SkuTerm át adott számú hónapra.
      • Várjuk, hogy a FOCUS meghatározza az időtartamok meghatározását, mielőtt ezt az értéket ISO-ra vagy más formátumra módosítaná.
    • Cserélje le a megtakarítási terv használatra szánt ContractedUnitPrice igény szerinti megfelelőjére.
    • Állítsa be a ListUnitPrice úgy, hogy a megtakarítási terv használata az igény szerinti megfelelőjének feleljen meg.
    • Adja hozzá a SkuPriceIdv2 elemet pontosabb SkuPriceId értékként, mint ami jelenleg a költségadatokban szerepel.
    • Adjon hozzá x_IngestionTime a sor utolsó frissítésének időpontjához.
    • x_CommitmentDiscountSpendEligibility és x_CommitmentDiscountUsageEligibilityhozzáadása.
    • Bontsa ki x_PricingUnitDescription-t PricingUnit-re és x_PricingBlockSize-re.
    • Adjon hozzá x_BillingAccountAgreement a fiók típusa alapján.
    • Módosítsa a x_EffectivePeriodEnd egy kizárólagos befejezési dátumra.
    • Adjon hozzá x_EffectiveUnitPriceDiscount, x_ContractedUnitPriceDiscountés x_TotalUnitPriceDiscount az elérhető kedvezmények termékváltozatonkénti összegzéséhez.
    • Adjon hozzá x_EffectiveUnitPriceDiscountPercent, x_ContractedUnitPriceDiscountPercentés x_TotalUnitPriceDiscountPercent a kedvezmény termékváltozatonkénti százalékos arányának összegzéséhez.
    • Adjon hozzá x_SourceName, x_SourceProvider, x_SourceTypeés x_SourceVersion az eredeti betöltött adatkészlet azonosításához.
  • v0.9+:
    • Kisbetűvel írja BillingAccountId, hogy a költségek illesztése megfeleljen az összes sornak.
  • v12+:
    • Oszlopnevek igazítása a FOCUS 1.2-hez:
      • x_PricingCurrency átnevezve erre: PricingCurrency.
      • x_SkuMeterName átnevezve erre: SkuMeter.
    • Amikor a Cost Management nem állítja be, a következő oszlopokat valósította meg:
      • CommitmentDiscountUnit

Ajánlási adatátalakítások

Támogatott adathalmazok:

  • Microsoft Foglalási Ajánlások: 2023-05-01 (EA és MCA)

Átalakítja:

  • v0.7+:
    • Az oszlopnevek igazítása a FOCUS 1.0-hoz.
      • Ide tartozik az EA és az MCA oszlopnév konzisztenciájának kényszerítése.
      • Nem módosítja a mögöttes értékeket, amelyek az EA és az MCA között eltérhetnek.
    • Adjon hozzá x_SourceName, x_SourceProvider, x_SourceTypeés x_SourceVersion az eredeti betöltött adatkészlet azonosításához.

Tranzakciós adatátalakítások

Támogatott adathalmazok:

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

Átalakítja:

  • v0.7+:
    • Az oszlopnevek igazítása a FOCUS 1.0-hoz.
      • Ide tartozik az EA és az MCA oszlopnév konzisztenciájának kényszerítése.
      • Nem módosítja a mögöttes értékeket, amelyek az EA és az MCA között eltérhetnek.
    • Adjon hozzá x_SourceName, x_SourceProvider, x_SourceTypeés x_SourceVersion az eredeti betöltött adatkészlet azonosításához.
  • v12+:
    • Oszlopnevek igazítása a FOCUS 1.2-hez:
      • x_InvoiceId átnevezve erre: InvoiceId.

Kötelezettségvállalási kedvezmény használati adatainak átalakítása

Támogatott adathalmazok:

  • Microsoft Foglalási részletek: 2023-03-01 (EA és MCA)

Átalakítja:

  1. Az oszlopnevek igazítása a FOCUS 1.0-hoz.
    • Ide tartozik az EA és az MCA oszlopnév konzisztenciájának kényszerítése.
    • Nem módosítja a mögöttes értékeket, amelyek az EA és az MCA között eltérhetnek.
  2. Adjon hozzá ResourceType oszlopot az erőforrástípus megjelenítendő nevével.
  3. Adjon hozzá ServiceName, ServiceCategoryés x_ServiceModel oszlopokat.
  4. Cserélje le a "NA" értéket "null"-ra x_CommitmentDiscountNormalizedGroupesetében.
  5. A x_CommitmentDiscountQuantity hozzáadása a FOCUS 1.1 alapján.

Tudnivalók a beviteli tárolóról

A FinOps Hubs egy adott mappa elérési útjára és fájlnévformátumára támaszkodik a betöltési tárolóban:

ingestion/{dataset}/{date-folder-path}/{scope-id-path}/{ingestion-id}__{original-file-name}.parquet
  • ingestion az a tároló, ahol az adattovábbító folyamat adatokat ment.
  • {dataset} az exportált adatkészlet típusa. Az Azure Data Explorerbe történő adatbevitelkor az Ingestion adatbázisnak rendelkeznie kell egy megfelelő, kis- és nagybetűkre érzékeny "_raw" táblával (például "Costs_raw"). A FinOps Hubs a következő adatkészleteket támogatja ebben a kiadásban:
    • CommitmentDiscountUsage – Költséggazdálkodási foglalás részleteinek exportálása.
    • Költségek – FÓKUSZ költség- és használati adatok.
    • Árak – Költségkezelő árlista exportálása.
    • Javaslatok: költségkezelési foglalási javaslatok exportálása.
    • Tranzakciók – Költségkezelési foglalási tranzakciók exportálása.
    • Egyéni adathalmazok betöltéséhez hozzon létre egy megfelelő {dataset}_raw táblázatot és parquet betöltési leképezést a Betöltési adatbázisban.
  • {date-folder-path} lehet egy vagy több mappa, amely azt jelzi, hogy hány betöltött adathalmazt kell megőrizni. Példák:
    • all (vagy bármely helyőrző) ne kövesse az adathalmaz előzményeit. Minden betöltés felülírja az előző adatokat. A Power BI tárolóalapú jelentései nem támogatottak.
    • {yyyy} az exportált adatkészlet négyjegyű éveként, hogy évente csak a legújabb betöltési adatokat őrizze meg. A Power BI tárolóalapú jelentései nem támogatottak.
    • {yyyy}/{mm} egy négyjegyű évből és kétjegyű hónapból álló formátumban az exportált adatkészlethez, hogy havonta megőrizze a legújabb betöltési adatokat.
    • {yyyy}/{mm}/{dd} olyan formában, mint a négyjegyű év, kétjegyű hónap és kétjegyű nap az exportált adathalmazban, hogy megőrizze a napi legújabb adatbevitelt. A Power BI tárolóalapú jelentései nem támogatottak.
  • {scope-id-path} a hatókör teljes erőforrás-azonosítója, ahonnan az adatok származnak. Ha nem Azure-beli adatokat használ, javasoljuk, hogy az adatok hatóköre alapján használjon logikai hierarchiát (például aws/{account-id}: , gcp/{project-name}). oci/{component-id}/{component-id}
  • {ingestion-id} a betöltött adatkészlet egyedi azonosítója. Ez az azonosító lehet GUID, időbélyeg vagy bármilyen érték, feltéve, hogy konzisztens a betöltött adatkészlet összes fájljában. Ez az érték arra szolgál, hogy eltávolítsa a korábban betöltött adatokat ugyanabban a mappaelérési útvonalban.
  • {original-file-name} eredeti fájlnévnek vagy más azonosítónak szánták, amely jelzi, hogy a fájl adatai honnan származnak. Ez az érték csak hibaelhárítási célokra szolgál.

A teljes mappa elérési útja és a betöltési azonosító egyaránt arra szolgál, hogy az adatok ne duplikálva legyenek a tárolóban vagy az Azure Data Explorerben. Az eredeti fájlnév hibaelhárítási célokra hozzáadódik az Azure Data Explorerhez, de a FinOps Hubs más módon nem követi vagy használja.

Ha központokat kell használnia a nem Azure-beli adatok monitorozására, konvertálja az adatokat FOCUS-ra, és helyezze át a betöltési tárolóba ezen útmutató szerint. Vegye figyelembe, hogy a nem Azure-beli adatok támogatása nem lett explicit módon tesztelve a legújabb kiadásban. Ha bármilyen problémát tapasztal, hozzon létre egy problémát.


Tudnivalók az exportálásról

A FinOps Hubs a Cost Management-exportálások használatával szerzi be a költségadatokat. A Cost Management szabályozza az exportált adatok mappastruktúráját az msexports tárolóban. Egy tipikus elérési út a következőképpen néz ki:

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

A FinOps Hubs a jegyzékfájlt használja a hatókör, az adatkészlet, a hónap stb. azonosítására. A hubok elérési útjának egyetlen fontos része a tároló, amelynek msexportskell lennie.

Ne exportáljon adatokat a betöltési tárolóba. Az exportált CSV-eket közzé kell tenni az msexports tárolóban, hogy a központi motor feldolgozhassa.

Ha egyéni adatokat szeretne betölteni, mentse a parquet fájlokat a FinOps eszközkészlet Power BI jelentéseinek betöltési tárolójába, hogy azok a várt módon működjenek. Az összes parquet-fájl hozzáadása után adjon hozzá egy üres manifest.json fájlt a betöltés aktiválásához.

A CSV fájlok betöltéséhez a Cost Management exportjaiból, mentse a fájlokat az msexports tároló egy mappájába. Az összes fájl hozzáadása után adjon hozzá egy manifest.json fájlt az alábbi sablon alapján. Végezze el a következő módosításokat a sikeres betöltés érdekében:

  1. Módosítsa <export-name> egyedi értékre a beolvasandó adathalmaz számára rendelkezésre álló hatókörön belül.
    • Ez csak arra szolgál, hogy megkülönböztesse azokat a különböző típusú ajánlásokat, amelyek felvétele során nem azonosíthatók önmagukban az exportálási jegyzékből. Foglalási javaslatok esetén ideális esetben tartalmazza a szolgáltatást, a hatókört (egyetlen/megosztott) és a visszatekintési időszakot.
  2. Módosítsa a <dataset> és <version> elemeket a Cost Management exportálási típusára és verziójára. A támogatott adathalmazok listáját az alábbi listában találja.
  3. Módosítsa <scope> az Azure-erőforrás-azonosítót arra a hatókörre, amelyből az adatok származnak.
  4. Cserélje <guid> egyedi GUID-ra.
  5. Módosítsa <yyyy-MM> az adathalmaz évére és hónapjára.
  6. Váltson <path-to-file> a tároló alatti teljes mappa elérési útjára (ne tartalmazza az "msexports" szöveget).
  7. Váltson <file-name> a tárba feltöltött első fájl nevére.
  8. Ha több CSV-fájllal rendelkezik, másolja ki a blobobjektumot minden feltöltött fájlhoz, és frissítse a fájl nevét.
{
  "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"
    }
  ]
}

A FinOps Hubs az alábbi adathalmaztípusokat, -verziókat és API-verziókat támogatja:

  • FocusCost: 1.0r2, , 1.01.0-preview(v1)
  • Árlista: 2023-05-01
  • Foglalás részletei: 2023-03-01
  • FoglalásiAjánlások: 2023-05-01
  • Foglalási tranzakciók: 2023-05-01
  • API-verziók: 2023-07-01-preview

FinOps Hubs v0.6

Az alábbi szakaszok a FinOps Hubs 0.6-os adatfolyamatait ismertetik.

Hatókör beállítása a 0.6-os verzióban

A következő lépések akkor következnek be, ha egy új, felügyelt hatókört adnak hozzá egy központi példányhoz. A nem felügyelt hatókörök (ahol a Cost Management-exportálások manuálisan vannak konfigurálva) nem igényelnek telepítést a központokban.

  1. A config_SettingsUpdated eseményindító a settings.json fájl frissítésekor fut.
  2. A config_ConfigureExports folyamat új exportálásokat hoz létre a hozzáadott új hatókörökhöz.

Adatbetöltés a 0.6-os verzióban

Az adatbetöltés két részre bontható:

  1. Leküldéses adatokat exportál a tárolóba.
  2. A Hubs feldolgozza és befogadja az adatokat.

A kezelt hatókörök esetében a hubok a következő lépéseket hajtják végre:

  1. A config_DailySchedule és config_MonthlySchedule eseményindítók a megfelelő ütemezés szerint futnak az adatbetöltés elindításához.
  2. A config_StartExportProcess csővezeték megszerzi a jelenleg futó ütemezéshez tartozó megfelelő exportálásokat.
  3. A config_RunExportJobs folyamat minden egyes kijelölt exportálást végrehajt.
  4. A Cost Management nyers költségadatokat exportál az msexports-tárolóba . További információ.
  5. A msexports_ExecuteETL folyamat sorba állítja az ETL-folyamatot, amikor fájlokat ad hozzá az msexports tárolóhoz.
  6. A msexports_ETL_ingestion folyamat parquet formátumúra alakítja át az adatokat, és skálázható fájlstruktúra használatával áthelyezi az adatokat a betöltési tárolóba. További információ.
  7. A Power BI vagy más eszközök adatokat olvasnak be a betöltési tárolóból.

Az exportok futtatását követően, legyenek azok felügyeltek vagy sem, a hubok a következő lépéseket hajtják végre:

  1. A msexports_ExecuteETL folyamat elindítja a kinyerési-átalakítási-betöltési (ETL) folyamatot, amikor fájlokat adnak hozzá a tárolóhoz.
  2. A msexports_ETL_ingestion folyamat parquet formátumúra alakítja át az adatokat, és skálázható fájlstruktúra használatával áthelyezi az adatokat a betöltési tárolóba. További információ.
  3. A Power BI vagy más eszközök adatokat olvasnak be a betöltési tárolóból.

Tudnivalók a 0.6-os verzióban való adatbevitelről

A FinOps Hubs a betöltési tárolóban egy adott mappa elérési útjára és fájlnévformátumára támaszkodik:

ingestion/{dataset}/{date-folder-path}/{scope-id-path}/{ingestion-id}__{original-file-name}.parquet
  • ingestion az a tároló, ahol az adattovábbító folyamat adatokat ment.
  • {dataset} az exportált adatkészlet típusa.
  • {date-folder-path} lehet egy vagy több mappa, amely azt jelzi, hogy hány betöltött adathalmazt kell megőrizni. Példák:
    • all (vagy bármely helyőrző) ne kövesse az adathalmaz előzményeit. Minden betöltés felülírja az előző adatokat. A Power BI tárolóalapú jelentései nem támogatottak.
    • {yyyy} az exportált adatkészlet négyjegyű éveként, hogy évente csak a legújabb betöltési adatokat őrizze meg. A Power BI tárolóalapú jelentései nem támogatottak.
    • {yyyy}/{mm} egy négyjegyű évből és kétjegyű hónapból álló formátumban az exportált adatkészlethez, hogy havonta megőrizze a legújabb betöltési adatokat.
    • {yyyy}/{mm}/{dd} olyan formában, mint a négyjegyű év, kétjegyű hónap és kétjegyű nap az exportált adathalmazban, hogy megőrizze a napi legújabb adatbevitelt. A Power BI tárolóalapú jelentései nem támogatottak.
  • {scope-id-path} a hatókör teljes erőforrás-azonosítója, ahonnan az adatok származnak. Nem Azure-beli adatok betöltésekor az adatok hatókörén alapuló logikai hierarchiát javasoljuk (például "aws/{account-id}", "gcp/{project-name}", "oci/{component-id}/{component-id}").
  • {ingestion-id} a betöltött adatkészlet egyedi azonosítója. Ez az azonosító lehet GUID, időbélyeg vagy bármilyen érték, feltéve, hogy konzisztens a betöltött adatkészlet összes fájljában. Ez az érték arra szolgál, hogy eltávolítsa a korábban betöltött adatokat ugyanabban a mappaelérési útvonalban.
  • {original-file-name} eredeti fájlnévnek vagy más azonosítónak szánták, amely jelzi, hogy a fájl adatai honnan származnak. Ez az érték csak hibaelhárítási célokra szolgál.

A teljes mappa elérési útja és a betöltési azonosító egyaránt arra szolgál, hogy az adatok ne duplikálva legyenek a tárolóban vagy az Azure Data Explorerben. Az eredeti fájlnév hibaelhárítási célokra hozzáadódik az Azure Data Explorerhez, de a FinOps Hubs más módon nem követi vagy használja.

Ha központokat kell használnia a nem Azure-beli adatok monitorozására, konvertálja az adatokat FOCUS-ra, és helyezze át a betöltési tárolóba ezen útmutató szerint. Vegye figyelembe, hogy a nem Azure-beli adatok támogatása nem lett explicit módon tesztelve a legújabb kiadásban. Ha bármilyen problémát tapasztal, hozzon létre egy problémát.


Az exportálások ismertetése a 0.6-os verzióban

A FinOps Hubs Cost Management-exportálásokkal szerzi be a költségadatokat. A Cost Management az msexports-tárolóban lévő exportált adatok mappastruktúráját szabályozza. Egy tipikus elérési út a következőképpen néz ki:

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

0.4-től a FinOps központok nem támaszkodnak a fájlelérési utakra. A hubok a jegyzékfájlt használják a hatókör, az adatkészlet, a hónap stb. azonosítására. A hubok elérési útjának egyetlen fontos része a tároló, amelynek msexportoknak kell lenniük.

Figyelmeztetés

  • Ne exportáljon adatokat a betöltési tárolóba. Az exportált CSV-eket közzé kell tenni az msexports tárolóban, hogy a központi motor feldolgozhassa.
  • Az egyéni adatok betöltéséhez mentse a FOCUS-hoz igazított parquet fájlokat a betöltési tárolóba, hogy a FinOps eszközkészlet Power BI-jelentései a várt módon működjenek.

Az exportálási jegyzékek api-verziókkal változhatnak. Íme egy példa az API-verzióval 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": ###
    }
  ]
}

A FinOps hubok a következő tulajdonságokat használják:

  • exportConfig.resourceId a hatókör azonosításához.
  • exportConfig.type az adathalmaz típusának azonosításához.
  • exportConfig.dataVersion az adathalmaz verziójának azonosításához.
  • runInfo.startDate az exportált hónap azonosításához.

A FinOps Hubs az alábbi adathalmaztípusokat, -verziókat és API-verziókat támogatja:

  • FocusCost: 1.0, 1.0-preview(v1)
  • Árlista: 2023-05-01
  • Foglalás részletei: 2023-03-01
  • FoglalásiAjánlások: 2023-05-01
  • Foglalási tranzakciók: 2023-05-01
  • API-verziók: 2023-07-01-preview

FinOps Hubs v0.4-0.5

Az alábbi információk azt ismertetik, hogyan történik az adatok feldolgozása a FinOps Hubs 0.4-ben és 0.5-ös verzióban.

Hatókör beállítása a 0.4-0.5-ös verzióban

  1. A config_SettingsUpdated eseményindító a settings.json fájl frissítésekor fut.
  2. A config_ConfigureExports folyamat új exportálásokat hoz létre a hozzáadott új hatókörökhöz.

Adatbetöltés a 0.4-0.5-ös verzióban

Felügyelt hatókörök esetén:

  1. A config_DailySchedule és config_MonthlySchedule eseményindítók a megfelelő ütemezés szerint futnak az adatbetöltés elindításához.
  2. A config_ExportData folyamat lekéri az éppen futó ütemezéshez tartozó exportálásokat.
  3. A config_RunExports folyamat végrehajtja az egyes kijelölt exportálásokat.
  4. A Cost Management nyers költségadatokat exportál az msexports-tárolóba . További információ: A 04-05-ös verzió exportálása.

Az exportálás befejezése után mind a felügyelt, mind a nem felügyelt hatókörök esetében:

  1. A msexports_ExecuteETL folyamat elindítja a kinyerési-átalakítási-betöltési (ETL) folyamatot, amikor fájlokat adnak hozzá a tárolóhoz.
  2. A msexports_ETL_ingestion folyamat szabványos sémává alakítja át az adatokat, és parquet formátumban menti a nyers adatokat a betöltési tárolóba. További információért lásd: A bevezetésről a v04-05 verzióban.
  3. A Power BI beolvassa a költségadatokat a betöltési tárolóból.

Tudnivalók a 0.4-0.5-ös verzióban való betöltésről

A FinOps Hubs egy adott mappa elérési útjára támaszkodik a betöltési tárolóban:

ingestion/{dataset}/{yyyy}/{mm}/{scope-id}
  • ingestion az a tároló, ahol az adattovábbító folyamat adatokat ment.
  • {dataset} az exportált adatkészlet típusa.
  • {month} az exportált adatok formátumának éve és hónapja a következő: yyyyMM.
  • {scope-id} várhatóan az adatok hatókörének teljes erőforrás-azonosítója lesz.

Ha központokkal kell monitoroznia a nem Azure-beli adatokat, konvertálja az adatokat FOCUS-ra, és helyezze őket a betöltési tárolóba. Ezt a folyamatot nem tesztelték kifejezetten a legújabb kiadásban. Ha bármilyen problémát tapasztal, hozzon létre egy problémát.

Az exportálás ismertetése a 0.4-0.5-ös verzióban

A FinOps Hubs Cost Management-exportálásokkal szerzi be a költségadatokat. A Cost Management az msexports-tárolóban lévő exportált adatok mappastruktúráját szabályozza. Egy tipikus elérési út a következőképpen néz ki:

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

0.4-től a FinOps központok nem támaszkodnak a fájlelérési utakra. A hubok a jegyzékfájlt használják a hatókör, az adatkészlet, a hónap stb. azonosítására. A hubok elérési útjának egyetlen fontos része a konteiner, amelynek msexports-nak kell lennie.

Feljegyzés

Ne exportáljon adatokat a betöltési tárolóba. Az exportált CSV-eket közzé kell tenni az msexports tárolóban, hogy a központi motor feldolgozhassa.

Az egyéni adatok betöltéséhez mentse a FOCUS-hoz igazított parquet fájlokat a betöltési tárolóba, hogy a FinOps eszközkészlet Power BI-jelentései a várt módon működjenek.

Az exportálási jegyzékek api-verziókkal változhatnak. Íme egy példa az API-verzióval 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": ###
    }
  ]
}

A FinOps hubok a következő tulajdonságokat használják:

  • exportConfig.resourceId a hatókör azonosításához.
  • exportConfig.type az adathalmaz típusának azonosításához.
  • exportConfig.dataVersion az adathalmaz verziójának azonosításához.
  • runInfo.startDate az exportált hónap azonosításához.

A FinOps Hubs az alábbi adathalmaztípusokat, -verziókat és API-verziókat támogatja:

  • FocusCost: 1.0, 1.0-preview(v1)
  • Árlista: 2023-05-01
  • Foglalás részletei: 2023-03-01
  • FoglalásiAjánlások: 2023-05-01
  • Foglalási tranzakciók: 2023-05-01
  • API-verziók: 2023-07-01-preview

FinOps Hubs v0.2-0.3

Az alábbi lépések a költségadatok FinOps Hubs 0.2-0.3-s verzióival történő exportálásának és feldolgozásának folyamatát ismertetik:

  1. A Cost Management nyers költségadatokat exportál az msexports-tárolóba .
  2. A msexports_ExecuteETL folyamat elindítja a kinyerési-átalakítási-betöltési (ETL) folyamatot, amikor fájlokat adnak hozzá a tárolóhoz.
  3. A msexports_ETL_ingestion csővezeték parquet formátumban menti az exportált adatokat az ingestion konténerben.
  4. A Power BI beolvassa a költségadatokat a betöltési tárolóból.

A FinOps Hubs 0.2-0.3 az exportálási útvonal használatával határozza meg az exportált hatókört és hónapot. Ez a pont azért fontos, mert az elérési út frissítései megszakíthatják az adatfolyamokat. A probléma elkerülése érdekében javasoljuk, hogy frissítsen a FinOps Hubs 0.4-be. A várt elérési útnak a következőt kell utánoznia:

msexports/{scope-id}/{export-name}/{date-range}/{export-time}/{guid}/{file}
  • msexports az exportáláson megadott tároló.
  • {scope-id} az exportáláson megadott mappa elérési útja.

    A Hubs 0.3 és korábbi verziói ezzel azonosítják, hogy az adatok melyik hatókörből származnak. Javasoljuk, hogy használja a hatókör azonosítóját, de bármilyen érték használható. A hatókörazonosítók például a következők:

    Hatókör típusa Példaérték
    Előfizetés /subscriptions/###
    Erőforráscsoport /subscriptions/###/resourceGroups/###
    Számlázási fiók /providers/Microsoft.Billing/billingAccounts/###
    Számlázási profil /providers/Microsoft.Billing/billingAccounts/###/billingProfiles/###
  • {export-name} az export neve.

    A központok figyelmen kívül hagyják ezt a mappát.

  • {date-range} az exportálandó dátumtartomány-adatok.

    A Hubs 0.3 és korábbi verziói ezt használják a hónap azonosítására. A mappa formátuma a következő yyyyMMdd-yyyyMMdd: . A Hubs 0.4 ehelyett a jegyzékfájlt használja.

  • {export-time} az exportálás futásának időbélyege.

    A hubok ezt figyelmen kívül hagyják. A mappa formátuma a következő yyyyMMddHHmm: .

  • {guid} egy egyedi GUID, és az nem mindig jelenik meg.

    A hubok ezt figyelmen kívül hagyják. A Cost Management nem mindig tartalmazza ezt a mappát. Az exportálás létrehozásához használt API-verziótól függ, hogy szerepel-e benne.

  • {file} vagy mint egy jegyzék, vagy mint exportált adat.

    A 0.3-s és korábbi verziók figyelmen kívül hagyják a jegyzékfájlokat, és csak *.csv fájlokat figyelnek. Egy későbbi kiadásban a hubok figyelik a jegyzéket.


FinOps Hubs v0.1

Az alábbi lépések a költségadatok FinOps Hubs 0.1-es verziójával történő exportálásának és feldolgozásának folyamatát ismertetik:

  1. A Cost Management nyers költségadatokat exportál az msexports-tárolóba .
  2. A msexports_transform folyamat parquet formátumban menti a nyers adatokat a betöltési tárolóba.
  3. A Power BI beolvassa a költségadatokat a betöltési tárolóból.

Visszajelzés küldése

Kérem, tájékoztasson minket egy gyors visszajelzéssel arról, hogyan haladunk. Ezeket a felülvizsgálatokat a FinOps-eszközök és -erőforrások fejlesztésére és bővítésére használjuk.

Ha valami konkrétat keres, szavazzon egy meglévőre, vagy hozzon létre egy új ötletet. Ossza meg ötleteit másokkal, hogy több szavazatot kapjon. A legtöbb szavazattal rendelkező ötletekre összpontosítunk.