Поделиться через


Обработка данных в центрах FinOps

Центры FinOps выполняют множество действий по обработке данных для очистки, нормализации и оптимизации данных. В следующих разделах показано, как данные передаются из управления затратами в экземпляр концентратора.


Настройка области

Область — это уровень в иерархии облачных ресурсов и учетных записей, который предоставляет доступ к затратам, использованию и углеродным данным. Для центров FinOps обычно рекомендуется использовать учетные записи выставления счетов Соглашение Enterprise (EA) или профили выставления счетов Клиентское соглашение Майкрософт (MCA), однако для базового анализа достаточно любой облачной области. Основная проблема заключается в том, требуются ли данные о ценах и резервировании, так как управление затратами предоставляет только данные для учетных записей выставления счетов EA и профилей выставления счетов MCA.

Центры FinOps поддерживают настройку областей путем ручной настройки экспорта управления затратами или предоставления концентраторам FinOps доступа для управления областями от вашего имени. Управляемые области настраиваются в файле конфигурации/settings.json в хранилище концентратора. Сведения описывают, что происходит при добавлении новой управляемой области в этот файл. Неуправляемые области, в которых экспорты управления затратами настраиваются вручную, не требуют другой настройки.

  1. Триггер config_SettingsUpdated запускается при обновлении файла settings.json.
  2. Конвейер config_ConfigureExports создает новые экспорты для всех добавленных областей.

Прием данных

Прием данных можно разделить на две части:

  1. Экспортирует push-данные в хранилище.
  2. Центры обрабатывают и прием данных.

Для управляемых областей центры выполняют следующие действия:

  1. Триггеры config_DailySchedule и config_MonthlySchedule запускаются по соответствующим расписаниям, чтобы начать прием данных.
  2. Конвейер config_StartExportProcess получает применимые экспорты для выполняемого расписания.
  3. Конвейер config_RunExportJobs выполняет каждый из выбранных экспортов.
  4. Управление затратами экспортирует необработанные сведения о затратах в контейнер msexports . Подробнее.

После выполнения экспорта центры выполняют следующие действия:

  1. Конвейер msexports_ExecuteETL запускает процесс извлечения-преобразования(ETL) при добавлении файлов в хранилище.
  2. Конвейер msexports_ETL_ingestion преобразует данные в формат parquet и перемещает его в контейнер приема с помощью масштабируемой структуры файлов. Подробнее.
  3. Power BI или другие средства считывают данные из контейнера приема .

О приеме

Центры FinOps используют определенный путь к папке в контейнере приема :

ingestion/{dataset}/{yyyy}/{mm}/{scope-id}
  • ingestion — это контейнер, в котором конвейер данных сохраняет данные.
  • {dataset} — экспортируемый тип набора данных.
  • {month} — это год и месяц экспортированных данных, отформатированных как yyyyMM.
  • {scope-id} Ожидается, что это полный идентификатор ресурса области данных.

Если вам нужно использовать центры для мониторинга данных, отличных от Azure, преобразуйте данные в FOCUS и удалите их в контейнер приема . Обратите внимание, что этот процесс не был явно протестирован в последнем выпуске. При возникновении проблем создайте проблему.


Сведения о экспорте

Центры FinOps используют экспорт управления затратами для получения данных о затратах. Управление затратами управляет структурой папок для экспортированных данных в контейнере msexports . Типичный путь выглядит следующим образом:

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

По состоянию на 0.4 центры FinOps не полагаются на пути к файлам. Центры используют файл манифеста для определения области, набора данных, месяца и т. д. Единственной важной частью пути для концентраторов является контейнер, который должен быть msexports.

Предупреждение

  • Не экспортируйте данные в контейнер приема . Экспортированные csvs должны быть опубликованы в контейнере msexports для обработки подсистемой концентраторов.
  • Чтобы принять пользовательские данные, сохраните файлы parquet, выровненные с фокусом, в контейнере приема для отчетов Power BI набора средств FinOps, чтобы работать должным образом.

Экспорт манифестов может изменяться с помощью версий 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)
  • PriceSheet: 2023-05-01
  • ReservationDetails: 2023-03-01
  • РезервированиеRecommendations: 2023-05-01
  • ReservationTransactions: 2023-05-01
  • Версии API: 2023-07-01-preview

Центры FinOps версии 0.4-0.5

В следующих сведениях описывается обработка данных в центрах FinOps версии 0.4-0.5.

Настройка области в версии 0.4-0.5

  1. Триггер config_SettingsUpdated запускается при обновлении файла settings.json.
  2. Конвейер config_ConfigureExports создает новые экспорты для всех добавленных областей.

Прием данных в версии 0.4-0.5

Для управляемых областей:

  1. Триггеры config_DailySchedule и config_MonthlySchedule запускаются по соответствующим расписаниям, чтобы начать прием данных.
  2. Конвейер config_ExportData получает применимые экспорты для выполняемого расписания.
  3. Конвейер config_RunExports выполняет каждый из выбранных экспортов.
  4. Управление затратами экспортирует необработанные сведения о затратах в контейнер msexports . Дополнительные сведения см. в разделе "Сведения о экспорте" в версии 04-05.

