FinOps 허브에서 데이터를 처리하는 방법
FinOps 허브는 많은 데이터 처리 작업을 수행하여 데이터를 정리, 정규화 및 최적화합니다. 다음 섹션에서는 Cost Management에서 허브 인스턴스로 데이터가 흐르는 방법을 보여 줍니다.
범위 설정
범위는 비용, 사용량 및 탄소 데이터에 대한 액세스를 제공하는 클라우드 리소스 및 계정 계층 구조 내의 수준입니다. FinOps 허브의 경우 일반적으로 EA(기업계약) 청구 계정 또는 MCA(Microsoft 고객 계약) 청구 프로필을 사용하는 것이 좋습니다. 그러나 모든 클라우드 범위는 기본 분석에 충분합니다. Cost Management는 EA 청구 계정 및 MCA 청구 프로필에 대한 데이터만 노출하므로 가격 및 예약 데이터가 필요한지 여부에 대한 주요 관심사입니다.
FinOps 허브는 Cost Management 내보내기를 수동으로 구성하거나 FinOps 허브에 사용자를 대신하여 범위를 관리할 수 있는 액세스 권한을 부여하여 범위 구성을 지원합니다. 관리되는 범위는 허브 스토리지의 구성/settings.json 파일에 구성됩니다. 이 정보는 관리되는 새 범위가 이 파일에 추가되면 어떻게 되는지 설명합니다. Cost Management 내보내기가 수동으로 구성된 관리되지 않는 범위는 다른 설정이 필요하지 않습니다.
- config_SettingsUpdated 트리거는 settings.json 파일이 업데이트되면 실행됩니다.
- config_ConfigureExports 파이프라인은 추가된 모든 새 범위에 대한 새 내보내기를 만듭니다.
데이터 수집
다음은 FinOps 허브 내의 엔드 투 엔드 데이터 수집 프로세스를 보여 줍니다.
- (선택 사항) 관리되는 내보내기를 사용하는 경우:
- config_DailySchedule 및 config_MonthlySchedule 트리거는 각 일정에 따라 실행되어 데이터 수집을 시작합니다.
- config_StartExportProcess 파이프라인은 실행 중인 일정에 해당하는 내보내기를 가져옵니다.
- config_RunExportJobs 파이프라인은 선택한 각 내보내기를 실행합니다.
- Cost Management는 원시 비용 세부 정보를 msexports 컨테이너로 내보냅니다 . 자세히 알아보기.
- msexports_ExecuteETL 파이프라인은 파일이 msexports 컨테이너에 추가되면 ETL(extract-transform-load) 파이프라인을 큐에 대기시킵니다.
- msexports_ETL_ingestion 파이프라인은 데이터를 parquet 형식으로 변환하고 확장 가능한 파일 구조를 사용하여 수집 컨테이너로 이동합니다. 자세히 알아보기.
- (선택 사항) Azure Data Explorer를 사용하는 경우:
-
ingestion_ExecuteETL 파이프라인은 manifest.json 파일이 수집 컨테이너에 추가되면 Data Explorer 수집 파이프라인을 대기열에 추가합니다.
- Cost Management 내보내기 외부에서 사용자 지정 데이터 세트를 수집하는 경우 다른 모든 파일이 완전히 준비되면 대상 수집 폴더에 빈 manifest.json 파일을 만듭니다(파일이 여전히 업로드 중인 경우 이 파일을 추가하지 마세요). manifest.json 파일은 구문 분석되지 않으며 비어 있을 수 있습니다. 유일한 목적은 이 수집 작업에 대한 모든 파일이 추가되었음을 나타내는 것입니다.
-
ingestion_ETL_dataExplorer 파이프라인은 데이터 탐색기의
{dataset}_raw
테이블에 데이터를 적재합니다.- 데이터 세트 이름은 수집 컨테이너의 첫 번째 폴더입니다.
- 모든 원시 테이블은 데이터 탐색기의 수집 데이터베이스에 있습니다.
- 데이터 탐색기에서 원시 테이블에 데이터를 수집하는 경우 업데이트 정책은
{dataset}_transform_v1_0()
함수를 사용하여 데이터를 해당{dataset}_final_v1_0
테이블에 복사하여 FOCUS 1.0에 맞게 모든 데이터를 정규화합니다. - 수집 후 ingestion_ETL_dataExplorer 파이프라인은 최종 테이블에서 데이터 보존 기간이 지난 데이터를 제거하는 것을 포함하여 몇 가지 정화 작업을 수행합니다.
- 0.7을 기준으로 원시 테이블의 데이터 보존은 데이터 탐색기에 의해 자동으로 적용되지만, 최종 테이블의 데이터 보존은 수집이 실행된 경우에만 적용됩니다. 데이터 수집이 중지되면 기록 데이터가 제거되지 않습니다.
- 데이터 보존은 템플릿 배포 중에 또는 스토리지의 구성/settings.json 파일에서 수동으로 구성할 수 있습니다.
-
ingestion_ExecuteETL 파이프라인은 manifest.json 파일이 수집 컨테이너에 추가되면 Data Explorer 수집 파이프라인을 대기열에 추가합니다.
- Power BI와 같은 기타 도구 및 보고서는 데이터 탐색기 또는 수집 컨테이너에서 데이터를 읽습니다.
- 데이터 탐색기의 데이터는 Hub 데이터베이스에서 읽을 수 있습니다.
-
{dataset}()
함수를 사용하여 최신 스키마를 활용합니다.- 이는 빠른 탐색에 유용하지만 FinOps 허브 인스턴스가 업데이트됨에 따라 호환성이 손상되는 변경이 발생할 수 있습니다.
-
{dataset}_v1_0()
함수를 사용하여 FOCUS 1.0 스키마를 활용합니다.- 버전이 지정된 함수 스키마는 시간이 지남에 따라 변경되지 않아야 하지만 데이터 원본이 해당 값을 변경하면 값이 변경될 수 있습니다.
- 쿼리에 인게스천 데이터베이스 사용을 피하세요. 명시적으로 금지되지는 않지만 이 영역은 주로 준비 및 데이터 준비를 위한 내부 영역으로 간주되어야 합니다.
-
- 스토리지의 데이터는
ingestion/<dataset>/<year>/<month>/<scope-path>
에서 읽을 수 있습니다.- 데이터는 데이터 세트 폴더에서 재귀적으로 읽어야 하며, 필요에 따라 특정성을 위해 더 많은 데이터를 포함할 수 있습니다.
- 각 데이터 세트 폴더의 파일에는 데이터 원본 및 계정 유형에 따라 다른 스키마가 있을 수 있습니다. Microsoft Fabric과 같은 다른 시스템에서 수집하는 경우 데이터를 변환할 준비를 합니다.
- 일반적으로 스토리지에서 읽는 것은 성능상의 이유로 권장되지 않습니다.
- 데이터 탐색기의 데이터는 Hub 데이터베이스에서 읽을 수 있습니다.
데이터 탐색기 수집 과정에 대하여
데이터가 데이터 탐색기에 수집되는 경우 수집 데이터베이스의 각 {dataset}_transform_v1_0()
함수에서 발생하는 여러 변환이 있습니다. 각 데이터 세트에는 다음 섹션에서 다루는 다른 변환 규칙 집합이 있습니다.
요청된 변경 내용 목록, 고려 중인 아이디어 및 기본 Cost Management 데이터 세트에 대한 열린 질문은 문제 #1111참조하세요. 추가 문제를 해결하거나 특정 문제에 대한 지지를 표명할 기회가 있는 경우 해당 문제에 대한 의견을 남겨주세요.
비용 데이터 변환
지원되는 데이터 세트:
- Microsoft FocusCost:
1.0r2
,1.0
,1.0-preview(v1)
다음 데이터 세트는 디자인에서 고려되었지만 테스트되지 않았습니다. 이러한 데이터 세트를 수집하려면 parquet 파일을 스토리지의 ingestion/Costs/yyyy/mm/{scope-path}
폴더로 푸시하는 데이터 파이프라인(또는 외부 프로세스)을 만듭니다.
{scope-path}
는 aws/123
또는 gcp/projects/foo
와 같은 고유한 경로를 사용할 수 있습니다. 유일한 요구 사항은 각 범위가 별도의 폴더에 있는지 확인하는 것입니다. 외부 콘텐츠를 복사한 후 데이터 탐색기 수집을 시작하기 위해 manifest.json 파일을 만드십시오.
- AWS FOCUS 1.0
- GCP 포커스 1.0
- OCI 포커스 1.0
변환:
- 열 이름을 FOCUS 1.0에 맞추세요.
- FOCUS 1.0 미리 보기를 1.0으로 변환하는 기능이 포함되어 있습니다.
- 행이 마지막으로 업데이트된 시점을 표시하도록
x_IngestionTime
을 추가하십시오. -
x_SourceChanges
추가하여 허브에서 행의 데이터가 변경된 시기를 식별합니다. - 지정하지 않으면
ProviderName
및PublisherName
을 업데이트하세요. -
x_SourceName
,x_SourceProvider
,x_SourceType
및x_SourceVersion
추가하여 원래 수집된 데이터 세트를 식별합니다. - 가격표에 따라 누락된
ListCost
,ListUnitPrice
,ContractedCost
및ContractedUnitPrice
값을 채웁다.- 이 프로세스를 수행하려면 비용 전에 가격을 내보내야 합니다. 이로 인해 가격이 수집될 때까지 해당 월의 첫날에 가격이 누락될 수 있습니다.
- Cost Management의 버그로 인해
ContractedCost
가 잘못 설정된 경우 수정하세요. - 대/소문자 일관성 문제로 인해 발생하는 그룹화 및 필터링 문제를 해결하기 위해
ResourceName
및x_ResourceGroupName
을 소문자로 변경합니다. - 계정 유형에 따라
x_BillingAccountAgreement
추가합니다.
가격 데이터의 변환
지원되는 데이터 세트:
- Microsoft PriceSheet:
2023-05-01
(EA 및 MCA)
변환:
- 열 이름을 FOCUS 1.0에 일치시킵니다.
- EA 및 MCA 열 이름 일관성 적용을 포함합니다.
- EA 및 MCA 간에 다를 수 있는 기본 값을 변경하지 않습니다.
-
x_SkuTerm
ISO 기간을 개월 수로 변환하여 비용 세부 정보와 일치시키십시오.- 이 형식을 ISO 또는 다른 형식으로 변경하기 전에 FOCUS가 기간을 정의하는 방법을 결정할 때까지 기다리고 있습니다.
- 저축 계획 사용량에 대한
ContractedUnitPrice
을(를) 주문형에 해당하는 값으로 바꿉니다. - 절약 계획 사용량
ListUnitPrice
을 주문형 동등 값으로 설정합니다. -
SkuPriceIdv2
을(를) 현재 비용 세부 정보보다 더 정확한SkuPriceId
값으로 추가합니다. - 행이 마지막으로 업데이트된 시기를 나타내기 위해
x_IngestionTime
을 행에 추가하십시오. -
x_CommitmentDiscountSpendEligibility
과x_CommitmentDiscountUsageEligibility
을 추가하십시오. -
x_PricingUnitDescription
를PricingUnit
과x_PricingBlockSize
로 확장하십시오. - 계정 유형에 따라
x_BillingAccountAgreement
추가합니다. -
x_EffectivePeriodEnd
단독 종료 날짜로 변경합니다. -
x_EffectiveUnitPriceDiscount
,x_ContractedUnitPriceDiscount
및x_TotalUnitPriceDiscount
추가하여 SKU당 사용 가능한 할인을 요약합니다. -
x_EffectiveUnitPriceDiscountPercent
,x_ContractedUnitPriceDiscountPercent
및x_TotalUnitPriceDiscountPercent
추가하여 SKU당 할인 비율을 요약합니다. -
x_SourceName
,x_SourceProvider
,x_SourceType
및x_SourceVersion
추가하여 원래 수집된 데이터 세트를 식별합니다.
추천 데이터 변환
지원되는 데이터 세트:
- 마이크로소프트 예약 추천:
2023-05-01
(EA 및 MCA)
변환:
- 열 이름을 FOCUS 1.0에 맞추세요.
- EA 및 MCA 열 이름 일관성 적용을 포함합니다.
- EA 및 MCA 간에 다를 수 있는 기본 값을 변경하지 않습니다.
-
x_SourceName
,x_SourceProvider
,x_SourceType
및x_SourceVersion
추가하여 원래 수집된 데이터 세트를 식별합니다.
트랜잭션 데이터 변환
지원되는 데이터 세트:
- Microsoft ReservationTransactions:
2023-05-01
(EA 및 MCA)
변환:
- 열 이름을 FOCUS 1.0에 맞추어 정렬합니다.
- EA 및 MCA 열 이름 일관성 적용 작업을 포함합니다.
- EA 및 MCA 간에 다를 수 있는 기본 값을 변경하지 않습니다.
-
x_SourceName
,x_SourceProvider
,x_SourceType
및x_SourceVersion
추가하여 원래 수집된 데이터 세트를 식별합니다.
약정 할인 사용 데이터를 변환하기
지원되는 데이터 세트:
- Microsoft 예약 세부 정보:
2023-03-01
(EA 및 MCA)
변환:
- 열 이름을 FOCUS 1.0과 일치시킵니다.
- EA 및 MCA 열 이름 일관성 적용을 포함합니다.
- EA 및 MCA 간에 다를 수 있는 기본 값을 변경하지 않습니다.
- 리소스 종류 표시 이름을 사용하여
ResourceType
열을 추가합니다. -
ServiceName
,ServiceCategory
및x_ServiceModel
열을 추가합니다. -
x_CommitmentDiscountNormalizedGroup
대해 "NA"를 null로 대체합니다. - FOCUS 1.1에 따라
x_CommitmentDiscountQuantity
추가합니다.
인제스쳔 컨테이너에 관한 정보
FinOps 허브는 스토리지 컨테이너에서 수집 특정 폴더 경로 및 파일 이름 형식을 사용합니다.
ingestion/{dataset}/{date-folder-path}/{scope-id-path}/{ingestion-id}__{original-file-name}.parquet
-
ingestion
는 데이터 파이프라인이 데이터를 저장하는 컨테이너입니다. -
{dataset}
는 내보낸 데이터 세트 형식입니다. Azure Data Explorer로 수집하는 경우, 반드시 대소문자를 구분하여 "_raw" 테이블(예: "Costs_raw")을 포함해야 합니다. FinOps 허브는 이 릴리스에서 다음 데이터 세트를 지원합니다.- CommitmentDiscountUsage - Cost Management 예약 설명 내보내기
- 비용 - FOCUS 비용 및 사용량 현황 데이터입니다.
- 가격 - 비용 관리 가격표 내보내기
- 권장 사항 - Cost Management 예약 권장 사항 내보내기
- 트랜잭션 - 비용 관리 예약 트랜잭션 내보내기
- 사용자 지정 데이터 세트를 수집하려면 수집 데이터베이스에서 일치하는
{dataset}_raw
테이블과 파케 수집 매핑을 생성하십시오.
-
{date-folder-path}
보존해야 하는 수집된 데이터 세트 수를 나타내는 하나 이상의 폴더일 수 있습니다. 예제:- 데이터 세트의 기록을 추적하지 않도록
all
(또는 다른 자리 표시자)를 사용하세요. 모든 수집은 이전 데이터를 대체합니다. 스토리지 기반 Power BI 보고서에서 지원되지 않습니다. -
{yyyy}
내보낸 데이터 세트의 4자리 연도로, 연간 최신 수집만 유지합니다. 스토리지 기반 Power BI 보고서에서 지원되지 않습니다. -
{yyyy}/{mm}
내보낸 데이터 세트의 최신 수집을 매월 유지하기 위해 4자리 연도와 2자리 월로 표시합니다. -
{yyyy}/{mm}/{dd}
는 내보낸 데이터 세트의 최신 일간 수집을 보관하기 위해 4자리 연도, 2자리 월, 2자리 일 형식으로 사용됩니다. 스토리지 기반 Power BI 보고서에서 지원되지 않습니다.
- 데이터 세트의 기록을 추적하지 않도록
-
{scope-id-path}
는 데이터가 있는 범위의 완전히 정규화된 리소스 ID입니다. 비 Azure 데이터를 수집하는 경우 데이터 범위에 따라 논리 계층 구조를 사용하는 것이 좋습니다(예: "aws/{account-id}", "gcp/{project-name}", "oci/{component-id}/{component-id}"). -
{ingestion-id}
수집된 데이터 세트의 고유 ID입니다. 수집된 데이터 세트의 모든 파일에서 일치하는 경우 GUID, 타임스탬프 또는 값일 수 있습니다. 이 값은 이전에 수집한 데이터를 동일한 폴더 경로에서 제거하는 데 사용됩니다. -
{original-file-name}
원래 파일 이름 또는 파일의 데이터가 시작된 위치를 나타내는 다른 식별자입니다. 이 값은 문제 해결 용도로만 사용됩니다.
전체 폴더 경로와 수집 ID는 모두 스토리지 또는 Azure Data Explorer에서 데이터가 중복되지 않도록 하는 데 사용됩니다. 원래 파일 이름은 문제 해결을 위해 Azure Data Explorer 익스텐트에 추가되지만 FinOps 허브에서 추적되거나 사용되지는 않습니다.
허브를 사용하여 비 Azure 데이터를 모니터링해야 하는 경우 위의 지침을 사용하여 데이터를 FOCUS로 변환하고 수집 컨테이너에 넣습니다. 이 테스트는 최신 릴리스에서 명시적으로 테스트되지 않았습니다. 문제가 발생하는 경우문제를
내보내기 정보
FinOps 허브는 Cost Management 내보내기를 활용하여 비용 데이터를 가져옵니다. Cost Management는 msexports 스토리지 컨테이너에서 내보낸 데이터의 폴더 구조를 제어합니다. 일반적인 경로는 다음과 같습니다.
{container}/{path}/{date-range}/{export-name}/{export-time}/{guid}/{file}
FinOps 허브는 매니페스트 파일을 활용하여 범위, 데이터 세트, 월 등을 식별합니다. 허브 경로의 유일한 중요한 부분은 msexports
Warning
데이터를 수집 컨테이너로 내보내지 마세요. 내보낸 CSV는 허브 엔진에서 처리할 msexports 컨테이너에 게시되어야 합니다.
사용자 지정 데이터를 수집하려면 FinOps 도구 키트 Power BI 보고서가 예상대로 작동하도록 수집 컨테이너에 FOCUS 정렬 parquet 파일을 저장합니다.
내보내기 매니페스트는 API 버전으로 변경할 수 있습니다. 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": ###
}
]
}
FinOps 허브는 다음 속성을 활용합니다.
-
eportConfig.resourceId
범위를 식별합니다. -
eportConfig.type
데이터 세트 형식을 식별합니다. -
eportConfig.dataVersion
데이터 세트 버전을 식별합니다. -
runInfo.startDate
내보낸 월을 식별합니다.
FinOps 허브는 다음 데이터 세트 형식, 버전 및 API 버전을 지원합니다.
- FocusCost:
1.0r2
,1.0
,1.0-preview(v1)
- 가격표:
2023-05-01
- ReservationDetails:
2023-03-01
- ReservationRecommendations:
2023-05-01
- ReservationTransactions:
2023-05-01
- API 버전:
2023-07-01-preview
FinOps Hubs v0.6
다음 섹션에서는 FinOps Hubs 0.6의 데이터 프로세스를 설명합니다.
v0.6의 범위 설정
다음 단계는 관리되는 새 범위가 허브 인스턴스에 추가되면 발생합니다. 관리되지 않는 범위(Cost Management 내보내기가 수동으로 구성된 경우)는 허브에서 설치할 필요가 없습니다.
- config_SettingsUpdated 트리거는 settings.json 파일이 업데이트되면 실행됩니다.
- config_ConfigureExports 파이프라인은 추가된 모든 새 범위에 대한 새 내보내기를 만듭니다.
v0.6의 데이터 적재
데이터 수집은 다음 두 부분으로 나눌 수 있습니다.
- 푸시 데이터를 스토리지로 내보냅니다.
- 허브는 데이터를 처리하고 수집합니다.
관리되는 범위의 경우 허브는 다음 단계를 수행합니다.
- config_DailySchedule 및 config_MonthlySchedule 트리거는 각 일정에 따라 실행되어 데이터 수집을 시작합니다.
- config_StartExportProcess 파이프라인은 실행 중인 일정에 해당하는 내보내기를 가져옵니다.
- config_RunExportJobs 파이프라인은 선택한 각 내보내기를 실행합니다.
- Cost Management는 원시 비용 세부 정보를 msexports 컨테이너로 내보냅니다 . 자세히 알아보기.
- msexports_ExecuteETL 파이프라인은 파일이 msexports 컨테이너에 추가되면 ETL(extract-transform-load) 파이프라인을 큐에 대기시킵니다.
- msexports_ETL_ingestion 파이프라인은 데이터를 parquet 형식으로 변환하고 확장 가능한 파일 구조를 사용하여 수집 컨테이너로 이동합니다. 자세히 알아보기.
- Power BI 또는 기타 도구는 수집 컨테이너에서 데이터를 읽습니다.
참고 항목
Azure Data Explorer에 대한 Power BI 지원은 향후 업데이트될 예정입니다.
관리되는 내보내기 또는 관리되지 않는 내보내기를 실행한 후 허브는 다음 단계를 수행합니다.
- msexports_ExecuteETL 파이프라인은 파일이 스토리지에 추가되면 ETL(추출-변환-로드) 프로세스를 시작합니다.
- msexports_ETL_ingestion 파이프라인은 데이터를 parquet 형식으로 변환하고 확장 가능한 파일 구조를 사용하여 수집 컨테이너로 이동합니다. 자세히 알아보기.
- Power BI 또는 기타 도구는 수집 컨테이너에서 데이터를 읽습니다.
v0.6의 인게스천에 대한 정보
FinOps 허브는 수집 컨테이너의 특정 폴더 경로 및 파일 이름 형식에 의존합니다.
ingestion/{dataset}/{date-folder-path}/{scope-id-path}/{ingestion-id}__{original-file-name}.parquet
-
ingestion
는 데이터 파이프라인이 데이터를 저장하는 컨테이너입니다. -
{dataset}
는 내보낸 데이터 세트 형식입니다. Azure Data Explorer에 데이터를 수집하려면 대/소문자를 구분하는 "_raw" 테이블(예: "Costs_raw")이 있어야 합니다. FinOps 허브는 이 릴리스에서 다음 데이터 세트를 지원합니다.- CommitmentDiscountUsage: 비용 관리 예약 세부 정보 내보내기
- 비용 - FOCUS 비용 및 사용량 현황 데이터입니다.
- 가격 - 비용 관리 가격표 내보내기
- 권장 사항 - 비용 관리 예약 권장 사항을 내보내기
- 트랜잭션 - 비용 관리 예약 트랜잭션 내보내기
- 사용자 지정 데이터 세트를 수집하려면 수집 데이터베이스에서 일치하는
{dataset}_raw
테이블 및 parquet 수집 매핑을 만듭니다.
-
{date-folder-path}
보존해야 하는 수집된 데이터 세트 수를 나타내는 하나 이상의 폴더일 수 있습니다. 예제:- 데이터 세트의 기록을 추적하지 않도록 하는
all
(또는 다른 자리 표시자)입니다. 모든 업로드는 이전 데이터를 대체합니다. 스토리지 기반 Power BI 보고서에서 지원되지 않습니다. -
{yyyy}
내보낸 데이터 세트의 4자리 연도로, 연간 최신 수집만 유지합니다. 스토리지 기반 Power BI 보고서에서 지원되지 않습니다. - 내보낸 데이터 세트에서
{yyyy}/{mm}
는 4자리 연도와 2자리 월을 사용하여 매월 최신 데이터를 유지합니다. -
{yyyy}/{mm}/{dd}
내보낸 데이터 세트의 4자리 연도, 2자리 월 및 2자리 일로 일별 최신 수집을 유지합니다. 스토리지 기반 Power BI 보고서에서 지원되지 않습니다.
- 데이터 세트의 기록을 추적하지 않도록 하는
-
{scope-id-path}
데이터가 있는 범위의 정규화된 리소스 ID입니다. 비 Azure 데이터를 수집하는 경우 데이터 범위에 따라 논리 계층 구조를 사용하는 것이 좋습니다(예: "aws/{account-id}", "gcp/{project-name}", "oci/{component-id}/{component-id}"). -
{ingestion-id}
수집된 데이터 세트의 고유 ID입니다. 수집된 데이터 세트의 모든 파일에서 일관성이 있다면, 이는 GUID, 타임스탬프 또는 어떤 값도 될 수 있습니다. 이 값은 이전에 수집한 데이터를 동일한 폴더 경로에서 제거하는 데 사용됩니다. -
{original-file-name}
원래 파일 이름 또는 파일의 데이터가 시작된 위치를 나타내는 다른 식별자입니다. 이 값은 문제 해결 용도로만 사용됩니다.
전체 폴더 경로와 수집 ID는 모두 스토리지 또는 Azure Data Explorer에서 데이터가 중복되지 않도록 하는 데 사용됩니다. 원래 파일 이름은 문제 해결을 위해 Azure Data Explorer 익스텐트에 추가되지만 FinOps 허브에서 추적되거나 사용되지는 않습니다.
허브를 사용하여 비 Azure 데이터를 모니터링해야 하는 경우, 위의 지침에 따라 데이터를 FOCUS로 변환하고 수집 컨테이너에 넣으십시오. 이것은 최신 릴리스에서 명시적으로 테스트되지 않았음을 유념해 주십시오. 문제가 발생하는 경우, 문제를 제기해주세요.
v0.6의 수출에 대한 정보
FinOps 허브는 Cost Management 내보내기를 사용하여 비용 데이터를 가져옵니다. Cost Management는 msexports 컨테이너에서 내보낸 데이터의 폴더 구조를 제어합니다 . 일반적인 경로는 다음과 같습니다.
{container}/{path}/{date-range}/{export-name}/{export-time}/{guid}/{file}
0.4 현재 FinOps 허브는 파일 경로를 사용하지 않습니다. 허브는 매니페스트 파일을 활용하여 범위, 데이터 세트, 월 등을 식별합니다. 허브 경로의 유일한 중요한 부분은 msexports여야 하는 컨테이너입니다.
Warning
- 수집 컨테이너로 데이터를 내보내지 마세요. 내보낸 CSV는 허브 엔진에서 처리할 msexports 컨테이너에 게시되어야 합니다.
- 사용자 지정 데이터를 수집하려면 FinOps 도구 키트 Power BI 보고서가 예상대로 작동하도록 수집 컨테이너에 FOCUS 정렬 parquet 파일을 저장합니다.
내보내기 매니페스트는 API 버전으로 변경할 수 있습니다. 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": ###
}
]
}
FinOps 허브는 다음 속성을 사용합니다.
-
exportConfig.resourceId
범위를 식별합니다. -
exportConfig.type
데이터 세트 형식을 식별합니다. -
exportConfig.dataVersion
데이터 세트 버전을 식별합니다. -
runInfo.startDate
내보낸 월을 식별합니다.
FinOps 허브는 다음 데이터 세트 형식, 버전 및 API 버전을 지원합니다.
- FocusCost:
1.0
,1.0-preview(v1)
- 가격표:
2023-05-01
- ReservationDetails:
2023-03-01
- ReservationRecommendations:
2023-05-01
- ReservationTransactions:
2023-05-01
- API 버전:
2023-07-01-preview
FinOps Hubs v0.4-0.5
다음 정보는 FinOps Hubs v0.4 및 v0.5에서 데이터를 처리하는 방법을 설명합니다.
v0.4-0.5의 범위 설정
- config_SettingsUpdated 트리거는 settings.json 파일이 업데이트되면 실행됩니다.
- config_ConfigureExports 파이프라인은 추가된 모든 새 범위에 대한 새 내보내기를 만듭니다.
v0.4-0.5의 데이터 수집
관리되는 범위의 경우:
- config_DailySchedule 및 config_MonthlySchedule 트리거는 각 일정에 따라 실행되어 데이터 수집을 시작합니다.
- config_ExportData 파이프라인은 실행 중인 일정에 해당하는 내보내기를 가져옵니다.
- config_RunExports 파이프라인은 선택한 각 내보내기를 실행합니다.
- Cost Management는 원시 비용 세부 정보를 msexports 컨테이너로 내보냅니다 . 자세한 내용은 v04-05의 내보내기 정보를 참조하세요.
내보내기가 완료된 후 관리되는 범위와 관리되지 않는 범위 모두에 대해 다음을 수행합니다.
- msexports_ExecuteETL 파이프라인은 파일이 스토리지에 추가되면 ETL(추출-변환-로드) 프로세스를 시작합니다.
- msexports_ETL_ingestion 파이프라인은 데이터를 표준 스키마로 변환하고 원시 데이터를 parquet 형식으로 수집 컨테이너에 저장합니다. 자세한 내용은 v04-05의 수집 정보를 참조하세요.
- Power BI는 수집 컨테이너에서 비용 데이터를 읽습니다.
v0.4-0.5의 수집 정보
FinOps 허브는 수집 컨테이너의 특정 폴더 경로를 사용합니다.
ingestion/{dataset}/{yyyy}/{mm}/{scope-id}
-
ingestion
는 데이터 파이프라인이 데이터를 저장하는 컨테이너입니다. -
{dataset}
는 내보낸 데이터 세트 형식입니다. -
{month}
는 로 형식이 지정된 내보낸 데이터의 연도 및 월입니다yyyyMM
. -
{scope-id}
는 데이터가 있는 범위의 정규화된 리소스 ID가 될 것으로 예상됩니다.
허브를 사용하여 비 Azure 데이터를 모니터링해야 하는 경우 데이터를 FOCUS로 변환하고 수집 컨테이너에 삭제합니다. 이 프로세스는 최신 릴리스에서 명시적으로 테스트되지 않았습니다. 문제가 발생하는 경우 문제를 만듭니다.
v0.4-0.5의 내보내기 정보
FinOps 허브는 Cost Management 내보내기를 사용하여 비용 데이터를 가져옵니다. Cost Management는 msexports 컨테이너에서 내보낸 데이터의 폴더 구조를 제어합니다 . 일반적인 경로는 다음과 같습니다.
{container}/{path}/{date-range}/{export-name}/{export-time}/{guid}/{file}
0.4 현재 FinOps 허브는 파일 경로를 사용하지 않습니다. 허브는 매니페스트 파일을 활용하여 범위, 데이터 세트, 월 등을 식별합니다. 허브 경로의 유일한 중요한 부분은 msexports여야 하는 컨테이너입니다.
참고 항목
수집 컨테이너로 데이터를 내보내지 마세요. 내보낸 CSV는 허브 엔진에서 처리할 msexports 컨테이너에 게시되어야 합니다.
사용자 지정 데이터를 수집하려면 FinOps 도구 키트 Power BI 보고서가 예상대로 작동하도록 수집 컨테이너에 FOCUS 정렬 parquet 파일을 저장합니다.
내보내기 매니페스트는 API 버전으로 변경할 수 있습니다. 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": ###
}
]
}
FinOps 허브는 다음 속성을 사용합니다.
-
exportConfig.resourceId
범위를 식별합니다. -
exportConfig.type
데이터 세트 형식을 식별합니다. -
exportConfig.dataVersion
데이터 세트 버전을 식별합니다. -
runInfo.startDate
내보낸 월을 식별합니다.
FinOps 허브는 다음 데이터 세트 형식, 버전 및 API 버전을 지원합니다.
- FocusCost:
1.0
,1.0-preview(v1)
- 가격표:
2023-05-01
- ReservationDetails:
2023-03-01
- ReservationRecommendations:
2023-05-01
- ReservationTransactions:
2023-05-01
- API 버전:
2023-07-01-preview
FinOps Hubs v0.2-0.3
다음 단계에서는 FinOps Hubs 버전 0.2-0.3을 사용하여 비용 데이터를 내보내고 처리하는 프로세스를 간략하게 설명합니다.
- Cost Management는 원시 비용 세부 정보를 msexports 컨테이너로 내보냅니다 .
- msexports_ExecuteETL 파이프라인은 파일이 스토리지에 추가되면 ETL(추출-변환-로드) 프로세스를 시작합니다.
- msexports_ETL_ingestion 파이프라인은 내보낸 데이터를 수집 컨테이너에 parquet 형식으로 저장합니다.
- Power BI는 수집 컨테이너에서 비용 데이터를 읽습니다.
FinOps Hubs 0.2-0.3은 내보내기 경로를 사용하여 내보낸 범위 및 월을 결정합니다. 경로 업데이트가 데이터 파이프라인을 중단할 수 있으므로 이 점은 중요합니다. 이 문제를 방지하려면 FinOps Hubs 0.4로 업데이트하는 것이 좋습니다. 예상 경로는 다음을 모방해야 합니다.
msexports/{scope-id}/{export-name}/{date-range}/{export-time}/{guid}/{file}
-
msexports
는 내보내기에서 지정된 컨테이너입니다. -
{scope-id}
는 내보내기에서 지정된 폴더 경로입니다.Hubs 0.3 이하에서는 이를 사용하여 데이터가 들어오는 범위를 식별합니다. 범위 ID를 사용하는 것이 좋지만 모든 값을 사용할 수 있습니다. 예제 범위 ID는 다음과 같습니다.
범위 유형 예제 값 구독 /subscriptions/###
Resource group /subscriptions/###/resourceGroups/###
청구 계정 /providers/Microsoft.Billing/billingAccounts/###
청구 프로필 /providers/Microsoft.Billing/billingAccounts/###/billingProfiles/###
-
{export-name}
는 내보내기의 이름입니다.허브는 이 폴더를 무시합니다.
-
{date-range}
는 내보내는 날짜 범위 데이터입니다.Hubs 0.3 이하에서는 이를 사용하여 월을 식별합니다. 이 폴더의 형식은 다음과 같습니다
yyyyMMdd-yyyyMMdd
. Hubs 0.4는 대신 매니페스트를 사용합니다. -
{export-time}
는 내보내기가 실행된 시점의 타임스탬프입니다.허브는 이를 무시합니다. 이 폴더의 형식은 다음과 같습니다
yyyyMMddHHmm
. -
{guid}
는 고유한 GUID이며 항상 있는 것은 아닙니다.허브는 이를 무시합니다. Cost Management에서 이 폴더를 항상 포함하지는 않습니다. 포함 여부는 내보내기를 만드는 데 사용되는 API 버전에 따라 달라집니다.
-
{file}
는 매니페스트 또는 내보낸 데이터입니다.버전 0.3 이하는 매니페스트 파일을 무시하고 *.csv 파일만 모니터링합니다. 이후 릴리스에서 허브는 매니페스트를 모니터링합니다.
FinOps Hubs v0.1
다음 단계에서는 FinOps Hubs 버전 0.1을 사용하여 비용 데이터를 내보내고 처리하는 프로세스를 간략하게 설명합니다.
- Cost Management는 원시 비용 세부 정보를 msexports 컨테이너로 내보냅니다 .
- msexports_transform 파이프라인은 원시 데이터를 parquet 형식으로 수집 컨테이너에 저장합니다.
- Power BI는 수집 컨테이너에서 비용 데이터를 읽습니다.