Aracılığıyla paylaş


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ş akışları 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 ve notebook_id.

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, her birinin aynı job_id ve job_run_id ancak 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.
  • Sunucusuz bir SKU kullanılarak DBU tüketimi faturalanmış ancak , job_id, job_run_idve notebook_idiçin run_asnull değerleri olan kayıtları da görebilirsiniz. Bunlar, belirli bir iş yüküne doğrudan atılmayan paylaşılan kaynaklarla ilişkili maliyetleri temsil eder. Sunucusuz işlem kullanımınızı artırdıkça ve daha fazla iş yükü ekledikçe, faturanızdaki bu paylaşılan maliyetlerin oranı daha fazla iş yükü arasında paylaşıldıkları için azalır.

Maliyet gözlemlenebilirlik panosu

Sunucusuz maliyetlerinizi izlemeye başlamanıza yardımcı olmak için Github'dan aşağıdaki maliyet gözlemlenebilirlik panosunu indirin. Bkz. Sunucusuz maliyet gözlemlenebilirlik panosu.

Sunucusuz faturalama gözlemlenebilirlik panosu

JSON dosyasını indirdikten sonra panoyu çalışma alanınıza aktarın. Panoları içeri aktarma yönergeleri için bkz . Pano dosyasını içeri aktarma.

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", "NOTEBOOKS")
   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", "NOTEBOOKS")
   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

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