Sunucusuz işlem maliyetini izleme
Bu makalede, sunucusuz işlem kullanımınızın maliyetini izlemek için faturalanabilir kullanım sistemi tablosunun (Genel Önizleme) nasıl kullanılacağı açıklanmaktadır.
Sunucusuz işlem maliyetleriyle ilgili kullanıcı ve iş yükü özniteliklerini içeren faturalanabilir kullanım sistemi tablosunu (system.billing.usage
) sorgulayarak not defterleri ve işler için sunucusuz işlem kullanımını izleyebilirsiniz. Geçerli alanlar şunlardır:
identity_metadata
sütunu, iş yükünü çalıştırmak için kimlik bilgileri kullanılan kullanıcı veya hizmet sorumlusunu gösteren alanı içerirrun_as
.- Sütunda
usage_metadata
iş yükünü açıklayan alanlar vardır:job_run_id
,job_name
,notebook_id
venotebook_path
.
Sunucusuz kullanım kayıtları için dikkat edilmesi gerekenler
Sunucusuz kullanımınızı analiz ederken aşağıdakileri göz önünde bulundurun:
- Belirli bir saatte belirli bir sunucusuz işlem iş yüküyle ilişkili birden çok kayıt görebilirsiniz. Örneğin, aynı
job_id
,job_run_id
veya job_name' ancak her birinin farklı DBU tüketim değerlerine sahip birden çok kayıt görebilirsiniz. Bu DBU'ların toplamı, belirli bir iş çalıştırması için saatlik DBU tüketimini toplu olarak temsil eder.
Not
Null iş yükü ilişkilendirmesi hakkında bir güncelleştirme için bkz . Neler geliyor?.
Harcamaları izlemek için bütçeleri kullanma
Hesap yöneticileri maliyetleri gruplandırmak ve uyarıları ayarlamak için bütçe ayarlayabilir. Bkz. Hesap harcamalarını izlemek için bütçeleri kullanma.
Kullanım panosunu içeri aktarma
Hesap yöneticileri, maliyet yönetimi panolarını hesaplarındaki Unity Kataloğu özellikli herhangi bir çalışma alanına aktarabilir. Bkz. Kullanım panosunu içeri aktarma.
Kullanıcı arabiriminde iş veya not defteri bulma
Kullanıcı arabiriminde faturalama kaydını temel alan bir iş veya not defteri bulmak için veya değerini kullanım kaydından kopyalayın usage_metadata.job_id
usage_metadata.notebook_id
. Bu kimlikler sabittir ve iş adı veya not defteri yolu değişse bile kullanılabilir.
Kullanıcı arabiriminde iş bulmak için:job_id
job_id
kullanım kaydından öğesini kopyalayın. Bu örnekte kimliğin olduğunu700809544510906
varsayalım.- İşle aynı Azure Databricks çalışma alanında İş Akışları kullanıcı arabirimine gidin.
- Yalnızca bana ait işler filtresinin işaretinin kaldırıldığından emin olun.
- Kimliği (700809544510906) Filtre işleri arama çubuğuna yapıştırın.
Kullanıcı arabiriminde kendi notebook_id
temelinde bir not defteri bulmak için aşağıdaki yönergeleri kullanın:
notebook_id
kullanım kaydından öğesini kopyalayın. Bu örnekte kimliğin olduğunu700809544510906
varsayalım.- Not defteriyle aynı Azure Databricks çalışma alanında Çalışma Alanları kullanıcı arabirimine gidin.
- Listedeki herhangi bir not defterine tıklayın.
- Not defterini açtıktan sonra tarayıcı adres çubuğundaki URL'yi inceleyin. gibi
https://<account-console-url>/?o=<workspace ID>#notebook/<notebook ID>/command/<command ID>
görünmelidir. - Tarayıcı adres çubuğunda not defteri kimliğini ilk adımda kopyaladığınız kimlikle değiştirin, ardından not defteri kimliğinden sonraki her şeyi silin. gibi
https://<account-console-url>/?o=<workspace ID>#notebook/700809544510906
görünmelidir. - Not defterini açtıktan sonra Paylaş düğmesine tıklayarak not defteri sahibini görüntüleyebilirsiniz.
Sunucusuz harcamaları izlemek için uyarıları kullanma
Uyarılar, sunucusuz harcamalarınız hakkında bilgi sahibi olmak için güçlü bir yoldur. Uyarılarla, sorgu sonuçlarınızda belirli koşullar karşılandığında bildirim alabilirsiniz. Uyarı oluşturmayı öğrenmek için bkz . Uyarı oluşturma.
Bütçeleri izlemek için aşağıdaki sorgulara uyarılar ekleyebilirsiniz. Her sorguda değerini seçtiğiniz bütçeyle değiştirin {budget}
.
Son 30 gün içinde herhangi bir çalışma alanı harcaması eşiği aştığında uyarı verme
Bu sorgu bir satır döndürdüğünde tetikleme için bir uyarı ayarlayabilirsiniz. değerini seçtiğiniz bütçeyle değiştirin {budget}
.
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}
Kullanıcı son 30 gün içinde eşiği aştığında uyarır
Bu sorgu bir satır döndürdüğünde tetikleme için bir uyarı ayarlayabilirsiniz. değerini seçtiğiniz bütçeyle değiştirin {budget}
.
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}
Bir iş son 30 gün içinde eşiği aştığında uyarır
Bu sorgu bir satır döndürdüğünde tetikleme için bir uyarı ayarlayabilirsiniz. değerini seçtiğiniz bütçeyle değiştirin {budget}
.
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}
Örnek sorgular
Hesabınızda sunucusuz kullanım hakkında içgörüler elde etmek için aşağıdaki sorguları kullanın:
- Pahalı sunucusuz işlem not defterlerini tanımlama
- Pahalı sunucusuz işlem işlerini tanımlama
- Belirli bir kullanıcı tarafından kullanılan DSU'lar hakkında rapor
- Özel etiketi paylaşan iş yükleri tarafından kullanılan sunucusuz işlem DBU'ları hakkında rapor oluşturma
Pahalı sunucusuz işlem not defterlerini tanımlama
Bu sorgu, DBU tüketimine göre azalan sırada not defterlerinin listesini ve her not defterinin tüketilen DBU sayısını döndürür:
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
Pahalı sunucusuz işlem işlerini tanımlama
Bu sorgu, DBU tüketimine göre azalan sırada işlerin ve her işin tüketilen DBU sayısını içeren bir liste döndürür:
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
Belirli bir kullanıcı tarafından kullanılan DSU'lar hakkında rapor
Bu sorgu, belirli bir kullanıcı veya hizmet sorumlusu tarafından çalıştırılan sunucusuz işlem kullanan not defterlerinin ve işlerin listesini ve her iş yükü tarafından kullanılan DBU sayısını döndürür:
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
Özel etiketi paylaşan iş yükleri tarafından kullanılan sunucusuz işlem DBU'ları hakkında rapor oluşturma
Bu sorgu, aynı özel etiketi paylaşan sunucusuz işlem kullanan işlerin listesini ve her iş yükü tarafından kullanılan DBU sayısını döndürür:
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