Hur data bearbetas i FinOps-hubbar
FinOps-hubbar utför många databearbetningsaktiviteter för att rensa, normalisera och optimera data. Följande avsnitt visar hur data flödar från Cost Management till en hubbinstans.
Omfångskonfiguration
Ett omfång är en nivå inom molnresurs- och kontohierarkin som ger åtkomst till kostnader, användning och koldioxiddata. För FinOps-hubbar rekommenderar vi vanligtvis att du använder faktureringskonton för företagsavtal (EA) eller faktureringsprofiler för Microsoft-kundavtal (MCA), men alla molnomfattningar räcker för grundläggande analys. Det viktigaste är om pris- och reservationsdata behövs, eftersom Cost Management endast exponerar data för EA-faktureringskonton och MCA-faktureringsprofiler.
FinOps Hubs har stöd för att konfigurera omfång genom att manuellt konfigurera Cost Management-exporter eller genom att ge FinOps Hubs åtkomst för att hantera omfång åt dig. Hanterade omfång konfigureras i filen config/settings.json i hubblagringen. Informationen beskriver vad som händer när ett nytt hanterat omfång läggs till i den här filen. Ohanterade omfång, där Cost Management-exporter konfigureras manuellt, kräver inte någon annan konfiguration.
- Utlösaren config_SettingsUpdated körs när settings.json-filen uppdateras.
- Den config_ConfigureExports pipelinen skapar nya exporter för alla nya omfång som har lagts till.
Datainsamling
Datainmatning kan delas upp i två delar:
- Exporterar push-överföring av data till lagring.
- Hubbar bearbetar och matar in data.
För hanterade omfång utför hubbar följande steg:
- Utlösare för config_DailySchedule och config_MonthlySchedule körs enligt respektive schema för att starta datainmatning.
- Den config_StartExportProcess pipelinen hämtar tillämpliga exporter för det schema som körs.
- Den config_RunExportJobs pipelinen kör var och en av de valda exporterna.
- Cost Management exporterar information om råa kostnader till containern msexports . Läs mer.
När exporten har körts, oavsett om de hanteras eller inte hanteras, utför hubbar följande steg:
- Den msexports_ExecuteETL pipelinen startar ETL-processen (extract-transform-load) när filer läggs till i lagringen.
- Den msexports_ETL_ingestion pipelinen omvandlar data till parquet-format och flyttar dem till inmatningscontainern med hjälp av en skalbar filstruktur. Läs mer.
- Power BI eller andra verktyg läser data från inmatningscontainern .
Om inmatning
FinOps-hubbar förlitar sig på en specifik mappsökväg i inmatningscontainern :
ingestion/{dataset}/{yyyy}/{mm}/{scope-id}
ingestion
är containern där datapipelinen sparar data.{dataset}
är den exporterade datamängdstypen.{month}
är året och månaden för exporterade data formaterade somyyyyMM
.{scope-id}
förväntas vara det fullständigt kvalificerade resurs-ID:t för det omfång som data kommer från.
Om du behöver använda hubbar för att övervaka data som inte är Azure konverterar du data till FOCUS och släpper dem i inmatningscontainern . Observera att den här processen inte uttryckligen testades i den senaste versionen. Om du får problem skapar du ett problem.
Om exporter
FinOps-hubbar använder Cost Management-exporter för att hämta kostnadsdata. Cost Management styr mappstrukturen för exporterade data i containern msexports . En typisk sökväg ser ut så här:
{container}/{path}/{date-range}/{export-name}/{export-time}/{guid}/{file}
Från och med 0.4 förlitar sig FinOps-hubbar inte på filsökvägar. Hubbar använder manifestfilen för att identifiera omfång, datauppsättning, månad osv. Den enda viktiga delen av sökvägen för hubbar är containern, som måste vara msexports.
Varning
- Exportera inte data till inmatningscontainern . Exporterade CSV:er måste publiceras till containern msexports som ska bearbetas av hubbarmotorn.
- Om du vill mata in anpassade data sparar du FOCUS-anpassade parquet-filer i inmatningscontainern så att FinOps toolkit Power BI-rapporterna fungerar som förväntat.
Exportmanifest kan ändras med API-versioner. Här är ett exempel med API-version 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-hubbar använder följande egenskaper:
exportConfig.resourceId
för att identifiera omfånget.exportConfig.type
för att identifiera datamängdstypen.exportConfig.dataVersion
för att identifiera datamängdsversionen.runInfo.startDate
för att identifiera den exporterade månaden.
FinOps-hubbar stöder följande datauppsättningstyper, versioner och API-versioner:
- FocusCost:
1.0
,1.0-preview(v1)
- Prisdokument:
2023-05-01
- ReservationDetails:
2023-03-01
- ReservationRekommendationer:
2023-05-01
- ReservationTransactions:
2023-05-01
- API-versioner:
2023-07-01-preview
FinOps Hubs v0.4-0.5
Följande information beskriver hur data bearbetas i FinOps Hubs v0.4-0.5.
Omfångskonfiguration i v0.4-0.5
- Utlösaren config_SettingsUpdated körs när settings.json-filen uppdateras.
- Den config_ConfigureExports pipelinen skapar nya exporter för alla nya omfång som har lagts till.
Datainmatning i v0.4-0.5
För hanterade omfång:
- Utlösare för config_DailySchedule och config_MonthlySchedule körs enligt respektive schema för att starta datainmatning.
- Den config_ExportData pipelinen hämtar tillämpliga exporter för det schema som körs.
- Den config_RunExports pipelinen kör var och en av de valda exporterna.
- Cost Management exporterar information om råa kostnader till containern msexports . Mer information finns i Om exporter i v04-05.
När exporten har slutförts för både hanterade och ohanterade omfång:
- Den msexports_ExecuteETL pipelinen startar ETL-processen (extract-transform-load) när filer läggs till i lagringen.
- Den msexports_ETL_ingestion pipelinen omvandlar data till ett standardschema och sparar rådata i parquet-format till inmatningscontainern . Mer information finns i Om inmatning i v04-05.
- Power BI läser kostnadsdata från inmatningscontainern .
Om inmatning i v0.4-0.5
FinOps-hubbar förlitar sig på en specifik mappsökväg i inmatningscontainern :
ingestion/{dataset}/{yyyy}/{mm}/{scope-id}
ingestion
är containern där datapipelinen sparar data.{dataset}
är den exporterade datamängdstypen.{month}
är året och månaden för exporterade data formaterade somyyyyMM
.{scope-id}
förväntas vara det fullständigt kvalificerade resurs-ID:t för det omfång som data kommer från.
Om du behöver använda hubbar för att övervaka data som inte är Azure konverterar du data till FOCUS och släpper dem i inmatningscontainern . Den här processen testades inte uttryckligen i den senaste versionen. Om du får problem skapar du ett problem.
Om exporter i v0.4-0.5
FinOps-hubbar använder Cost Management-exporter för att hämta kostnadsdata. Cost Management styr mappstrukturen för exporterade data i containern msexports . En typisk sökväg ser ut så här:
{container}/{path}/{date-range}/{export-name}/{export-time}/{guid}/{file}
Från och med 0.4 förlitar sig FinOps-hubbar inte på filsökvägar. Hubbar använder manifestfilen för att identifiera omfång, datauppsättning, månad och så vidare. Den enda viktiga delen av sökvägen för hubbar är containern, som måste vara msexports.
Kommentar
Exportera inte data till inmatningscontainern . Exporterade CSV:er måste publiceras till containern msexports som ska bearbetas av hubbarmotorn.
Om du vill mata in anpassade data sparar du FOCUS-anpassade parquet-filer i inmatningscontainern så att FinOps toolkit Power BI-rapporterna fungerar som förväntat.
Exportmanifest kan ändras med API-versioner. Här är ett exempel med API-version 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-hubbar använder följande egenskaper:
exportConfig.resourceId
för att identifiera omfånget.exportConfig.type
för att identifiera datamängdstypen.exportConfig.dataVersion
för att identifiera datamängdsversionen.runInfo.startDate
för att identifiera den exporterade månaden.
FinOps-hubbar stöder följande datauppsättningstyper, versioner och API-versioner:
- FocusCost:
1.0
,1.0-preview(v1)
- Prisdokument:
2023-05-01
- ReservationDetails:
2023-03-01
- ReservationRekommendationer:
2023-05-01
- ReservationTransactions:
2023-05-01
- API-versioner:
2023-07-01-preview
FinOps Hubs v0.2-0.3
Följande steg beskriver processen för att exportera och bearbeta kostnadsdata med hjälp av FinOps Hubs-versionerna 0.2-0.3:
- Cost Management exporterar information om råa kostnader till containern msexports . Mer information finns i Om exporter.
- Den msexports_ExecuteETL pipelinen startar ETL-processen (extract-transform-load) när filer läggs till i lagringen.
- Den msexports_ETL_ingestion pipelinen sparar exporterade data i parquet-format i inmatningscontainern . Mer information finns i Om exporter.
- Power BI läser kostnadsdata från inmatningscontainern .
FinOps Hubs 0.2-0.3 använder exportsökvägen för att fastställa det exporterade omfånget och månaden. Den här punkten är viktig eftersom uppdateringar av sökvägen kan bryta datapipelines. För att undvika det här problemet rekommenderar vi att du uppdaterar till FinOps Hubs 0.4. Den förväntade sökvägen bör efterlikna:
msexports/{scope-id}/{export-name}/{date-range}/{export-time}/{guid}/{file}
msexports
är containern som anges vid exporten.{scope-id}
är mappsökvägen som anges vid exporten.Hubbar 0.3 och tidigare använder detta för att identifiera vilket omfång data kommer från. Vi rekommenderar att du använder omfångs-ID:t, men alla värden kan användas. Exempel på omfångs-ID:t är:
Omfattningstyp Exempelvärde Prenumeration /subscriptions/###
Resursgrupp /subscriptions/###/resourceGroups/###
Faktureringskonto /providers/Microsoft.Billing/billingAccounts/###
Faktureringsprofil /providers/Microsoft.Billing/billingAccounts/###/billingProfiles/###
{export-name}
är namnet på exporten.Hubbar ignorerar den här mappen.
{date-range}
är datumintervalldata som exporteras.Hubbar 0.3 och tidigare använder detta för att identifiera månaden. Formatet för den här mappen är
yyyyMMdd-yyyyMMdd
. Hubs 0.4 använder manifestet i stället.{export-time}
är en tidsstämpel för när exporten kördes.Hubbar ignorerar detta. Formatet för den här mappen är
yyyyMMddHHmm
.{guid}
är ett unikt GUID och finns inte alltid.Hubbar ignorerar detta. Cost Management inkluderar inte alltid den här mappen. Om det ingår eller inte beror på vilken API-version som används för att skapa exporten.
{file}
är antingen ett manifest eller exporterade data.Version 0.3 och tidigare ignorerar manifestfiler och övervakar endast *.csv filer. I en framtida version övervakar hubbar manifestet.
FinOps Hubs v0.1
Följande steg beskriver processen för att exportera och bearbeta kostnadsdata med FinOps Hubs version 0.1:
- Cost Management exporterar information om råa kostnader till containern msexports .
- Den msexports_transform pipelinen sparar rådata i parquet-format till inmatningscontainern .
- Power BI läser kostnadsdata från inmatningscontainern .