مراقبة تكلفة الحوسبة بلا خادم

توضح هذه المقالة كيفية استخدام جدول نظام الاستخدام القابل للفوترة (معاينة عامة) لمراقبة تكلفة استخدام الحوسبة بلا خادم.

يمكنك مراقبة استخدام الحوسبة بلا خادم لدفاتر الملاحظات ومهام سير العمل عن طريق الاستعلام عن جدول نظام الاستخدام القابل للفوترة (system.billing.usage)، والذي يتضمن سمات المستخدم وأحمال العمل المتعلقة بتكاليف الحوسبة بلا خادم. تتضمن الحقول القابلة للتطبيق ما يلي:

  • identity_metadata يتضمن run_as العمود الحقل الذي يظهر المستخدم أو كيان الخدمة الذي تم استخدام بيانات اعتماده لتشغيل حمل العمل.
  • usage_metadata يحتوي العمود على حقول تصف حمل العمل: job_run_id وnotebook_id.

اعتبارات لسجلات الاستخدام بلا خادم

عند تحليل استخدامك بلا خادم، ضع في اعتبارك ما يلي:

  • قد ترى سجلات متعددة مقترنة مع حمل عمل حساب بلا خادم معين في ساعة معينة. على سبيل المثال، قد ترى سجلات متعددة بنفسها job_id ولكن job_run_id مع قيم استهلاك DBU مختلفة لكل منها. يمثل مجموع وحدات DBUs هذه بشكل جماعي استهلاك DBU بالساعة لتشغيل مهمة معينة.
  • قد ترى أيضا سجلات مع استهلاك DBU فوترة باستخدام SKU بلا خادم، ولكن مع قيم خالية ل run_asو job_idjob_run_idو وnotebook_id. تمثل هذه التكاليف المرتبطة بالموارد المشتركة التي لا يمكن عزوها مباشرة إلى أي حمل عمل معين. أثناء زيادة استخدامك للحوسبة بلا خادم وإضافة المزيد من أحمال العمل، ستنخفض نسبة هذه التكاليف المشتركة على الفاتورة عند مشاركتها عبر المزيد من أحمال العمل.

لوحة معلومات مراقبة التكلفة

لمساعدتك على البدء في مراقبة التكاليف بلا خادم، قم بتنزيل لوحة معلومات مراقبة التكلفة التالية من Github. راجع لوحة معلومات مراقبة التكلفة بلا خادم.

لوحة معلومات مراقبة الفوترة بلا خادم

بعد تنزيل ملف JSON، قم باستيراد لوحة المعلومات إلى مساحة العمل الخاصة بك. للحصول على إرشادات حول استيراد لوحات المعلومات، راجع استيراد ملف لوحة معلومات.

استخدام التنبيهات لتعقب الإنفاق بلا خادم

تعد التنبيهات طريقة فعالة للبقاء على اطلاع على إنفاقك بلا خادم. باستخدام التنبيهات، يمكنك تلقي إعلامات عند استيفاء شروط معينة في نتائج الاستعلام. لمعرفة كيفية إنشاء تنبيهات، راجع إنشاء تنبيه.

يمكنك إضافة تنبيهات إلى الاستعلامات التالية لمراقبة الميزانيات. في كل استعلام، استبدل {budget} بالميزانية التي اخترتها.

تنبيه عندما يتجاوز أي إنفاق لمساحة العمل حدا في آخر 30 يوما

يمكنك تعيين تنبيه لتشغيله كلما أرجع هذا الاستعلام صفا. استبدل {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}

تنبيه عندما يتجاوز المستخدم الحد في آخر 30 يوما

يمكنك تعيين تنبيه لتشغيله كلما أرجع هذا الاستعلام صفا. استبدل {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}

تنبيه عندما تتجاوز الوظيفة الحد في آخر 30 يوما

يمكنك تعيين تنبيه لتشغيله كلما أرجع هذا الاستعلام صفا. استبدل {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}

نماذج الاستعلامات

استخدم الاستعلامات التالية للحصول على رؤى حول الاستخدام بلا خادم في حسابك:

تحديد دفاتر الملاحظات الحوسبية بلا خادم باهظة الثمن

يقوم هذا الاستعلام بإرجاع قائمة بدفاتر الملاحظات وعدد وحدات DBUs التي استهلكها كل دفتر ملاحظات بترتيب تنازلي حسب استهلاك 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

تحديد مهام الحوسبة بلا خادم باهظة الثمن

يقوم هذا الاستعلام بإرجاع قائمة بالوظائف وعدد وحدات DBUs التي استهلكت كل مهمة، بترتيب تنازلي حسب استهلاك 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

تقرير عن وحدات DBUs المستهلكة من قبل مستخدم معين

يقوم هذا الاستعلام بإرجاع قائمة بدفاتر الملاحظات والمهام التي تستخدم الحوسبة بلا خادم التي يتم تشغيلها بواسطة مستخدم معين أو كيان خدمة معين، وعدد وحدات DBUs التي يستهلكها كل حمل عمل:

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

تقرير عن وحدات قاعدة بيانات الحوسبة بلا خادم التي تستهلكها أحمال العمل التي تشترك في علامة مخصصة

يقوم هذا الاستعلام بإرجاع قائمة بالمهام التي تستخدم الحوسبة بلا خادم التي تشترك في نفس العلامة المخصصة، وعدد وحدات DBUs التي يستهلكها كل حمل عمل:

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