Imposta avvisi e logica di fatturazione avanzati

Sebbene le semplici e-mail di avviso sul budget siano un modo relativamente semplice per ricevere aggiornamenti sulla fatturazione, potrebbero esserci momenti in cui desideri creare avvisi più sofisticati che includano una logica più personalizzata. Ecco due approcci da considerare:

  • Utilizza 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 modifiche della tua spesa

Sebbene entrambe queste tecniche richiedano più lavoro da parte tua, ti danno il potere di controllare esattamente quali tipi di avvisi ricevi e come rispondere ad essi.

Questa pagina offre una panoramica per ciascuno di questi approcci.

Crea avvisi più sofisticati con Cloud Monitoring

Semplici e-mail di avviso sul budget ti consentono di sapere quando la fatturazione complessiva ha raggiunto determinate soglie. Tuttavia, potresti anche essere interessato a sapere se i singoli servizi aumentano inaspettatamente, prima che abbiano la possibilità di incidere in modo significativo sul tuo budget. Per casi d'uso più sofisticati come questo, ti consigliamo di conoscere Cloud Monitoring, uno strumento Google Cloud disponibile per il tuo progetto Firebase.

Cloud Monitoring è utile per diversi tipi di avvisi:

  • Se una risorsa su cui fa affidamento il tuo progetto non è disponibile (sia per i servizi Firebase che per quelli Google Cloud, ma anche per servizi esterni, come AWS)

  • Se servizi come Cloud Functions impiegano più tempo del previsto per rispondere

  • Se il tuo bucket Cloud Storage, l'istanza Realtime Database o l'istanza Cloud Firestore rifiuta troppe richieste (un'indicazione che le regole di sicurezza Firebase potrebbero non essere corrette).

  • Se la quantità di risorse utilizzate da alcuni dei tuoi prodotti Firebase è aumentata oltre una determinata soglia

Gli avvisi creati tramite Cloud Monitoring vengono generalmente inviati più rapidamente rispetto alle semplici email di avviso sul budget, che in genere vengono inviate una volta al giorno. Gli avvisi possono assumere la forma di messaggi SMS, messaggi di canale Slack, notifiche PagerDuty, webhook e altro. Queste opzioni ti consentono di inviare avvisi con livelli di visibilità più elevati e più utilizzabili.

Utilizzo del monitoraggio nel cloud

Per iniziare con Cloud Monitoring, ti consigliamo di iniziare con Metrics Explorer , che ti consente di creare grafici di metriche personalizzate all'interno del tuo progetto Firebase/Google Cloud e visualizzarne l'utilizzo.

Nello specifico, puoi esaminare risorse come Cloud Firestore, Realtime Database o istanze Cloud Function. Puoi visualizzare le informazioni sull'utilizzo di questi prodotti (come il numero di letture di documenti, byte inviati o chiamate di funzioni) che influiranno sulla tua fatturazione.

Dopo aver acquisito familiarità con la visualizzazione dell'utilizzo delle risorse in Esplora metriche, ti consigliamo di creare una policy di avviso sulle metriche che ti interessano di più. Ecco alcuni esempi di policy di avviso:

  • Se il numero di letture di documenti in un periodo di tempo di 30 minuti è maggiore di un valore particolare

  • Se l'utilizzo di una risorsa specifica (come l'invocazione di una funzione) sembra aumentare troppo rapidamente in un determinato periodo di tempo

Creare una logica di fatturazione aggiuntiva

Gli avvisi sul budget inviano automaticamente email quando il tuo budget raggiunge determinate soglie, ma per avvisi più sofisticati o reazioni programmatiche agli aumenti di spesa, potresti prendere in considerazione l'impostazione 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, solitamente sotto forma di dati JSON, in modo asincrono attraverso 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 (ovvero non forniscono alcun contesto su ciò che le ha precedute). Se desideri tenere traccia degli aumenti insoliti della spesa nel tempo o confrontare la tua spesa con il ciclo precedente, dovrai gestire tu stesso i dati storici utilizzando un database come Cloud Firestore o Realtime Database.

Utilizzo di argomenti Pub/Sub con Cloud Functions

Puoi impostare 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 seguito. Per i passaggi dettagliati, fare riferimento alla 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 contiene dettagli completi su come ricevere questi dati utilizzando una funzione Cloud. Tuttavia, se utilizzi Cloud Functions for Firebase per distribuire le tue funzioni, il processo generale è un po' più semplice (consulta la documentazione di Firebase ). Puoi anche fare riferimento a questo video per un esempio di procedura dettagliata.

Una volta ricevuti questi dati, puoi rispondere in diversi modi. Ecco alcune opzioni: