عناصر التحكّم في التكلفة

توضّح هذه الصفحة كيفية ضبط الحدود اليومية ومراقبة وقت وحدة الحوسبة في Earth Engine أثناء تقدّمه للمساعدة في التحكّم في تكاليف الحوسبة.

ضبط حدّ الاستخدام اليومي لـ EECU

للمساعدة في التحكّم في تكاليف Earth Engine، يمكنك وضع حدّ لمقدار وقت وحدة حساب Earth Engine (EECU) الذي يُسمح لمشروعك باستهلاكه في اليوم من خلال تعديل حصة Cloud التالية:

  • Earth Engine compute time (EECU-time) per day in seconds: حصة على مستوى المشروع تحدّ من إجمالي وقت استخدام وحدات EECU لجميع المستخدمين في المشروع.

لمزيد من المعلومات عن حصص Earth Engine التي يمكنك ضبطها، اطّلِع على حصص Earth Engine.

ضبط حدّ يومي

يمكنك عرض الحصص وتعديلها في صفحة الحصص وحدود النظام في وحدة تحكّم Google Cloud. وعند تعديل حصة، يسري التغيير في غضون بضع دقائق. لضبط حدّ يومي أو تعديله، اتّبِع الخطوات التالية:

  1. تأكَّد من توفّر أذونات تغيير حصة المشروع في مشروعك المحدّد.
  2. انتقِل إلى صفحة الحصص في وحدة تحكّم Google Cloud.
  3. استخدِم فلتر المقياس في مربّع البحث فلتر للبحث عن earthengine.googleapis.com/daily_eecu_usage_time. إذا لم تظهر لك حصة Earth Engine compute time (EECU-time) per day in seconds، تأكَّد من أنّك فعّلت Earth Engine API للمشروع المحدّد.
  4. انقر على تعديل الحصة من قائمة الخيارات الإضافية.
  5. إذا كان مربّع الاختيار عدد غير محدود محدّدًا، أزِل العلامة منه.
  6. أدخِل الحدّ المطلوب بالثواني في وحدة EECU في حقل القيمة الجديدة. انقر على إرسال الطلب.

لمزيد من المعلومات حول عرض الحصص وإدارتها، يُرجى الاطّلاع على عرض الحصص وإدارتها.

رسائل الخطأ التي تم عرضها

بعد ضبط حدّ يومي، تعرض Earth Engine رسالة الخطأ التالية عند تجاوز هذا الحدّ:

تجاوز استخدامك الحصة المخصّصة لـ ‎'earthengine.googleapis.com/daily_eecu_usage_time'‎، ويمكن للمشرف تعديلها في وحدة تحكّم Google Cloud: https://console.cloud.google.com/quotas/?project=_.

بعد تجاوز الحصة، ستتعذّر طلبات Earth Engine إلى أن تتم إعادة ضبط الحصة في اليوم التالي أو إلى أن يرفع المشرف الحد.

المراقبة والتنبيهات الدقيقة

إذا كنت بحاجة إلى التحكّم في التكاليف ومراقبتها بدقة أكبر من الحد اليومي، تتطلّب الوصفات التالية المزيد من الإعداد، ولكنها تتيح إمكانية التنبيه والإلغاء على مستوى workload_tag ومستوى المهام المجمّعة.

تستخدِم هذه الوصفات ميزة مراقبة وقت وحدة EECU قيد التقدّم التي يتم عرضها للطلبات الجارية. راجِع دليل مراقبة الاستخدام لمزيد من المعلومات حول إعداد تقارير وقت وحدة EECU قيد التقدّم في Cloud Monitoring.

ضبط التنبيهات

يمكنك ضبط التنبيهات في Cloud Monitoring لتحذيرك عندما يتجاوز مقياس معيّن حدًا معيّنًا. نظام التنبيهات في Cloud Monitoring مرن جدًا، وقد جمعنا بعض الوصفات المفضّلة لدينا هنا، ولكن يمكنك استخدام إعدادات مخصّصة تناسب احتياجاتك.

وصفة: إشعار المحادثة بشأن استخدام workload_tag

