Контроль затрат, Контроль затрат

Настройка оповещений

Чтобы контролировать использование ресурсов и затраты Earth Engine, вы можете настроить оповещения в Cloud Monitoring, чтобы предупреждать вас, когда показатель достигает определенного порога.

Система оповещений Cloud Monitoring очень гибкая. Мы собрали здесь несколько наших любимых рецептов, но не стесняйтесь экспериментировать с индивидуальными конфигурациями, которые соответствуют вашим потребностям.

Рецепт: уведомление в чате об использовании workload_tag

В этом примере показано, как подключить уведомление чата (например, сообщение Google Chat или сообщение Slack), если использование вычислительных ресурсов Earth Engine для данного workload_tag ​​превышает пороговое значение. Это может быть полезно в случае, если у вас есть набор задач экспорта, которые создают данные для вашего производственного сервиса, и вы хотите получать уведомления, если они в совокупности потребляют больше определенного количества времени EECU.

  1. Посетите страницу «Оповещения» в разделе «Облачный мониторинг» облачной консоли.
  2. Выберите «Создать политику», чтобы настроить новую политику оповещений.
  3. Выберите показатель:
    • Число EECU-секунд в процессе выполнения представляет собой количество ожидающих (еще не успешных) вычислительных секунд.
    • Возможно, вам придется отменить выбор фильтра «Активный», чтобы увидеть показатель.
  4. Добавьте фильтр:
    • Используйте workload_tag == your_workload_tag_value для фильтрации по определенному тегу рабочей нагрузки.
    • Используйте compute_type = batch или compute_type = online для фильтрации по определенному типу вычислений.
  5. Выберите подходящее значение «Скользящего окна». Если вы не уверены, используйте 5 min .
  6. Выберите «Сумма» в меню «Функция скользящего окна». Конфигурация показатель для оповещения
  7. Выберите триггер оповещения и дайте ему имя.
  8. Выберите каналы уведомлений.
    • В этом рецепте мы выберем «Управление каналами уведомлений» в модальном окне, затем «Добавить новый», чтобы вставить идентификатор пространства вашего чата Google. Этот идентификатор можно найти в URL-адресе страницы Gmail или чата при просмотре чата.
    • Если вы используете Google Chat, вам также потребуется ввести @Google Cloud Monitoring и выбрать приложение, чтобы добавить приложение для оповещений в свое пространство (если это разрешено вашей организацией).
  9. Выберите соответствующую политику и метки серьезности.
  10. Напишите небольшой фрагмент документации.
  11. Опубликуйте свою новую политику оповещений!

После установки вы будете получать оповещения в своем чате каждый раз, когда порог превышен для вашего проекта.

Рецепт: получайте оповещения по электронной почте об общем времени выполнения EECU.

Следуйте рецепту уведомлений чата, но внесите два изменения:

  1. Пропустите шаг добавления фильтра workload_tag , чтобы вы могли видеть все значения.
  2. При выборе канала уведомлений вместо настройки канала чата добавьте свой адрес электронной почты.

Задержка и время оповещения

Обратите внимание, что распространение отчетов о мониторинге происходит с небольшой задержкой, поэтому не следует ожидать мгновенных уведомлений.

Отмените ресурсоемкие задачи

Учитывая ограничение, можно использовать API Earth Engine для периодической проверки списка ожидающих задач и запроса отмены для любой запущенной задачи, которая превышает лимит 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
,

Настройка оповещений

Чтобы контролировать использование ресурсов и затраты Earth Engine, вы можете настроить оповещения в Cloud Monitoring, чтобы предупреждать вас, когда показатель достигает определенного порога.

Система оповещений Cloud Monitoring очень гибкая. Мы собрали здесь несколько наших любимых рецептов, но не стесняйтесь экспериментировать с индивидуальными конфигурациями, которые соответствуют вашим потребностям.

Рецепт: уведомление в чате об использовании workload_tag

В этом примере показано, как подключить уведомление чата (например, сообщение Google Chat или сообщение Slack), если использование вычислительных ресурсов Earth Engine для данного workload_tag ​​превышает пороговое значение. Это может быть полезно в случае, если у вас есть набор задач экспорта, которые создают данные для вашего производственного сервиса, и вы хотите получать уведомления, если они в совокупности потребляют больше определенного количества времени EECU.

  1. Посетите страницу «Оповещения» в разделе «Облачный мониторинг» облачной консоли.
  2. Выберите «Создать политику», чтобы настроить новую политику оповещений.
  3. Выберите показатель:
    • Число EECU-секунд в процессе выполнения представляет собой количество ожидающих (еще не успешных) вычислительных секунд.
    • Возможно, вам придется отменить выбор фильтра «Активный», чтобы увидеть показатель.
  4. Добавьте фильтр:
    • Используйте workload_tag == your_workload_tag_value для фильтрации по определенному тегу рабочей нагрузки.
    • Используйте compute_type = batch или compute_type = online для фильтрации по определенному типу вычислений.
  5. Выберите подходящее значение «Скользящего окна». Если вы не уверены, используйте 5 min .
  6. Выберите «Сумма» в меню «Функция скользящего окна». Конфигурация показатель для оповещения
  7. Выберите триггер оповещения и дайте ему имя.
  8. Выберите каналы уведомлений.
    • В этом рецепте мы выберем «Управление каналами уведомлений» в модальном окне, затем «Добавить новый», чтобы вставить идентификатор пространства вашего чата Google. Этот идентификатор можно найти в URL-адресе страницы Gmail или чата при просмотре чата.
    • Если вы используете Google Chat, вам также потребуется ввести @Google Cloud Monitoring и выбрать приложение, чтобы добавить приложение для оповещений в свое пространство (если это разрешено вашей организацией).
  9. Выберите соответствующую политику и метки серьезности.
  10. Напишите небольшой фрагмент документации.
  11. Опубликуйте свою новую политику оповещений!

После установки вы будете получать оповещения в своем чате каждый раз, когда порог превышен для вашего проекта.

Рецепт: получайте оповещения по электронной почте об общем времени выполнения EECU.

Следуйте рецепту уведомлений чата, но внесите два изменения:

  1. Пропустите шаг добавления фильтра workload_tag , чтобы вы могли видеть все значения.
  2. При выборе канала уведомлений вместо настройки канала чата добавьте свой адрес электронной почты.

Задержка и время оповещения

Обратите внимание, что распространение отчетов о мониторинге происходит с небольшой задержкой, поэтому не следует ожидать мгновенных уведомлений.

Отмените ресурсоемкие задачи

Учитывая ограничение, можно использовать API Earth Engine для периодической проверки списка ожидающих задач и запроса отмены для любой запущенной задачи, которая превышает лимит 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