Supervisión del costo del proceso sin servidor
En este artículo, se explica cómo usar la tabla del sistema de uso facturable (versión preliminar pública) para supervisar el costo del uso de procesos sin servidor.
Puede supervisar el uso del proceso sin servidor para cuadernos y trabajos consultando la tabla del sistema de uso facturable (system.billing.usage
), que incluye atributos de usuario y carga de trabajo relacionados con los costos de proceso sin servidor. Los campos aplicables incluyen:
- La columna
identity_metadata
incluye el camporun_as
, que muestra el usuario o la entidad de servicio cuyas credenciales se usaron para ejecutar la carga de trabajo. - La columna
usage_metadata
tiene campos que describen la carga de trabajo:job_run_id
,job_name
,notebook_id
ynotebook_path
.
Consideraciones para los registros de uso sin servidor
Al analizar el uso sin servidor, tenga en cuenta lo siguiente:
- Es posible que vea varios registros asociados a una carga de trabajo de proceso sin servidor determinada en una hora determinada. Por ejemplo, puede ver varios registros con el mismo
job_id
,job_run_id
o job_name, pero con valores de consumo de DBU diferentes para cada uno. La suma de estas DBU representa colectivamente el consumo de DBU por hora para una ejecución de trabajo determinada.
Nota:
Para una actualización sobre la atribución de cargas de trabajo nulas, consulte ¿Cuáles son las próximas novedades?.
Uso de presupuestos para supervisar los gastos
Los administradores de cuentas pueden configurar presupuestos para agrupar los costes y configurar alertas. Vea Uso de presupuestos para supervisar los gastos en la cuenta.
Importación de un panel de uso
Los administradores de cuentas pueden importar paneles de gestión de costes a cualquier área de trabajo habilitada para Unity Catalog en su cuenta. Vea Importación de un panel de uso.
Búsqueda de un trabajo o cuaderno en la interfaz de usuario
Para buscar un trabajo o cuaderno en la interfaz de usuario en función de un registro de facturación, copie el valor usage_metadata.job_id
o usage_metadata.notebook_id
del registro de uso. Estos identificadores son inmutables y se pueden usar incluso si cambia el nombre del trabajo o la ruta de acceso del cuaderno.
Para buscar un trabajo en la interfaz de usuario en función de su job_id
:
- Copie el
job_id
del registro de uso. En este ejemplo, supongamos que el identificador es700809544510906
. - Vaya a la interfaz de usuario flujos de trabajo en el mismo área de trabajo de Azure Databricks que el trabajo.
- Asegúrese de que los Trabajos solo propiedad de mí filtro está desactivado.
- Pegue el identificador (700809544510906) en la barra de búsqueda Filtrar trabajos.
Para buscar un cuaderno en la interfaz de usuario en función de su notebook_id
, siga estas instrucciones:
- Copie el
notebook_id
del registro de uso. En este ejemplo, supongamos que el identificador es700809544510906
. - Vaya a la interfaz de usuario de Áreas de trabajo en el mismo área de trabajo de Azure Databricks que el cuaderno.
- Haga clic sobre cualquier cuaderno de la lista.
- Después de abrir el cuaderno, examine la dirección URL en la barra de direcciones del explorador. Debería ser parecido a este:
https://<account-console-url>/?o=<workspace ID>#notebook/<notebook ID>/command/<command ID>
. - En la barra de direcciones del explorador, reemplace el identificador del cuaderno por el identificador que copió en el primer paso y, a continuación, elimine todo después del identificador del cuaderno. Debería ser parecido a este:
https://<account-console-url>/?o=<workspace ID>#notebook/700809544510906
. - Después de abrir el cuaderno, puede hacer clic en el botón Compartir para ver el propietario del cuaderno.
Uso de alertas para realizar un seguimiento del gasto de procesos sin servidor
Las alertas son una manera eficaz de mantenerse informados sobre el gasto sin servidor. Con las alertas, puede recibir notificaciones cuando se cumplan determinadas condiciones en los resultados de la consulta. Para obtener información sobre cómo crear alertas, consulte Creación de una alerta.
Puede agregar alertas a las siguientes consultas para supervisar los presupuestos. En cada consulta, reemplace {budget}
por el presupuesto elegido.
Alerta cuando cualquier gasto de área de trabajo supera un umbral en los últimos 30 días
Puede establecer una alerta para que se desencadene cada vez que esta consulta devuelva una fila. Reemplace {budget}
por el presupuesto elegido.
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}
Alerta cuando un usuario supera el umbral en los últimos 30 días
Puede establecer una alerta para que se desencadene cada vez que esta consulta devuelva una fila. Reemplace {budget}
por el presupuesto elegido.
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}
Alerta cuando un trabajo supera el umbral en los últimos 30 días
Puede establecer una alerta para que se desencadene cada vez que esta consulta devuelva una fila. Reemplace {budget}
por el presupuesto elegido.
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 ejemplo
Use las siguientes consultas para obtener información sobre el uso sin servidor en su cuenta:
- Identificar cuadernos de proceso sin servidor costosos
- Identificar trabajos de proceso sin servidor costosos
- Informe sobre los DBU consumidos por un usuario determinado
- informe de las DBU de proceso sin servidor consumidas por cargas de trabajo que comparten una etiqueta personalizada
Identificación de cuadernos de proceso sin servidor costosos
Esta consulta devuelve una lista de cuadernos y cuántas DBU consume cada cuaderno, en orden descendente por 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
Identificación de trabajos de proceso sin servidor costosos
Esta consulta devuelve una lista de trabajos y el número de DBU que consume cada trabajo, en orden descendente por 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
Informe sobre las DTU consumidas por un usuario determinado
Esta consulta devuelve una lista de cuadernos y trabajos que usan un proceso sin servidor ejecutado por un usuario o entidad de servicio determinado y el número de DTU consumidas por cada carga de trabajo:
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
Informe de las DTU de proceso sin servidor consumidas por cargas de trabajo que comparten una etiqueta personalizada
Esta consulta devuelve una lista de trabajos que usan un proceso sin servidor que comparten la misma etiqueta personalizada y el número de DTU consumidas por cada carga de trabajo:
SELECT
usage_metadata.job_id,
usage_metadata.notebook_id,
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
ORDER BY
total_dbu DESC