Hoe gegevens worden verwerkt in FinOps-hubs
FinOps-hubs voeren veel gegevensverwerkingsactiviteiten uit om gegevens op te schonen, te normaliseren en te optimaliseren. In de volgende secties ziet u hoe gegevens van Cost Management naar een hub-exemplaar stromen.
Bereik instellen
Een bereik is een niveau binnen de cloudresource- en accounthiërarchie die toegang biedt tot kosten, gebruik en koolstofgegevens. Voor FinOps-hubs raden we doorgaans aan om factureringsaccounts van Enterprise Overeenkomst (EA) of Microsoft-klantovereenkomst (MCA) te gebruiken, maar elk cloudbereik is voldoende voor basisanalyse. De belangrijkste zorg is of prijs- en reserveringsgegevens nodig zijn, omdat Cost Management alleen de gegevens voor EA-factureringsaccounts en MCA-factureringsprofielen beschikbaar maakt.
FinOps-hubs ondersteunen het configureren van bereiken door cost management-exports handmatig te configureren of door FinOps-hubs namens u toegang te verlenen tot het beheren van bereiken. Beheerde bereiken worden geconfigureerd in het configuratie-/settings.json-bestand in hubopslag. In de informatie wordt beschreven wat er gebeurt wanneer een nieuw, beheerd bereik wordt toegevoegd aan dit bestand. Niet-beheerde bereiken, waarbij Cost Management-exports handmatig zijn geconfigureerd, vereisen geen andere installatie.
- De config_SettingsUpdated-trigger wordt uitgevoerd wanneer het settings.json-bestand wordt bijgewerkt.
- Met de config_ConfigureExports-pijplijn worden nieuwe exports gemaakt voor nieuwe bereiken die zijn toegevoegd.
Gegevensopname
Gegevensopname kan in twee delen worden onderverdeeld:
- Hiermee exporteert u pushgegevens naar de opslag.
- Hubs verwerkt en neemt gegevens op.
Voor beheerde bereiken voeren hubs de volgende stappen uit:
- De config_DailySchedule - en config_MonthlySchedule-triggers worden volgens hun respectieve planningen uitgevoerd om gegevensopname te starten.
- De config_StartExportProcess-pijplijn haalt de toepasselijke exports op voor het schema dat wordt uitgevoerd.
- De config_RunExportJobs-pijplijn voert elk van de geselecteerde exports uit.
- Cost Management exporteert onbewerkte kostendetails naar de msexports-container . Meer informatie.
Nadat exports zijn uitgevoerd, of het nu beheerde of onbeheerde is, voeren hubs de volgende stappen uit:
- De msexports_ExecuteETL-pijplijn start het ETL-proces (extract-transform-load) wanneer bestanden worden toegevoegd aan de opslag.
- De msexports_ETL_ingestion pijplijn transformeert de gegevens naar parquet-indeling en verplaatst deze naar de opnamecontainer met behulp van een schaalbare bestandsstructuur. Meer informatie.
- Power BI of andere hulpprogramma's lezen gegevens uit de opnamecontainer .
Over opname
FinOps-hubs zijn afhankelijk van een specifiek mappad in de opnamecontainer :
ingestion/{dataset}/{yyyy}/{mm}/{scope-id}
ingestion
is de container waarin de gegevenspijplijn gegevens opslaat.{dataset}
is het geëxporteerde gegevenssettype.{month}
is het jaar en de maand van de geëxporteerde gegevens die zijn opgemaakt alsyyyyMM
.{scope-id}
is naar verwachting de volledig gekwalificeerde resource-id van het bereik waaruit de gegevens afkomstig zijn.
Als u hubs wilt gebruiken om niet-Azure-gegevens te bewaken, converteert u de gegevens naar FOCUS en zet u deze neer in de opnamecontainer . Houd er rekening mee dat dit proces niet expliciet is getest in de nieuwste versie. Als u problemen ondervindt, maakt u een probleem.
Over exports
FinOps-hubs maken gebruik van Cost Management-exports om kostengegevens te verkrijgen. Cost Management bepaalt de mapstructuur voor de geëxporteerde gegevens in de container msexports . Een typisch pad ziet er als volgt uit:
{container}/{path}/{date-range}/{export-name}/{export-time}/{guid}/{file}
Vanaf 0.4 zijn FinOps-hubs niet afhankelijk van bestandspaden. Hubs maken gebruik van het manifestbestand om het bereik, de gegevensset, de maand, enzovoort te identificeren. Het enige belangrijke deel van het pad voor hubs is de container, die msexports moet zijn.
Waarschuwing
- Exporteer geen gegevens naar de opnamecontainer . Geëxporteerde CSV's moeten worden gepubliceerd naar de msexports-container die moet worden verwerkt door de hubs-engine.
- Als u aangepaste gegevens wilt opnemen, slaat u op focus uitgelijnde Parquet-bestanden op in de opnamecontainer voor de Power BI-rapporten van de FinOps-toolkit zodat deze naar behoren werken.
Exportmanifesten kunnen worden gewijzigd met API-versies. Hier volgt een voorbeeld met API-versie 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": ###
}
]
}
FinOps-hubs gebruiken de volgende eigenschappen:
exportConfig.resourceId
om het bereik te identificeren.exportConfig.type
om het gegevenssettype te identificeren.exportConfig.dataVersion
om de versie van de gegevensset te identificeren.runInfo.startDate
om de geëxporteerde maand te identificeren.
FinOps-hubs ondersteunen de volgende typen gegevenssets, versies en API-versies:
- FocusCost:
1.0
,1.0-preview(v1)
- Prijzenoverzicht:
2023-05-01
- ReservationDetails:
2023-03-01
- ReservationRecommendations:
2023-05-01
- ReservationTransactions:
2023-05-01
- API-versies:
2023-07-01-preview
FinOps-hubs v0.4-0.5
In de volgende informatie wordt beschreven hoe gegevens worden verwerkt in FinOps-hubs v0.4-0.5.
Bereik instellen in v0.4-0.5
- De config_SettingsUpdated-trigger wordt uitgevoerd wanneer het settings.json-bestand wordt bijgewerkt.
- Met de config_ConfigureExports-pijplijn worden nieuwe exports gemaakt voor nieuwe bereiken die zijn toegevoegd.
Gegevensopname in v0.4-0.5
Voor beheerde bereiken:
- De config_DailySchedule - en config_MonthlySchedule-triggers worden volgens hun respectieve planningen uitgevoerd om gegevensopname te starten.
- De config_ExportData-pijplijn haalt de toepasselijke exports op voor het schema dat wordt uitgevoerd.
- De config_RunExports-pijplijn voert elk van de geselecteerde exports uit.
- Cost Management exporteert onbewerkte kostendetails naar de msexports-container . Zie Exporteren in v04-05 voor meer informatie.
Nadat de exports zijn voltooid, voor zowel beheerde als onbeheerde bereiken:
- De msexports_ExecuteETL-pijplijn start het ETL-proces (extract-transform-load) wanneer bestanden worden toegevoegd aan de opslag.
- De msexports_ETL_ingestion pijplijn transformeert de gegevens naar een standaardschema en slaat de onbewerkte gegevens in parquet-indeling op in de opnamecontainer . Zie Voor meer informatie over opname in v04-05.
- Power BI leest kostengegevens uit de opnamecontainer .
Informatie over opname in v0.4-0.5
FinOps-hubs zijn afhankelijk van een specifiek mappad in de opnamecontainer :
ingestion/{dataset}/{yyyy}/{mm}/{scope-id}
ingestion
is de container waarin de gegevenspijplijn gegevens opslaat.{dataset}
is het geëxporteerde gegevenssettype.{month}
is het jaar en de maand van de geëxporteerde gegevens die zijn opgemaakt alsyyyyMM
.{scope-id}
is naar verwachting de volledig gekwalificeerde resource-id van het bereik waaruit de gegevens afkomstig zijn.
Als u hubs wilt gebruiken om niet-Azure-gegevens te bewaken, converteert u de gegevens naar FOCUS en zet u deze neer in de opnamecontainer . Dit proces is niet expliciet getest in de nieuwste release. Als u problemen ondervindt, maakt u een probleem.
Over exports in v0.4-0.5
FinOps-hubs maken gebruik van Cost Management-exports om kostengegevens te verkrijgen. Cost Management bepaalt de mapstructuur voor de geëxporteerde gegevens in de container msexports . Een typisch pad ziet er als volgt uit:
{container}/{path}/{date-range}/{export-name}/{export-time}/{guid}/{file}
Vanaf 0.4 zijn FinOps-hubs niet afhankelijk van bestandspaden. Hubs maken gebruik van het manifestbestand om het bereik, de gegevensset, de maand, enzovoort te identificeren. Het enige belangrijke deel van het pad voor hubs is de container, die msexports moet zijn.
Notitie
Exporteer geen gegevens naar de opnamecontainer . Geëxporteerde CSV's moeten worden gepubliceerd naar de msexports-container die moet worden verwerkt door de hubs-engine.
Als u aangepaste gegevens wilt opnemen, slaat u op focus uitgelijnde Parquet-bestanden op in de opnamecontainer voor de Power BI-rapporten van de FinOps-toolkit zodat deze naar behoren werken.
Exportmanifesten kunnen worden gewijzigd met API-versies. Hier volgt een voorbeeld met API-versie 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": ###
}
]
}
FinOps-hubs gebruiken de volgende eigenschappen:
exportConfig.resourceId
om het bereik te identificeren.exportConfig.type
om het gegevenssettype te identificeren.exportConfig.dataVersion
om de versie van de gegevensset te identificeren.runInfo.startDate
om de geëxporteerde maand te identificeren.
FinOps-hubs ondersteunen de volgende typen gegevenssets, versies en API-versies:
- FocusCost:
1.0
,1.0-preview(v1)
- Prijzenoverzicht:
2023-05-01
- ReservationDetails:
2023-03-01
- ReservationRecommendations:
2023-05-01
- ReservationTransactions:
2023-05-01
- API-versies:
2023-07-01-preview
FinOps-hubs v0.2-0.3
De volgende stappen geven een overzicht van het proces voor het exporteren en verwerken van kostengegevens met behulp van FinOps Hubs-versies 0.2-0.3:
- Cost Management exporteert onbewerkte kostendetails naar de msexports-container . Zie Over exports voor meer informatie.
- De msexports_ExecuteETL-pijplijn start het ETL-proces (extract-transform-load) wanneer bestanden worden toegevoegd aan de opslag.
- Met de msexports_ETL_ingestion-pijplijn worden geëxporteerde gegevens opgeslagen in parquet-indeling in de opnamecontainer . Zie Over exports voor meer informatie.
- Power BI leest kostengegevens uit de opnamecontainer .
FinOps-hubs 0.2-0.3 gebruiken het exportpad om het geëxporteerde bereik en de maand te bepalen. Dit punt is belangrijk omdat updates van het pad de gegevenspijplijnen kunnen verbreken. Om dit probleem te voorkomen, raden we u aan om bij te werken naar FinOps-hubs 0.4. Het verwachte pad moet nabootsen:
msexports/{scope-id}/{export-name}/{date-range}/{export-time}/{guid}/{file}
msexports
is de container die is opgegeven voor de export.{scope-id}
is het pad naar de map dat is opgegeven bij de export.Hubs 0.3 en eerder gebruiken dit om te bepalen van welk bereik de gegevens afkomstig zijn. U wordt aangeraden de bereik-id te gebruiken, maar elke waarde kan worden gebruikt. Voorbeelden van bereik-id's zijn:
Bereiktype Voorbeeldwaarde Abonnement /subscriptions/###
Resourcegroep /subscriptions/###/resourceGroups/###
Factureringsaccount /providers/Microsoft.Billing/billingAccounts/###
Factureringsprofiel /providers/Microsoft.Billing/billingAccounts/###/billingProfiles/###
{export-name}
is de naam van de export.Hubs negeren deze map.
{date-range}
is de datumbereikgegevens die worden geëxporteerd.Hubs 0.3 en eerder gebruiken dit om de maand te identificeren. Indeling voor deze map is
yyyyMMdd-yyyyMMdd
. Hubs 0.4 gebruikt in plaats daarvan het manifest.{export-time}
is een tijdstempel van wanneer de export is uitgevoerd.Hubs negeren dit. Indeling voor deze map is
yyyyMMddHHmm
.{guid}
is een unieke GUID en is niet altijd aanwezig.Hubs negeren dit. Cost Management bevat deze map niet altijd. Of deze al dan niet is opgenomen, is afhankelijk van de API-versie die wordt gebruikt om de export te maken.
{file}
is een manifest of geëxporteerde gegevens.Versie 0.3 en eerdere negeer manifestbestanden en bewaak *.csv bestanden. In een toekomstige release bewaken hubs het manifest.
FinOps-hubs v0.1
De volgende stappen beschrijven het proces voor het exporteren en verwerken van kostengegevens met behulp van FinOps-hubs versie 0.1:
- Cost Management exporteert onbewerkte kostendetails naar de msexports-container .
- De msexports_transform-pijplijn slaat de onbewerkte gegevens in parquet-indeling op in de opnamecontainer .
- Power BI leest kostengegevens uit de opnamecontainer .