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

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

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

للمساعدة في التحكّم في تكاليف 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 Console.
  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 Console: 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 واختيار التطبيق لإضافة تطبيق Alerting إلى مساحتك (إذا كانت مؤسستك تسمح بذلك).
  9. اختَر السياسة ذات الصلة وتصنيفات الأهمية.
  10. اكتب مقتطفًا قصيرًا من المستندات.
  11. انشر سياسة التنبيه الجديدة.

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

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

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

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

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

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

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

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

وصفة: تشغيل مقتطف من الرمز في دفتر ملاحظات أو في shell 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