I costi di export di Datastore non compaiono in Google Cloud Monitoring. Ecco come impostare avvisi in tempo reale per tenerli sotto controllo.
Il monitoraggio di Google Cloud Datastore, disponibile in GCP Operations (ex Stackdriver) e nella dashboard di App Engine, mostra le metriche delle operazioni Datastore e permette di risalire all'origine dei costi cloud o del carico sull'infrastruttura.

Scopri i costi nascosti di Google Cloud Datastore
O almeno, in gran parte.

Monitoraggio di Datastore nella dashboard di GCP Operations durante un Export

Monitoraggio di Datastore nella dashboard di GCP Operations durante un Export
Le operazioni di lettura che fanno parte di un Export di Datastore non vengono riportate nel monitoraggio: lo si vede chiaramente nelle due immagini a sinistra.
Confrontatele con la visualizzazione della dashboard durante le normali operazioni di Datastore (vedi l'Appendice in fondo all'articolo).
In sostanza, se eseguite un backup di grandi dimensioni tramite Export, ne pagherete il costo senza poterne individuare facilmente l'origine. Per di più, dato che gli Export vengono spesso schedulati a intervalli regolari tramite cron job o sistemi equivalenti, possono ripetersi di frequente e a vostra insaputa, anche su volumi enormi.
Potete monitorare i costi in GCP Billing o con reOptimize, ma con un giorno di ritardo e senza riuscire a identificarne con precisione la fonte.
Come impostare avvisi in tempo reale quando Datastore è in uso
Cercate invece una voce ExportEntities nei log di GCP. La trovate con questo filtro avanzato del Log Viewer (oppure andate direttamente qui).
Su questa query potete anche configurare un avviso che vi segnali quando Datastore è in uso, magari in modo intensivo.
I passaggi sono quelli classici per una Log-based Metric.
- Aprite la query nel Log Viewer.
- Selezionate "Create Metric".
- Assegnate un nome, ad esempio
DatastoreExport, e lasciate invariati gli altri valori predefiniti (Counter Metric). Cliccate su "Create Metric": verrete portati alla pagina Metrics. - Cliccate sui tre puntini verticali a destra della metrica, come nello screenshot, e scegliete "Create alert from metric".

Log Metrics: selezionate Create alert
A questo punto potrebbe essere necessario chiudere il pannello delle condizioni, perché i valori auto-compilati presentano un bug e mostrano un'indicazione di errore.
- Assegnate un nome alla policy di alerting, ad esempio
exporting-alert. - Cliccate su "Add Condition" per riaprire il pannello delle condizioni.
- Impostate come Target la nuova metrica basata sui log (
logging/user/DatastoreExport) e come condizione di trigger "is above 0". Cliccate su "Add".

Creazione di una policy di alerting
- Cliccate su "Add notification channel", scegliete "Email", inserite il vostro indirizzo e cliccate su "Add".
Da quel momento riceverete un'email a ogni esecuzione di Export.
Appendice
Queste immagini mostrano il normale funzionamento di Monitoring: le operazioni di Datastore vengono visualizzate correttamente.

Monitoraggio di Datastore nella dashboard di GCP Operations durante le normali operazioni

Monitoraggio di Datastore nella dashboard di GCP Operations durante le normali operazioni

Stato di fatturazione di Datastore nella dashboard di AppEngine, sia durante le normali operazioni sia durante un Export

Individuazione dell'Export (probabilmente attivato da cron) che ha generato il costo