После завершения экспорта для управляемых и неуправляемых областей выполните следующие действия:

  1. Конвейер msexports_ExecuteETL запускает процесс извлечения-преобразования(ETL) при добавлении файлов в хранилище.
  2. Конвейер msexports_ETL_ingestion преобразует данные в стандартную схему и сохраняет необработанные данные в формате parquet в контейнер приема . Дополнительные сведения см. в разделе о приеме в версии 04-05.
  3. Power BI считывает данные о затратах из контейнера приема .

Сведения о приеме в версии 0.4-0.5

Центры FinOps используют определенный путь к папке в контейнере приема :

ingestion/{dataset}/{yyyy}/{mm}/{scope-id}
  • ingestion — это контейнер, в котором конвейер данных сохраняет данные.
  • {dataset} — экспортируемый тип набора данных.
  • {month} — это год и месяц экспортированных данных, отформатированных как yyyyMM.
  • {scope-id} Ожидается, что это полный идентификатор ресурса области данных.

Если вам нужно использовать центры для мониторинга данных, отличных от Azure, преобразуйте данные в FOCUS и удалите их в контейнер приема . Этот процесс не был явно протестирован в последнем выпуске. При возникновении проблем создайте проблему.

Сведения о экспорте в версии 0.4-0.5

Центры FinOps используют экспорт управления затратами для получения данных о затратах. Управление затратами управляет структурой папок для экспортированных данных в контейнере msexports . Типичный путь выглядит следующим образом:

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

По состоянию на 0.4 центры FinOps не полагаются на пути к файлам. Центры используют файл манифеста для определения области, набора данных, месяца и т. д. Единственной важной частью пути для концентраторов является контейнер, который должен быть msexports.

Примечание.

Не экспортируйте данные в контейнер приема . Экспортированные csvs должны быть опубликованы в контейнере msexports для обработки подсистемой концентраторов.

Чтобы принять пользовательские данные, сохраните файлы parquet, выровненные с фокусом, в контейнере приема для отчетов Power BI набора средств FinOps, чтобы работать должным образом.

Экспорт манифестов может изменяться с помощью версий 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)
  • PriceSheet: 2023-05-01
  • ReservationDetails: 2023-03-01
  • РезервированиеRecommendations: 2023-05-01
  • ReservationTransactions: 2023-05-01
  • Версии API: 2023-07-01-preview

Центры FinOps версии 0.2-0.3

Ниже описан процесс экспорта и обработки данных о затратах с помощью Центров FinOps версии 0.2-0.3:

  1. Управление затратами экспортирует необработанные сведения о затратах в контейнер msexports . Дополнительные сведения см. в разделе "Сведения о экспорте".
  2. Конвейер msexports_ExecuteETL запускает процесс извлечения-преобразования(ETL) при добавлении файлов в хранилище.
  3. Конвейер msexports_ETL_ingestion сохраняет экспортированные данные в формате parquet в контейнере приема . Дополнительные сведения см. в разделе "Сведения о экспорте".
  4. Power BI считывает данные о затратах из контейнера приема .

Центры FinOps 0.2-0.3 используют путь экспорта для определения экспортируемой области и месяца. Это важно, так как обновления пути могут нарушить конвейеры данных. Чтобы избежать этой проблемы, рекомендуется обновить до концентраторов FinOps 0.4. Ожидаемый путь должен имитировать:

msexports/{scope-id}/{export-name}/{date-range}/{export-time}/{guid}/{file}
  • msexports — это контейнер, указанный в экспорте.
  • {scope-id} — это путь к папке, указанный в экспорте.

    Центры 0.3 и более ранние версии используются для определения области, из которой будут поступать данные. Рекомендуется использовать идентификатор области, но любое значение можно использовать. Примеры идентификаторов областей:

    Тип области Пример значения
    Подписка /subscriptions/###
    Группа ресурсов /subscriptions/###/resourceGroups/###
    учетная запись выставления счетов; /providers/Microsoft.Billing/billingAccounts/###
    Профиль выставления счетов /providers/Microsoft.Billing/billingAccounts/###/billingProfiles/###
  • {export-name} — имя экспорта.

    Центры игнорируют эту папку.

  • {date-range} — это экспортируемые данные диапазона дат.

    Центры 0.3 и более ранние версии используются для определения месяца. Формат этой папки yyyyMMdd-yyyyMMdd. В Центрах 0.4 вместо этого используется манифест.

  • {export-time} — метка времени выполнения экспорта.

    Центры игнорируют это. Формат этой папки yyyyMMddHHmm.

  • {guid} является уникальным ИДЕНТИФИКАТОРом GUID и не всегда присутствует.

    Центры игнорируют это. Управление затратами не всегда включает эту папку. Зависит ли она от версии API, используемой для создания экспорта.

  • {file} — это манифест или экспортированные данные.

    Версия 0.3 и более ранние игнорируют файлы манифеста и отслеживают только файлы *.csv . В будущем выпуске центры будут отслеживать манифест.


Центры FinOps версии 0.1

Ниже описан процесс экспорта и обработки данных о затратах с помощью центров FinOps версии 0.1:

  1. Управление затратами экспортирует необработанные сведения о затратах в контейнер msexports .
  2. Конвейер msexports_transform сохраняет необработанные данные в формате parquet в контейнер приема .
  3. Power BI считывает данные о затратах из контейнера приема .