Sebbene le email di avviso sul budget semplici siano un modo relativamente semplice per ricevere aggiornamenti sulla fatturazione, a volte potresti voler creare avvisi più sofisticati che includano una logica più personalizzata. Ecco due approcci da prendere in considerazione:
Utilizza Cloud Monitoring per creare avvisi più sofisticati e tempestivi
Utilizza una notifica di fatturazione Pub/Sub insieme a una funzione Cloud corrispondente per creare un comportamento personalizzato in risposta alle modifiche alla tua spesa.
Sebbene entrambe queste tecniche richiedano più lavoro da parte tua, ti danno la possibilità di controllare esattamente quali tipi di avvisi ricevi e come rispondere.
Questa pagina offre una panoramica di ciascuno di questi approcci.
Crea avvisi più sofisticati con Cloud Monitoring
Le email di avviso relativo al budget semplice ti informano quando la fatturazione complessiva ha raggiunto determinate soglie. Tuttavia, potresti anche essere interessato a sapere se i singoli servizi stanno aumentando in modo imprevisto, prima che abbiano la possibilità di influire in modo significativo sul tuo budget. Per casi d'uso più sofisticati come questo, ti consigliamo di scoprire di più su Cloud Monitoring, uno strumento Google Cloud disponibile per il tuo progetto Firebase.
Cloud Monitoring è utile per diversi tipi di avvisi:
Se una risorsa da cui dipende il tuo progetto non è disponibile (per i servizi Firebase e Google Cloud, ma anche per servizi esterni, come AWS)
Se servizi come Cloud Functions impiegano più tempo del previsto a rispondere
Se il bucket Cloud Storage, l'istanza Realtime Database o l'istanza Cloud Firestore rifiuta troppe richieste (un'indicazione che Firebase Security Rules potrebbe essere errato).
Se la quantità di risorse utilizzate da alcuni dei tuoi prodotti Firebase ha superato una determinata soglia
Gli avvisi creati tramite Cloud Monitoring vengono in genere inviati più rapidamente rispetto alle semplici email di avviso del budget, che vengono in genere inviate una volta al giorno. Gli avvisi possono assumere la forma di messaggi SMS, messaggi del canale Slack, notifiche PagerDuty, webhook e altro ancora. Queste opzioni ti consentono di inviare avvisi con livelli di visibilità più elevati e più utili.
Uso: Cloud Monitoring
Per iniziare a utilizzare Cloud Monitoring, ti consigliamo di iniziare con Esplora metriche, che ti consente di creare grafici delle metriche personalizzate all'interno del tuo progetto Firebase/Google Cloud e visualizzarne l'utilizzo.
In particolare, puoi esaminare risorse come le istanze Cloud Firestore, Realtime Database o Cloud Functions. Puoi visualizzare le informazioni sull'utilizzo di questi prodotti (ad esempio numero di letture di documenti, byte inviati o chiamate di funzioni) che influiscono sulla fatturazione.
Dopo aver acquisito familiarità con la visualizzazione dell'utilizzo delle risorse in Esplora metriche, ti consigliamo di creare un criterio di avviso per le metriche che ti interessano di più. Ecco alcuni esempi di criteri di avviso:
Se il numero di letture di documenti in un periodo di 30 minuti è superiore a un determinato valore
Se l'utilizzo di una risorsa specifica (ad esempio una chiamata di funzione) sembra aumentare troppo rapidamente in un determinato periodo di tempo
Crea una logica di fatturazione aggiuntiva
Gli avvisi relativi al budget inviano automaticamente email quando il budget raggiunge determinate soglie, ma per avvisi più sofisticati o reazioni programmatiche agli aumenti della spesa, potresti prendere in considerazione la configurazione di una logica personalizzata aggiuntiva basata sui messaggi Google Cloud Pub/Sub.
Ad esempio, puoi inviare avvisi ai canali Slack o tramite messaggio di testo oppure apportare modifiche programmatiche alla tua app o al tuo progetto a seconda dei livelli di spesa.
Pub/Sub è un servizio di passaggio di messaggi che consente ad altri servizi di inviare messaggi, di solito sotto forma di dati JSON, in modo asincrono tramite canali noti come argomenti Pub/Sub. Puoi configurare servizi autorizzati, come Cloud Functions, per ascoltare i messaggi in questi argomenti e agire sui dati in modo appropriato.
Tieni presente che le notifiche Pub/Sub per la fatturazione vengono inviate circa una volta ogni 20 minuti, indipendentemente dal fatto che l'utilizzo della fatturazione sia cambiato o meno, e sono senza stato (il che significa che non forniscono alcun contesto su ciò che le ha precedute). Se vuoi monitorare gli aumenti insoliti della spesa nel tempo o confrontare la tua spesa con il ciclo precedente, dovrai gestire autonomamente i dati storici utilizzando un database come Cloud Firestore o Realtime Database.
Utilizzare gli argomenti di Pub/Sub con Cloud Functions
Puoi configurare un argomento Pub/Sub per i tuoi dati di fatturazione visitando il budget associato al tuo progetto Firebase nella console Google Cloud (in Fatturazione > Budget e avvisi), quindi facendo clic sulla casella di controllo Collega un argomento Pub/Sub a questo budget. Verrà creato un argomento Pub/Sub che potrai ascoltare in un secondo momento. Per conoscere la procedura dettagliata, consulta la documentazione completa.
Dopo aver creato l'argomento di fatturazione Pub/Sub, puoi scrivere una funzione Cloud per ascoltare questo argomento e agire di conseguenza sui dati. I dati vengono inviati come dati JSON e includono informazioni utili come l'importo speso finora, l'importo del budget e la data di inizio del ciclo di fatturazione corrente.
La documentazione di Google Cloud fornisce tutti i dettagli su come ricevere questi dati utilizzando una funzione Cloud. Tuttavia, se utilizzi Cloud Functions for Firebase per eseguire il deployment delle funzioni, la procedura generale è un po' più semplice (consulta la documentazione di Firebase). Puoi anche consultare questo video per una procedura dettagliata di esempio.
Una volta ricevuti questi dati, puoi rispondere in diversi modi. Ecco alcune possibilità a disposizione:
Invio di avvisi ai canali Slack, ai canali Discord o invio di messaggi di testo quando la spesa ha raggiunto una determinata soglia.
Analisi delle tue spese rispetto ai dati storici e avviso in caso di anomalie
Apportare modifiche alla tua app tramite Remote Config se i livelli di fatturazione sono diventati troppo elevati
Disattivare completamente il progetto Firebase rimuovendo a livello di programmazione il servizio di fatturazione dal tuo account