Poznámka:
Přístup k této stránce vyžaduje autorizaci. Můžete se zkusit přihlásit nebo změnit adresáře.
Přístup k této stránce vyžaduje autorizaci. Můžete zkusit změnit adresáře.
Tento článek vysvětluje, jak použít fakturovatelnou systémovou tabulku k monitorování nákladů na využití bezserverového výpočetního prostředí.
Využití bezserverového výpočetního výkonu pro poznámkové bloky a úlohy můžete monitorovat dotazem na fakturovatelnou systémovou tabulku (system.billing.usage), která zahrnuje atributy uživatelů a úloh souvisejících s bezserverovými náklady na výpočetní prostředky. Mezi příslušná pole patří:
- Sloupec
identity_metadataobsahuje polerun_as, které zobrazuje uživatele nebo službu, jejíž přihlašovací údaje byly použity ke spuštění úlohy. - Sloupec
usage_metadataobsahuje pole, která popisují úlohu:job_run_id,job_name,notebook_idanotebook_path.
- Sloupec
custom_tags, který bude obsahovat všechny značky zděděné ze zásad použití bez serveru. Viz Použití atributů se zásadami použití bez serveru.
Poznámka:
Vzhledem k naší distribuované architektuře se může v daném časovém rámci zobrazit několik záznamů přidružených k dané bezserverové výpočetní úloze. Můžete například vidět více záznamů se stejnými job_idjob_run_id, nebo job_name s různými hodnotami spotřeby DBU pro každou z nich. Součet těchto jednotek DBU představuje hodinovou spotřebu DBU pro danou úlohu spuštěnou v daném časovém rámci.
Další funkce fakturované jako bezserverové
Azure Databricks nabízí několik funkcí, které na pozadí využívají bezserverové výpočty, ale nevyžadují, aby měl váš účet povolené bezserverové výpočty pro poznámkové bloky, pracovní postupy a kanály Lakeflow.
Pod položkou SKU serverless jobs se účtují následující funkce:
-
Monitorování kvality dat: Zaprotokolováno v tabulce fakturace s
billing_origin_producthodnotouLAKEHOUSE_MONITORING. -
Prediktivní optimalizace: Zalogováno v tabulce fakturace s hodnotou
billing_origin_productPREDICTIVE_OPTIMIZATION. -
Materializovaná zobrazení v Databricks SQL: Když vytvoříte materializované zobrazení ve službě SQL Warehouse, vytvoří se kanál bez serveru pro zpracování aktualizací. Fakturační záznamy pro materializované zobrazení můžete zobrazit dotazováním záznamů, kde
billing_origin_product = 'SQL'ausage_metadata.dlt_pipeline_id IS NOT NULL. -
Jemně odstupňované řízení přístupu na vyhrazených výpočetních prostředcích: Identifikovatelné tím, že má
billing_origin_producthodnotuFINE_GRAINED_ACCESS_CONTROL. -
Lakeflow Connect: Příjem dat ze spravovaného konektoru se zaznamenává s hodnotou
billing_origin_productproLAKEFLOW_CONNECT. -
AI Search: Zaprotokolováno s
billing_origin_producthodnotouVECTOR_SEARCH.
-
Čisté pokoje: Konkrétní čistá místnost související s používáním je zaznamenána v části
usage_metadata.central_clean_room_id. - Online tabulky (starší verze): Zaznamenáno s
billing_origin_producthodnotouONLINE_TABLES. Viz Migrace ze starších online tabulek a tabulek třetích stran.
Monitorování útraty pomocí rozpočtů
Správci účtů můžou nastavit rozpočty pro seskupení nákladů a nastavení upozornění. Viz Vytváření a monitorování rozpočtů.
Importovat panel využití
Správci účtů můžou importovat řídicí panely správy nákladů do libovolného pracovního prostoru s podporou katalogu Unity ve svém účtu. Podívejte se na Import řídicího panelu využití.
Vyhledání úlohy nebo poznámkového bloku v uživatelském rozhraní
Pokud chcete najít úlohu nebo poznámkový blok v uživatelském rozhraní na základě fakturačního záznamu, zkopírujte hodnotu usage_metadata.job_id nebo usage_metadata.notebook_id ze záznamu o využití. Tato ID jsou neměnná a dá se použít i v případě, že se změní název úlohy nebo cesta k poznámkovému bloku.
Najít práci v uživatelském rozhraní podle jejího job_id:
- Zkopírujte
job_idze záznamu o využití. V tomto příkladu předpokládejme, že ID je700809544510906. - Přejděte na Uživatelské rozhraní Úlohy a Pipeliny ve stejném pracovním prostoru Azure Databricks jako úloha.
- Vyberte filtr Přístupné pro mě.
- Vložte ID (700809544510906) do vyhledávacího panelu Filtrovat úlohy.
Chcete-li najít notebook v uživatelském rozhraní na základě jeho notebook_id, použijte následující pokyny:
- Zkopírujte
notebook_idze záznamu o využití. V tomto příkladu předpokládejme, že ID je700809544510906. - Přejděte do uživatelského rozhraní Workspaces ve stejném pracovním prostoru Azure Databricks jako poznámkový blok.
- Klikněte na libovolný poznámkový blok v seznamu.
- Po otevření notebooku zkontrolujte adresu URL v adresním řádku prohlížeče. Měl by vypadat jako
https://<databricks-account-url>/?o=<workspace-ID>#notebook/<notebook ID>/command/<command ID>. - V adresním řádku prohlížeče nahraďte ID poznámkového bloku za ID, které jste zkopírovali v prvním kroku, a poté odstraňte vše, co je za ním. Měl by vypadat jako
https://<databricks-account-url>/?o=<workspace ID>#notebook/700809544510906. - Po otevření poznámkového bloku můžete kliknutím na tlačítko Sdílet zobrazit vlastníka poznámkového bloku.
Sledování nákladů na bezserverové služby pomocí upozornění
Výstrahy představují účinný způsob, jak být informováni o bezserverových nákladech. S upozorněními můžete dostávat oznámení, když jsou ve výsledcích dotazu splněny určité podmínky. Informace o vytváření upozornění najdete v tématu Vytvoření výstrahy.
Pokud chcete monitorovat rozpočty, můžete do následujících dotazů přidat upozornění. V každém dotazu nahraďte {budget} zvoleným rozpočtem.
Upozornění, když jakýkoli pracovní prostor překročí stanovený limit výdajů za posledních 30 dnů
Můžete nastavit upozornění, které se spustí, kdykoli tento dotaz vrátí řádek. Nahraďte {budget} zvoleným rozpočtem.
SELECT
t1.workspace_id,
SUM(t1.usage_quantity * list_prices.pricing.default) as list_cost
FROM system.billing.usage t1
INNER JOIN system.billing.list_prices on
t1.cloud = list_prices.cloud and
t1.sku_name = list_prices.sku_name and
t1.usage_start_time >= list_prices.price_start_time and
(t1.usage_end_time <= list_prices.price_end_time or list_prices.price_end_time is null)
WHERE
t1.sku_name LIKE '%SERVERLESS%'
AND billing_origin_product IN ("JOBS", "INTERACTIVE")
AND t1.usage_date >= CURRENT_DATE() - INTERVAL 30 DAYS
GROUP BY
t1.workspace_id
HAVING
list_cost > {budget}
Upozornění, když uživatel překročí prahovou hodnotu za posledních 30 dnů
Můžete nastavit upozornění, které se spustí, kdykoli tento dotaz vrátí řádek. Nahraďte {budget} zvoleným rozpočtem.
SELECT
t1.identity_metadata.run_as,
SUM(t1.usage_quantity * list_prices.pricing.default) as list_cost
FROM system.billing.usage t1
INNER JOIN system.billing.list_prices on
t1.cloud = list_prices.cloud and
t1.sku_name = list_prices.sku_name and
t1.usage_start_time >= list_prices.price_start_time and
(t1.usage_end_time <= list_prices.price_end_time or list_prices.price_end_time is null)
WHERE
t1.sku_name LIKE '%SERVERLESS%'
AND billing_origin_product IN ("JOBS", "INTERACTIVE")
AND t1.usage_date >= CURRENT_DATE() - INTERVAL 30 DAYS
GROUP BY
t1.identity_metadata.run_as
HAVING
list_cost > {budget}
Upozornění, když úloha překročí prahovou hodnotu za posledních 30 dnů
Můžete nastavit upozornění, které se spustí, kdykoli tento dotaz vrátí řádek. Nahraďte {budget} zvoleným rozpočtem.
SELECT
t1.workspace_id,
t1.usage_metadata.job_id,
SUM(t1.usage_quantity * list_prices.pricing.default) as list_cost
FROM system.billing.usage t1
INNER JOIN system.billing.list_prices on
t1.cloud = list_prices.cloud and
t1.sku_name = list_prices.sku_name and
t1.usage_start_time >= list_prices.price_start_time and
(t1.usage_end_time <= list_prices.price_end_time or list_prices.price_end_time is null)
WHERE
t1.sku_name LIKE '%SERVERLESS%'
AND billing_origin_product IN ("JOBS")
AND t1.usage_date >= CURRENT_DATE() - INTERVAL 30 DAYS
GROUP BY
t1.workspace_id, t1.usage_metadata.job_id
HAVING
list_cost > {budget}
Vzorové dotazy
Pomocí následujících dotazů můžete získat přehled o využití bez serveru ve vašem účtu:
- Seřaďte bezserverové poznámkové bloky podle celkových výdajů
- Řazení bezserverových úloh na základě celkové útraty
- Sestava spotřeby jednotek DBU konkrétním uživatelem
- Zpráva o využití bezserverových výpočetních jednotek DBU úlohami, které sdílejí vlastní značku
- Přehled DBU spotřebovaných v režimu výkonu
Seřaďte bezserverové poznámkové bloky podle celkových výdajů
Tento dotaz vrátí seznam zápisníků a počet jednotek DBU, které každý zápisník spotřeboval, v sestupném pořadí podle spotřeby DBU.
SELECT
usage_metadata.notebook_id,
usage_metadata. notebook_path,
SUM(usage_quantity) as total_dbu
FROM
system.billing.usage
WHERE
usage_metadata.notebook_id is not null
and billing_origin_product = 'INTERACTIVE'
and product_features.is_serverless
and usage_unit = 'DBU'
and usage_date >= DATEADD(day, -30, current_date)
GROUP BY
1,2
ORDER BY
total_dbu DESC
Řazení bezserverových úloh na základě celkové útraty
Tento dotaz vrátí seznam úloh a počet jednotek DBU spotřebovaných v sestupném pořadí podle spotřeby DBU:
SELECT
usage_metadata.job_id,
usage_metadata.job_name,
SUM(usage_quantity) as total_dbu
FROM
system.billing.usage
WHERE
usage_metadata.job_id is not null
and usage_unit = 'DBU'
and usage_date >= DATEADD(day, -30, current_date)
and sku_name like '%JOBS_SERVERLESS_COMPUTE%'
GROUP BY
1,2
ORDER BY
total_dbu DESC
Zpráva o množství jednotek DBU spotřebovaných konkrétním uživatelem
Tento dotaz vrátí seznam poznámkových bloků a úloh, které používají bezserverové výpočetní prostředí spuštěné konkrétním uživatelem nebo instančním objektem, a počet jednotek DBU spotřebovaných jednotlivými úlohami:
SELECT
usage_metadata.job_id,
usage_metadata.job_name,
usage_metadata.notebook_id,
usage_metadata. notebook_path,
SUM(usage_quantity) as total_dbu
FROM
system.billing.usage
WHERE
identity_metadata.run_as = '<emailaddress@domain.com>'
and billing_origin_product in ('JOBS','INTERACTIVE')
and product_features.is_serverless
and usage_unit = 'DBU'
and usage_date >= DATEADD(day, -30, current_date)
GROUP BY
1,2,3,4
ORDER BY
total_dbu DESC
Sestava DBU výpočetních jednotek bezserverového výpočtu spotřebovaných pracovními zátěžemi, které sdílejí vlastní značku.
Tento dotaz vrátí seznam úloh, které používají bezserverové výpočetní prostředky, které sdílejí stejnou vlastní značku, a počet jednotek DBU spotřebovaných jednotlivými úlohami:
SELECT
usage_metadata.job_id,
usage_metadata.job_name,
usage_metadata.notebook_id,
usage_metadata. notebook_path,
SUM(usage_quantity) as total_dbu
FROM
system.billing.usage
WHERE
custom_tags.<key> = '<value>'
and billing_origin_product in ('JOBS','INTERACTIVE')
and product_features.is_serverless
and usage_unit = 'DBU'
and usage_date >= DATEADD(day, -30, current_date)
GROUP BY
1,2,3,4
ORDER BY
total_dbu DESC
Přehled spotřebovaných DBU v režimu výkonu
Tento dotaz shrnuje spotřebu bezserverových DBU podle režimu výkonu (PERFORMANCE_OPTIMIZED nebo STANDARD) a typu zatížení (úlohy nebo kanály) za posledních 30 dnů:
SELECT
product_features.performance_target,
billing_origin_product,
SUM(usage_quantity) as total_dbu
FROM
system.billing.usage
WHERE
product_features.is_serverless
and billing_origin_product in ('JOBS','DLT')
and usage_unit = 'DBU'
and usage_date >= DATEADD(day, -30, current_date)
GROUP BY
1,2
ORDER BY
total_dbu DESC