Bien que les alertes budgétaires simples par e-mail sont un moyen relativement simple de recevoir des informations sur la facturation, il peut arriver que vous souhaitez créer des alertes plus sophistiquées avec une logique plus personnalisée. Voici deux approches à envisager:
Utiliser Cloud Monitoring pour créer des alertes plus sophistiquées et plus opportunes
Utiliser une notification de facturation Pub/Sub avec les Cloud Functions pour créer un comportement personnalisé en réponse aux modifications dépenses
Bien que ces deux techniques nécessitent plus de travail de votre part, elles vous donnent pour contrôler précisément les types d'alertes que vous recevez et comment d'y répondre.
Cette page présente chacune de ces approches.
Créer des alertes plus sophistiquées avec Cloud Monitoring
De simples alertes budgétaires par e-mail vous permettent de vous avertir lorsque votre facturation globale a été atteinte certains seuils. Cependant, vous pouvez également savoir si les services individuels augmentent de façon inattendue, avant même qu'ils n'aient peut avoir un impact significatif sur votre budget. Pour des cas d'utilisation plus sophistiqués comme celui-ci, nous vous recommandons de vous familiariser avec Cloud Monitoring, qui est un outil Google Cloud. disponibles pour votre projet Firebase.
Cloud Monitoring est utile pour plusieurs types d'alertes :
Si une ressource sur laquelle s'appuie votre projet n'est pas disponible (pour les Firebase et des services Google Cloud, mais même pour des services externes, comme AWS)
Si les services tels que Cloud Functions mettent plus de temps que prévu à répondre
Si votre bucket Cloud Storage, votre instance Realtime Database ou votre instance Cloud Firestore rejette trop de requêtes (ce qui indique que votre Firebase Security Rules est peut-être incorrect).
Si la quantité de ressources utilisée par certains de vos produits Firebase ont dépassé un certain seuil
Les alertes créées via Cloud Monitoring sont généralement envoyées plus rapidement de simples e-mails d'alerte budgétaire, généralement envoyés une fois par jour. Les alertes peuvent peuvent prendre la forme de SMS, de messages de chaîne Slack, de notifications PagerDuty, les webhooks, etc. Ces options vous permettent d'envoyer des alertes avec des niveaux de visibilité plus élevés et plus exploitables.
Utiliser un fichier de cookie (Cloud Monitoring)
Pour commencer à utiliser Cloud Monitoring, nous vous recommandons de commencer par le Explorateur de métriques, qui vous permet de créer des graphiques de métriques personnalisées Firebase/Google Cloud et visualiser leur utilisation.
Plus précisément, vous pouvez consulter des ressources telles que vos instances Cloud Firestore, Realtime Database ou Cloud Functions. Vous pouvez consulter les informations d'utilisation ces produits (nombre de lectures de documents, d'octets envoyés, d'appels) qui aurait un impact sur votre facturation.
Une fois que vous vous êtes familiarisé avec la visualisation de l'utilisation des ressources dans le tableau de bord Google Cloud, nous vous recommandons de créer règle d'alerte sur la les métriques qui vous intéressent le plus. Voici quelques exemples de règles d'alerte:
Si le nombre de lectures du document sur une période de 30 minutes est supérieur à valeur particulière
Si l'utilisation d'une ressource spécifique (comme un appel de fonction) semble être augmenter trop rapidement au cours d'une période donnée
Créer une logique de facturation supplémentaire
Les alertes budgétaires vous envoient automatiquement des e-mails lorsque votre budget atteint une certaine mais pour des alertes plus sophistiquées ou des réactions programmatiques l'augmentation de vos dépenses, vous pouvez envisager de mettre en place une logique personnalisée sur Google Cloud Pub/Sub messages.
Par exemple, vous pouvez envoyer des alertes sur des chaînes Slack ou par SMS. apporter des modifications programmatiques à votre application ou à votre projet en fonction de vos dépenses.
Pub/Sub est un service de transmission de messages qui permet à d'autres services d'envoyer messages (généralement sous forme de données JSON) de manière asynchrone via des canaux appelés "thèmes Pub/Sub". Vous pouvez configurer des autorisations services, tels que Cloud Functions, pour écouter les messages de ces sujets et d’agir sur les données de manière appropriée.
Notez que les notifications Pub/Sub pour la facturation sont envoyées environ une fois toutes les 20 minutes, qu'elles aient changé ou non, sans état (c'est-à-dire qu'elles ne fournissent aucun contexte sur ce qui les a précédés). Si vous souhaitez suivre les augmentations inhabituelles des dépenses au fil du temps ou comparer vos dépenses par rapport au cycle précédent, vous devez gérer cet historique données vous-même à l'aide d'une base de données comme Cloud Firestore ou Realtime Database.
Utilisation de Pub/Sub thèmes avec Cloud Functions
Vous pouvez configurer un sujet Pub/Sub pour vos données de facturation en accédant à la associé à votre projet Firebase dans la console Google Cloud (sous Facturation > Budgets et alertes), puis cochez la case Associez un thème "Pub/Sub" à ce budget. Cela créera un Pub/Sub thème que vous pourrez écouter plus tard. Pour connaître la procédure détaillée, consultez la documentation complète.
Une fois que vous avez créé votre sujet de facturation Pub/Sub, vous pouvez écrire une fonction Cloud pour écouter ce sujet et agir en conséquence sur les données. Les données sont envoyées au format JSON et incluent des informations utiles telles que le montant que vous avez dépensé jusqu'à présent, le montant de votre budget et la date de début de votre cycle de facturation en cours.
La documentation Google Cloud explique en détail comment recevoir ces données à l'aide d'une fonction Cloud. Toutefois, si vous utilisez Cloud Functions for Firebase pour pour déployer vos fonctions, le processus général est un peu plus simple (consultez la documentation Firebase). Vous pouvez également vous reporter à cette vidéo. pour voir un exemple de tutoriel du processus.
Une fois que vous avez reçu ces données, vous pouvez y répondre. Vous avez le choix entre différentes options :
Envoi d'alertes sur des chaînes Slack Canaux Discord : envoi de SMS lorsque vos dépenses ont atteint un un certain seuil.
Analyser vos dépenses par rapport aux données historiques et vous alerter en cas d'anomalie
Apporter des modifications à votre application via Remote Config si les niveaux de facturation sont trop élevés
Désactivez entièrement votre projet Firebase Supprimer de manière programmatique votre service de facturation de votre compte