يوضّح هذا المثال كيفية إعداد إشعار محادثة (مثل رسالة Google Chat أو رسالة Slack) إذا تجاوز استخدام حوسبة Earth Engine لـ workload_tag معيّن حدًا أقصى. يمكن أن يكون هذا الإجراء مفيدًا في حال كان لديك مجموعة من مهام التصدير التي تنشئ بيانات لخدمة الإنتاج، وأردت تلقّي إشعار إذا استهلكت بشكل جماعي أكثر من مقدار معيّن من وقت EECU.

  1. انتقِل إلى صفحة التنبيهات في قسم "المراقبة السحابية" ضمن Cloud Console.
  2. اختَر "إنشاء سياسة" لإعداد سياسة تنبيه جديدة.
  3. اختَر المقياس:
  4. إضافة فلتر:
    • استخدِم workload_tag == your_workload_tag_value لفلترة النتائج حسب علامة عبء عمل معيّنة.
    • استخدِم compute_type = batch أو compute_type = online للفلترة حسب نوع معيّن من العمليات الحسابية.
  5. اختَر قيمة مناسبة لـ "الفترة المتكرّرة". إذا لم تكن متأكدًا، استخدِم 5 min.
  6. اختَر "المجموع" من قائمة "وظيفة النافذة المتنقّلة". إعداد مقياس لتنبيه
  7. اختَر عبارة تشغيل التنبيه وأدخِل اسمًا لها.
  8. اختَر قنوات الإشعارات.
    • بالنسبة إلى هذه الوصفة، سنختار "إدارة قنوات الإشعارات" من النافذة المنبثقة، ثم "إضافة قناة جديدة" للصق معرّف المساحة في Google Chat. يمكن العثور على هذا المعرّف في عنوان URL لصفحة Gmail أو Chat عند عرض المحادثة.
    • إذا كنت تستخدم Google Chat، عليك أيضًا كتابة @Google Cloud Monitoring واختيار التطبيق لإضافة تطبيق "التنبيه" إلى مساحتك (إذا كانت مؤسستك تسمح بذلك).
  9. اختَر السياسة ذات الصلة وتصنيفات الأهمية.
  10. اكتب مقتطفًا قصيرًا من المستندات.
  11. انشر سياسة التنبيه الجديدة.

بعد ضبط الحدّ، ستتلقّى تنبيهات في مساحة الدردشة كلما تم تجاوز الحدّ لمشروعك.

وصفة: تلقّي تنبيهات عبر البريد الإلكتروني بشأن إجمالي وقت استخدام EECU قيد التقدّم

اتّبِع الخطوات نفسها المتعلّقة بإشعارات المحادثات، ولكن أجرِ التغييرَين التاليَين:

  1. تخطَّ خطوة إضافة فلتر workload_tag، حتى تتمكّن من الاطّلاع على جميع القيم.
  2. عند اختيار قناة إشعارات، بدلاً من ضبط قناة محادثة، أضِف عنوان بريدك الإلكتروني.

وقت الاستجابة والتوقيت للتنبيهات

يُرجى العِلم أنّه يحدث تأخير بسيط في نشر تقارير المراقبة، لذا لا تتوقّع تلقّي إشعارات فورية.

إلغاء المهام التي تستهلك الكثير من الموارد

مع توفّر حدّ أقصى، يمكن استخدام Earth Engine API للتحقّق بشكل دوري من قائمة المهام المعلّقة وطلب إلغاء أي مهمة قيد التنفيذ تتجاوز الحدّ الأقصى لثواني EECU.

وصفة: تشغيل مقتطف من الرمز في دفتر ملاحظات أو في واجهة Python المحلية

eecu_seconds_limit = 50 * 60 * 60  # 50 hours
print("Watching for operations to cancel...")
while(True):
  for op in ee.data.listOperations():
    if op['metadata']['state'] == 'RUNNING':
      if op['metadata'].get('batchEecuUsageSeconds', 0) > eecu_seconds_limit:
        print(f"Cancelling operation {op['name']}")
        ee.data.cancelOperation(op['name'])
  time.sleep(10)  # 10 seconds