Controlli dei costi

Configurare gli avvisi

Per controllare l'utilizzo e i costi delle risorse di Earth Engine, puoi configurare gli avvisi in Cloud Monitoring in modo che ti avvisino quando una metrica raggiunge una determinata soglia.

Il sistema di avviso di Cloud Monitoring è molto flessibile. Abbiamo raccolto alcune delle nostre ricette preferite qui, ma non esitare a sperimentare configurazioni personalizzate in base alle tue esigenze.

Ricetta: notifica chat per l'utilizzo di workload_tag

Questo esempio mostra come collegare una notifica di chat (ad es. un messaggio di Google Chat o di Slack) se l'utilizzo di risorse di calcolo di Earth Engine per un determinato workload_tag supera una soglia. Questa opzione può essere utile se hai un insieme di attività di esportazione che creano dati per il tuo servizio di produzione e vuoi ricevere una notifica se consumano collettivamente più di una determinata quantità di tempo EECU.

  1. Visita la pagina Avvisi nella sezione Cloud Monitoring della console Cloud.
  2. Scegli "Crea criterio" per configurare un nuovo criterio di avviso.
  3. Seleziona la metrica:
    • Secondi EECU in corso rappresenta il numero di secondi di calcolo in attesa (non ancora riusciti).
    • Per visualizzare la metrica, potrebbe essere necessario deselezionare il filtro "Attivo".
  4. Aggiungi un filtro:
    • Utilizza workload_tag == your_workload_tag_value per filtrare in base a un determinato tag del carico di lavoro.
    • Utilizza compute_type = batch o compute_type = online per filtrare in base a un particolar tipo di calcolo.
  5. Scegli un valore "Finestra mobile" appropriato. In caso di dubbi, utilizza 5 min.
  6. Seleziona "Somma" dal menu "Funzione finestra mobile". Configurazione di una metrica per un avviso
  7. Scegli l'attivatore dell'avviso e assegnagli un nome.
  8. Seleziona i canali di notifica.
    • Per questa ricetta, sceglieremo "Gestisci canali di notifica " dalla finestra di dialogo, quindi"Aggiungi nuovo " per incollare l'ID spazio di Google Chat. Questo ID è disponibile nell'URL della pagina di Gmail o Chat quando visualizzate la chat.
    • Se utilizzi Google Chat, dovrai anche digitare @Google Cloud Monitoring e selezionare l'app per aggiungere l'app di avviso al tuo spazio (se lo consente la tua organizzazione).
  9. Scegli le norme e le etichette di gravità pertinenti.
  10. Scrivi uno snippet di documentazione breve.
  11. Pubblica il nuovo criterio di avviso.

Una volta impostata, riceverai avvisi nello spazio di chat ogni volta che la soglia viene superata per il tuo progetto.

Ricevi avvisi via email per il tempo EECU totale in corso

Segui la procedura per le notifiche della chat, ma apporta due modifiche:

  1. Salta il passaggio per l'aggiunta di un filtro workload_tag per visualizzare tutti i valori.
  2. Quando selezioni un canale di notifica, anziché configurare un canale di chat, aggiungi il tuo indirizzo email.

Latenza e tempistica degli avvisi

Tieni presente che esiste un piccolo ritardo nella propagazione dei report di monitoraggio, pertanto non dovresti aspettarti notifiche istantanee.

Annullare le attività che richiedono molte risorse

Dato un limite, è possibile utilizzare l'API Earth Engine per controllare periodicamente l'elenco delle attività in attesa e richiedere l'annullamento di qualsiasi attività in esecuzione che superi il limite in secondi EECU.

Ricetta: esegui uno snippet di codice in un notebook o in una shell Python locale

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