Kontrola kosztów

Konfigurowanie alertów

Aby kontrolować koszty i wykorzystanie zasobów Earth Engine, możesz skonfigurować alerty w Cloud Monitoring, które będą Cię ostrzegać, gdy dany wskaźnik osiągnie określony próg.

System alertów Cloud Monitoring jest bardzo elastyczny. Zebraliśmy tu kilka naszych ulubionych przepisów, ale możesz też eksperymentować z niestandardowymi konfiguracjami, które odpowiadają Twoim potrzebom.

Przepis: powiadomienie o czacie dotyczące korzystania z workload_tag

Ten przykład pokazuje, jak skonfigurować powiadomienie z czatu (np. wiadomość z Google Chat lub Slack), jeśli wykorzystanie zasobów obliczeniowych Earth Engine dla danego workload_tag przekroczy określony próg. Może to być przydatne, jeśli masz zestaw zadań eksportu, które tworzą dane dla usługi produkcyjnej, i chcesz otrzymywać powiadomienia, gdy łączny czas ich wykonywania przekroczy pewną wartość w EECU.

  1. Otwórz stronę Alerty w sekcji Cloud Monitoring w konsoli Google Cloud.
  2. Aby skonfigurować nową zasadę tworzenia alertów, kliknij „Utwórz zasadę”.
  3. Wybierz dane:
    • W toku EECU-sekundreprezentuje liczbę oczekujących (jeszcze nieudanych) sekund obliczeń.
    • Aby zobaczyć dane, konieczne może być odznaczenie filtra „Aktywne”.
  4. Dodawanie filtra:
    • Aby filtrować według konkretnego tagu obciążenia, użyj parametru workload_tag == your_workload_tag_value.
    • Aby filtrować według konkretnego typu obliczeń, użyj wartości compute_type = batch lub compute_type = online.
  5. Wybierz odpowiednią wartość „Okno przesuwające się”. Jeśli nie masz pewności, użyj 5 min.
  6. W menu „Funkcja okna przesuwającego” kliknij „Suma”. Konfiguracja rodzaju danych dla alertu
  7. Wybierz wyzwalacz alertu i nadaj mu nazwę.
  8. Wybierz kanały powiadomień.
    • W tym przypadku w oknie modalnym kliknij „Zarządzaj kanałami powiadomień”, a następnie „Dodaj nowy”, aby wkleić identyfikator pokoju w Google Chat. Ten identyfikator można znaleźć w adresie URL strony Gmail lub Google Chat podczas wyświetlania czatu.
    • Jeśli korzystasz z Google Chat, musisz też wpisać @Google Cloud Monitoring i wybrać aplikację, aby dodać ją do pokoju (jeśli pozwala na to Twoja organizacja).
  9. Wybierz odpowiednie zasady i etykiety wagi.
  10. Napisz krótki fragment dokumentacji.
  11. Opublikuj nową zasadę tworzenia alertów.

Po ustawieniu progu będziesz otrzymywać alerty w czacie za każdym razem, gdy zostanie on przekroczony w Twoim projekcie.

Receptura: otrzymywanie e-maili z alertami o łącznym czasie trwania EECU w toku

Postępuj zgodnie z instrukcjami dotyczącymi powiadomień z Google Chat, ale wprowadź 2 zmiany:

  1. Pomiń krok dodawania filtra workload_tag, aby wyświetlić wszystkie wartości.
  2. Zamiast konfigurować kanał czatu, dodaj adres e-mail.

Czas opóźnienia i wyświetlenia alertu

Pamiętaj, że rozpowszechnianie raportów z monitorowania może zająć trochę czasu, więc nie spodziewaj się natychmiastowych powiadomień.

Anulowanie zadań wymagających dużych zasobów

W przypadku limitu można używać interfejsu Earth Engine API do okresowego sprawdzania listy oczekujących zadań i prośby o anulowanie każdego uruchomionego zadania, które przekracza limit EECU-sekund.

Procedura: uruchamianie fragmentu kodu w notatniku lub lokalnym powłoce Pythona

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