Примечание
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
You can use Cost Management automation to build a custom set of solutions to retrieve and manage cost data. В этой статье описаны распространенные сценарии автоматизации Управления затратами и параметры, доступные в зависимости от конкретной ситуации. Если вы хотите разрабатывать интерфейсы API, ознакомьтесь с представленными примерами общих запросов API, которые помогут ускорить процесс разработки.
Автоматизация получения данных о затратах для автономного анализа
Вам может потребоваться скачать данные о затратах Azure, чтобы объединить их с другими наборами данных. Вы также можете захотеть интегрировать данные о затратах в собственные системы. Существуют разные варианты сделать это, в зависимости от объема интересующих вас данных. В любом случае для использования API и инструментов вам необходимы разрешения Управления затратами в соответствующей области. Дополнительные сведения см. в разделе Назначение доступа к данным.
Рекомендации по обработке больших наборов данных
Если у вашей организации есть большое присутствие Azure во многих ресурсах или подписках, у вас будет большое количество результатов данных об использовании. Excel часто не может загружать такие большие файлы. В этом случае мы рекомендуем следующие варианты.
Power BI
Power BI используется для приема и обработки больших объемов данных. Если вы являетесь клиентом Соглашения Enterprise, то можете использовать приложение-шаблон Power BI для анализа затрат согласно выставленным счетам. Этот отчет содержит основные представления, используемые клиентами. Дополнительные сведения см. в разделе Анализ затрат на Azure с помощью приложения-шаблона Power BI.
Соединитель данных Power BI
Если вы хотите анализировать данные ежедневно, мы рекомендуем использовать соединитель данных Power BI, чтобы получать данные для подробного анализа. Any reports that you create are kept up to date by the connector as more costs accrue.
Cost Management exports
Возможно, вам не требуется анализировать данные ежедневно. В этом случае подумайте об использовании функции экспорта в службе "Управление затратами" для планирования экспорта данных в учетную запись хранения Azure. Затем можно загружать данные в Power BI по мере необходимости или анализировать их в Excel, если размер файла это позволяет. Функция экспорта доступна на портале Azure. Вы также можете настроить экспорт с помощью API экспорта.
API сведений о потреблении
Если ваш набор данных о затратах невелик, рассмотрите возможность использования API сведений о потреблении. Ниже приведены рекомендуемые лучшие методики.
- Если вы хотите получить последние данные о затратах, рекомендуется выполнять запрос хотя бы один раз в день. Отчеты обновляются каждые четыре часа. Обращаясь к ним чаще, вы будете получать те же данные.
- После загрузки данных о затратах для предыдущих счетов плата не изменится, пока вы не будете явно уведомлены об этом. Рекомендуется кэшировать данные о затратах в запрашиваемом хранилище, чтобы предотвратить повторные вызовы идентичных данных.
- Разбейте свои звонки на небольшие диапазоны дат, чтобы получить больше управляемых файлов, которые можно загрузить. Например, если у вас каждый месяц образуются большие файлы данных об использовании Azure, рекомендуется разбивать данные по дням или неделям.
- If you have scopes with a large amount of usage data (for example a Billing Account), consider placing multiple calls to child scopes so you get more manageable files that you can download.
- Если набор данных из месяца в месяц превышает 2 ГБ, рекомендуется использовать экспорты как более масштабируемое решение.
Автоматизация получения с помощью API сведений о потреблении
API сведений о потреблении — это простой способ получения необработанных и неагрегированных данных о затратах, соответствующих счету за использование Azure. Этот API полезен, если вашей организации требуется программное решение для получения данных. Если вы хотите анализировать небольшие наборы данных о затратах, рассмотрите возможность использования этого API. Однако при наличии больших наборов данных следует использовать другие решения, указанные ранее. Данные в сведениях о потреблении предоставляются в единицах измерения в день. It's used when calculating your monthly bill. Общедоступная версия этих API — 2019-10-01
. Используйте 2019-04-01-preview
, чтобы получить доступ к предварительной версии для резервирования и приобретения в Azure Marketplace с помощью этих API.
Если вы хотите регулярно получать большие объемы экспортируемых данных, см. сведения в статье Периодическое извлечение больших наборов данных о затратах с помощью функции экспорта.
Рекомендации API по деталям использования
Расписание запроса
Рекомендуется делать не более одного запроса в API сведений о потреблении в день. Дополнительные сведения о частоте обновления данных о затратах и обработке округления см. в разделе Обзор данных службы "Управление затратами".
Целевые области верхнего уровня без фильтрации
Используйте API для получения всех необходимых данных на самом высоком уровне охвата. Перед выполнением фильтрации, группирования или обзорного анализа дождитесь приема всех необходимых данных. Этот API специально оптимизирован для предоставления больших объемов необработанных неагрегированных данных о затратах. Дополнительные сведения об областях, доступных в службе "Управление затратами", см. в разделе Основные сведения об областях и работе с ними. После загрузки необходимых данных для области используйте Excel для дальнейшего анализа данных с помощью фильтров и сводных таблиц.
Примечания о ценах
Если вы хотите сопоставить использование и расходы с ценовой таблицей или счетом, см. раздел «Поведение цен в сведениях о затратах».
У одного ресурса может быть несколько записей за один день
Поставщики ресурсов Azure передают сведения об использовании и начисления в систему выставления счетов и заполняют поле Additional Info
записей об использовании. Иногда поставщики ресурсов могут отправлять данные об использовании за конкретный день и отмечать записи с различными центрами обработки данных в поле Additional Info
записей об использовании. В файле с данными об использовании за один день может оказаться несколько записей для одного счетчика или ресурса. В этом случае вы не несете лишние расходы. The multiple records represent the full cost of the meter for the resource on that day.
Примеры запросов API сведений о потреблении
Следующие примеры запросов используются клиентами Майкрософт во многих распространенных сценариях.
Get Usage Details for a scope during specific date range
Данные, возвращаемые запросом, соответствуют дате получения сведений о потреблении системой выставления счетов. It might include costs from multiple invoices. The call to use varies by your subscription type.
For legacy customers with an Enterprise Agreement (EA) or a pay-as-you-go subscription, use the following call:
GET https://management.azure.com/{scope}/providers/Microsoft.Consumption/usageDetails?$filter=properties%2FusageStart%20ge%20'2020-02-01'%20and%20properties%2FusageEnd%20le%20'2020-02-29'&$top=1000&api-version=2019-10-01
Для современных клиентов с Клиентским соглашением Майкрософт используйте следующий запрос:
GET https://management.azure.com/{scope}/providers/Microsoft.Consumption/usageDetails?startDate=2020-08-01&endDate=2020-08-05&$top=1000&api-version=2019-10-01
Примечание.
Параметр $filter
не поддерживается Клиентскими соглашениями Майкрософт.
Получение сведений об амортизационной стоимости
Если вы хотите увидеть фактические затраты на покупки по мере их возникновения, в следующем запросе измените значение metric на ActualCost
. Для получения сведений об амортизационной стоимости и фактических затратах необходимо использовать версию 2019-04-01-preview
. Текущая версия API работает так же, как версия 2019-10-01
, кроме нового атрибута type/metric и измененных имен свойств. Если у вас имеется Клиентское соглашение Майкрософт, в следующем примере ваши фильтры будут startDate
и endDate
.
GET https://management.azure.com/{scope}/providers/Microsoft.Consumption/usageDetails?metric=AmortizedCost&$filter=properties/usageStart+ge+'2019-04-01'+AND+properties/usageEnd+le+'2019-04-30'&api-version=2019-04-01-preview
Automate alerts and actions with budgets
Для повышения окупаемости инвестиций в облако требуется два критически важных компонента. Один — автоматическое создание бюджета. The other is configuring cost-based orchestration in response to budget alerts. Существует несколько способов автоматизации создания бюджета. При превышении настроенных пороговых значений для оповещений запускаются различные реакции.
В следующих разделах описываются доступные варианты и предоставляются примеры запросов API, которые помогут начать процесс автоматизации бюджета.
Оценка затрат в сопоставлении с порогом бюджета
Затраты оцениваются по порогу бюджета один раз в день. При создании нового бюджета или в день его сброса затраты, сравниваемые с пороговым значением, становятся нулевыми, поскольку возможно, оценка не была произведена.
Когда Azure обнаруживает, что стоимость превысила пороговое значение, не позже чем через час в течение периода обнаружения будет активировано уведомление.
Просмотр текущих затрат
Чтобы просмотреть текущие затраты, необходимо выполнить вызов GET с помощью API запросов.
Вызов GET в API бюджетов не будет возвращать текущие затраты, указанные в анализе затрат. Instead, the call returns your last evaluated cost.
Автоматизация создания бюджета
Вы можете автоматизировать создание бюджета с помощью API бюджетов. Вы также можете создать бюджет с помощью шаблона бюджета. Шаблоны позволяют с легкостью стандартизировать развертывания Azure, обеспечивая правильную настройку и принудительное применение управления затратами.
Supported locales for budget alert emails
При использовании бюджетов вы получите оповещение, если затраты превышают пороговое значение. Для каждого бюджета можно настроить до пяти получателей сообщений электронной почты. Получателям отправляется оповещение по электронной почте в течение 24 часов с момента превышения порогового значения. При этом получателю может потребоваться получить сообщение электронной почты на другом языке. В API бюджетов можно использовать следующие коды языковых культур. Задайте код культуры с помощью параметра locale
, как в следующем примере.
{
"eTag": "\"1d681a8fc67f77a\"",
"properties": {
"timePeriod": {
"startDate": "2020-07-24T00:00:00Z",
"endDate": "2022-07-23T00:00:00Z"
},
"timeGrain": "BillingMonth",
"amount": 1,
"currentSpend": {
"amount": 0,
"unit": "USD"
},
"category": "Cost",
"notifications": {
"actual_GreaterThan_10_Percent": {
"enabled": true,
"operator": "GreaterThan",
"threshold": 20,
"locale": "en-us",
"contactEmails": [
"[email protected]"
],
"contactRoles": [],
"contactGroups": [],
"thresholdType": "Actual"
}
}
}
}
Языки, поддерживаемые культурным кодом:
Код культуры | Язык |
---|---|
en-us | Английский (Соединенные Штаты) |
ja-jp | Японский (Япония) |
zh-cn | Китайский (упрощённый, Китай) |
de-de | Немецкий (Германия) |
es-es | Испанский (Испания, международный) |
fr-fr | Французский (Франция) |
it-it | Итальянский (Италия) |
ko-kr | корейский (Корея) |
pt-br | Португальский (Бразилия) |
ru-ru | Русский (Россия) |
zh-tw | Китайский (традиционный, Тайвань) |
cs-cz | Чешский (Чешская Республика) |
pl-pl | Polish (Poland) |
tr-tr | Турецкий (Турция) |
da-dk | Датский (Дания) |
en-gb | Английский (Великобритания) |
hu-hu | Венгерский (Венгрия) |
nb-no | Norwegian Bokmal (Norway) |
nl-nl | Dutch (Netherlands) |
pt-pt | Португальский (Португалия) |
sv-se | шведский (Швеция) |
Общие конфигурации API для бюджетов
Бюджеты в среде Azure можно настроить множеством способов. Сначала проанализируйте свой сценарий, а затем определите параметры конфигурации, которые позволят его реализовать. Проверьте перечисленные ниже параметры:
- Интервал времени - представляет собой повторяющийся период, который используется бюджетом для аккумулирования и оценки затрат. Наиболее распространенные варианты — ежемесячно, ежеквартально и ежегодно.
- Период времени. Указывает срок действия бюджета. The budget actively monitors and alerts you only while it remains valid.
-
Уведомления
- Контактные адреса электронной почты — это те адреса, на которые поступают оповещения при начислении затрат и превышении заданных пороговых значений для бюджета.
- Роли контактов — при выборе этого параметра, все пользователи, имеющие соответствующую роль в Azure для заданной области, получают оповещения по электронной почте. For example, Subscription Owners could receive an alert for a budget created at the subscription scope.
- Группы контактов — при превышении порога оповещения бюджет вызывает настроенные группы действий.
- Фильтры измерения затрат — для бюджета можно выполнить ту же фильтрацию, которая выполняется при анализе затрат или использовании API запросов. Используйте этот фильтр, чтобы сократить диапазон затрат, мониторинг которых осуществляется с помощью бюджета.
Определив параметры создания бюджета в соответствии со своими потребностями, создайте бюджет с помощью API. Приведенный ниже пример поможет вам начать настройку общей конфигурации бюджета.
Создание бюджета, отфильтрованного по нескольким ресурсам и тегам
URL-адрес запроса: PUT https://management.azure.com/subscriptions/{SubscriptionId} /providers/Microsoft.Consumption/budgets/{BudgetName}/?api-version=2019-10-01
{
"eTag": "\"1d34d016a593709\"",
"properties": {
"category": "Cost",
"amount": 100.65,
"timeGrain": "Monthly",
"timePeriod": {
"startDate": "2017-10-01T00:00:00Z",
"endDate": "2018-10-31T00:00:00Z"
},
"filter": {
"and": [
{
"dimensions": {
"name": "ResourceId",
"operator": "In",
"values": [
"/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/virtualMachines/{meterName}",
"/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/virtualMachines/{meterName}"
]
}
},
{
"tags": {
"name": "category",
"operator": "In",
"values": [
"Dev",
"Prod"
]
}
},
{
"tags": {
"name": "department",
"operator": "In",
"values": [
"engineering",
"sales"
]
}
}
]
},
"notifications": {
"Actual_GreaterThan_80_Percent": {
"enabled": true,
"operator": "GreaterThan",
"threshold": 80,
"contactEmails": [
"[email protected]",
"[email protected]"
],
"contactRoles": [
"Contributor",
"Reader"
],
"contactGroups": [
"/subscriptions/{subscriptionID}/resourceGroups/{resourceGroupName}/providers/microsoft.insights/actionGroups/{actionGroupName}
],
"thresholdType": "Actual"
}
}
}
}
Configure cost-based orchestration for budget alerts
С помощью групп действий Azure можно настроить для бюджетов запуск автоматических действий. Дополнительные сведения об автоматизации действий с помощью бюджетов см. в статье автоматизации с помощью бюджетов.
Задержка данных и ограничения скорости
Рекомендуется вызывать интерфейсы API не чаще одного раза в день. Данные Управления затратами обновляются каждые четыре часа по мере получения новых данных о потреблении от поставщиков ресурсов Azure. При более частых вызовах вы не получите дополнительные данные, Вместо этого нагрузка возрастет.
Query API query processing units
Помимо существующих процессов ограничения скорости, API запросов также ограничивает обработку на основе затрат на вызовы API. Стоимость вызова API выражается в виде единиц обработки запросов (QPUs). QPU is a performance currency, like Cosmos DB RUs. Они абстрагируют системные ресурсы, такие как ЦП и память.
QPU calculation
Currently, one QPU is deducted for one month of data queried from the allotted quotas. Эта логика может измениться без уведомления.
QPU factors
Следующий фактор влияет на количество QPU, потребляемых запросом API.
- Диапазон дат: с увеличением диапазона дат в запросе увеличивается число потребляемых квантовых процессорных единиц.
Другие факторы QPU могут быть добавлены без уведомления.
QPU quotas
Следующие квоты настраиваются для каждого клиента. Requests are throttled when any of the following quotas are exhausted.
- 12 QPU в 10 секунд
- 60 QPU за 1 мин
- 600 QPU в 1 час
Возможно, квоты будут изменены по мере необходимости, и можно добавить дополнительные квоты.
Заголовки ответа
Вы можете проверить заголовки ответа, чтобы отслеживать количество единиц QP, потребляемых запросом API, и число оставшихся ЦП.
x-ms-ratelimit-microsoft.costmanagement-qpu-retry-after
Указывает время отката в секундах. When a request is throttled with 429, back off for the time specified in this header before retrying the request.
x-ms-ratelimit-microsoft.costmanagement-qpu-consumed
QPUs consumed by an API call.
x-ms-ratelimit-microsoft.costmanagement-qpu-remaining
Список оставшихся квот.
Связанный контент
- Анализ затрат на Azure с помощью приложения-шаблона Power BI.
- Создание данных для экспорта и управление ими с помощью функции экспорта.
- Узнайте больше об API сведений о потреблении.