Sebbene le semplici email di avviso relative al budget siano un modo relativamente semplice per ricevere aggiornamenti sulla fatturazione, a volte puoi voler creare avvisi più sofisticati che includono una logica più personalizzata. Ecco due approcci da considerare:
Usa Cloud Monitoring per creare avvisi più sofisticati e tempestivi
Utilizza una notifica Pub/Sub di fatturazione insieme a una funzione Cloud corrispondente per creare un comportamento personalizzato in risposta alle variazioni della spesa.
Entrambe queste tecniche richiedono un impegno maggiore da parte tua, ma offrono la per controllare esattamente quali tipi di avvisi ricevi e come a rispondere.
Questa pagina offre una panoramica di ognuno di questi approcci.
Crea avvisi più sofisticati con Cloud Monitoring
Semplici email di avviso relative al budget che ti consentono di sapere quando è stata raggiunta la tua fatturazione complessiva determinate soglie. Tuttavia, potrebbe interessarti anche sapere se i singoli servizi aumentano inaspettatamente, prima che abbiano avuto la possibilità per incidere significativamente sul tuo budget. Per casi d'uso più sofisticati come questo, ti consigliamo di scoprire di più su Cloud Monitoring, uno strumento Google Cloud disponibili per il tuo progetto Firebase.
Cloud Monitoring è utile per diversi tipi di avvisi:
Se una risorsa su cui si basa il tuo progetto non è disponibile (sia per Firebase e Google Cloud, ma anche per servizi esterni come AWS
Se servizi come Cloud Functions stanno richiedendo più tempo del previsto rispondere
Se il tuo bucket Cloud Storage, l'istanza Realtime Database oppure L'istanza Cloud Firestore sta rifiutando troppe richieste (indicando che le tue Firebase Security Rules potrebbe non essere corretto).
Se la quantità di risorse utilizzate da alcuni dei tuoi prodotti Firebase è aumentata oltre una determinata soglia
Gli avvisi creati tramite Cloud Monitoring in genere vengono inviati più rapidamente di semplici email di avviso relative al budget, che in genere vengono inviate una volta al giorno. Gli avvisi possono assumono la forma di messaggi SMS, messaggi dei canali Slack, notifiche di PagerDuty webhook e altro ancora. Queste opzioni ti consentono di inviare avvisi con livelli di visibilità strategici.
Uso: Cloud Monitoring
Per iniziare a utilizzare Cloud Monitoring, ti consigliamo di iniziare con il Esplora metriche, che ti consente di creare grafici di metriche personalizzate all'interno progetto Firebase/Google Cloud e visualizzarne l'utilizzo.
In particolare, puoi esaminare risorse come Cloud Firestore, Realtime Database o istanze Cloud Functions. Puoi visualizzare le informazioni sull'utilizzo di questi prodotti (ad esempio il numero di letture di documenti, i byte inviati o le chiamate di funzione) che influiscono sulla fatturazione.
Dopo aver acquisito familiarità con la visualizzazione dell'utilizzo delle risorse nella sezione Explorer, ti consigliamo di creare criterio di avviso nella le metriche che più ti interessano. Ecco alcuni esempi di criteri di avviso:
Se il numero di letture del documento in un periodo di 30 minuti è maggiore di particolare valore
Se l'utilizzo di una risorsa specifica (ad esempio la chiamata di una funzione) sembra essere aumentando troppo rapidamente in un determinato periodo di tempo
Creare una logica di fatturazione aggiuntiva
Gli avvisi relativi al budget inviano email automaticamente quando il budget raggiunge determinate soglie, ma per avvisi o reazioni programmatiche più sofisticati agli aumenti di spesa, ti consigliamo di configurare una logica personalizzata aggiuntiva in base ai messaggi Google Cloud Pub/Sub.
Ad esempio, puoi inviare avvisi ai canali Slack o tramite SMS oppure Apportare modifiche programmatiche alla tua app o al tuo progetto in base ai livelli di spesa.
Pub/Sub è un servizio di trasmissione messaggi che consente ad altri servizi di inviare messaggi, solitamente sotto forma di dati JSON, in modo asincrono tramite canali noti come Pub/Sub argomenti. Puoi configurare le autorizzazioni servizi come Cloud Functions, per ascoltare i messaggi in questi argomenti e agire in modo appropriato sui dati.
Tieni presente che le notifiche di 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 stateless (ovvero che non forniscono alcun contesto su ciò che li ha preceduti). Se vuoi tenere traccia di aumenti insoliti della spesa nel tempo oppure confrontare spesa del ciclo precedente, dovrai gestire lo storico personalmente i dati utilizzando un database come Cloud Firestore o Realtime Database.
Utilizzo di Pub/Sub argomenti 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) e 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 la procedura dettagliata, consulta per consultare la documentazione completa.
Dopo aver creato l'argomento fatturazione Pub/Sub, puoi scrivere un la funzione Cloud Functions per ascoltare questo argomento e agire di conseguenza sui dati. La vengono inviati come dati JSON e includono informazioni utili come la quantità speso fino a quel momento, l'importo del budget e la data di inizio del ciclo di fatturazione di Google Cloud.
La documentazione di Google Cloud contiene tutti i dettagli su come ricevere questi dati utilizzando una funzione Cloud Functions. 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, hai a disposizione vari modi per a rispondere. Ecco alcune possibilità a disposizione:
Invio di avvisi ai canali Slack canali Discord o inviare messaggi quando la spesa ha raggiunto un una certa soglia.
Analizza la tua spesa rispetto ai dati storici e ti avvisa se qualcosa sembra fuori dall'ordinario
Apportare modifiche alla tua app tramite Remote Config se i livelli di fatturazione sono diventati troppo alti
Disabilita completamente il progetto Firebase rimuovere in modo programmatico il servizio di fatturazione dal tuo account