Monitorar o custo da computação sem servidor
Este artigo explica como usar a tabela do sistema de uso faturável (Public Preview) para monitorar o custo de seu uso do serverless compute .
É possível monitorar o uso do serverless compute para Notebook e fluxo de trabalho consultando a tabela do sistema de uso faturável (system.billing.usage
), que inclui atributos de usuário e carga de trabalho relacionados aos custos do serverless compute . Os campos aplicáveis incluem:
A coluna
identity_metadata
inclui o camporun_as
, que mostra o usuário ou a entidade de serviço cujas credenciais foram usadas para executar a carga de trabalho.A coluna
usage_metadata
tem campos que descrevem a carga de trabalho:job_run_id
enotebook_id
.
Considerações sobre registros de uso sem servidor
Ao analisar o uso do site serverless, considere o seguinte:
O senhor pode ver vários registros associados a uma determinada carga de trabalho do serverless compute em uma determinada hora. Por exemplo, o senhor pode ver vários registros com os mesmos
job_id
ejob_run_id
, mas com valores de consumo de DBU diferentes para cada um. A soma dessas DBUs representa coletivamente o consumo horário de DBU para uma determinada execução de Job.O senhor também pode ver registros com o consumo DBU faturado usando um serverless SKU, mas com valores nulos para
run_as
,job_id
,job_run_id
enotebook_id
. Representam custos associados a recursos compartilhados que não são diretamente atribuíveis a nenhuma carga de trabalho específica. À medida que o senhor aumentar o uso do serverless compute e adicionar mais cargas de trabalho, a proporção desses custos compartilhados em sua conta diminuirá, pois eles serão compartilhados entre mais cargas de trabalho.
Painel de observabilidade de custos
Para ajudá-lo a começar a monitorar seus custos serverless, download o seguinte painel de observabilidade de custos do Github. Consulte serverless dashboard de observabilidade de custos.
Depois de acessar download o arquivo JSON, importe o dashboard para o seu workspace. Para obter instruções sobre a importação de painéis, consulte Importar um arquivo de painel.
Use o alerta para monitorar as despesas em serverless
O alerta é uma maneira poderosa de se manter informado sobre suas despesas no site serverless. Com o alerta, o senhor pode receber notificações quando determinadas condições forem atendidas nos resultados da consulta. Para saber como criar alertas, consulte Criar um alerta.
O senhor pode adicionar alerta às seguintes consultas para monitorar os orçamentos. Em cada consulta, substitua {budget}
pelo orçamento escolhido.
alerta quando qualquer gasto do workspace exceder um limite nos últimos 30 dias
O senhor pode definir um alerta para ser acionado sempre que essa consulta retornar uma linha. Substitua {budget}
pelo orçamento escolhido.
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", "NOTEBOOKS")
AND t1.usage_date >= CURRENT_DATE() - INTERVAL 30 DAYS
GROUP BY
t1.workspace_id
HAVING
list_cost > {budget}
alerta quando um usuário excede o limite nos últimos 30 dias
O senhor pode definir um alerta para ser acionado sempre que essa consulta retornar uma linha. Substitua {budget}
pelo orçamento escolhido.
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", "NOTEBOOKS")
AND t1.usage_date >= CURRENT_DATE() - INTERVAL 30 DAYS
GROUP BY
t1.identity_metadata.run_as
HAVING
list_cost > {budget}
alerta quando um Job excede o limite nos últimos 30 dias
O senhor pode definir um alerta para ser acionado sempre que essa consulta retornar uma linha. Substitua {budget}
pelo orçamento escolhido.
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}
Consultas de amostra
Use as seguintes consultas para obter percepções sobre o uso do serverless em seu account:
Identifique os caros serverless compute Notebook
Essa consulta retorna uma lista de Notebook e quantos DBUs cada Notebook consumiu, em ordem decrescente pelo consumo de DBU:
SELECT
usage_metadata.notebook_id,
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
ORDER BY
total_dbu DESC
Identifique os caros serverless compute Job
Essa consulta retorna uma lista de trabalhos e a quantidade de DBUs que cada Job consumiu, em ordem decrescente pelo consumo de DBU:
SELECT
usage_metadata.job_id,
SUM(usage_quantity) as total_dbu
FROM
system.billing.usage
WHERE
usage_metadata.job_id is not null
and billing_origin_product = 'JOBS'
and product_features.is_serverless
and usage_unit = 'DBU'
and usage_date >= DATEADD(day, -30, current_date)
GROUP BY
1
ORDER BY
total_dbu DESC
Relatório sobre DBUs consumidas por um determinado usuário
Essa consulta retorna uma lista de Notebook e Job que usam serverless compute execução por um determinado usuário ou entidade de serviço, e o número de DBUs consumidos por cada carga de trabalho:
SELECT
usage_metadata.job_id,
usage_metadata.notebook_id,
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
ORDER BY
total_dbu DESC