Richten Sie erweiterte Abrechnungswarnungen und -logiken ein

Während einfache Budget Alarm - E - Mails eine relativ einfache Art und Weise sind billing - Updates zu erhalten, kann es vorkommen, dass Sie anspruchsvollere Benachrichtigungen erstellen möchten , die mehr kundenspezifische Logik enthalten. Hier sind zwei Ansätze zu berücksichtigen:

  • Verwenden Sie Cloud Monitoring, um ausgefeiltere und aktuellere Benachrichtigungen zu erstellen

  • Verwenden Sie eine Pub/Sub-Benachrichtigung für die Abrechnung zusammen mit einer entsprechenden Cloud Functions-Funktion, um ein benutzerdefiniertes Verhalten als Reaktion auf Änderungen Ihrer Ausgaben zu erstellen

Beide Techniken erfordern zwar mehr Arbeit von Ihrer Seite, geben Ihnen jedoch die Möglichkeit, genau zu steuern, welche Arten von Warnungen Sie erhalten und wie Sie darauf reagieren.

Diese Seite bietet eine Übersicht zu jedem dieser Ansätze.

Erstellen Sie mit Cloud Monitoring ausgefeiltere Benachrichtigungen

Einfache Budgetbenachrichtigungs-E-Mails informieren Sie, wenn Ihre Gesamtabrechnung bestimmte Schwellenwerte erreicht hat. Es könnte Sie jedoch auch interessieren, ob einzelne Dienste unerwartet zunehmen – bevor sie Ihr Budget erheblich beeinträchtigen können. Für komplexere Anwendungsfälle wie diesen empfehlen wir Ihnen, sich mit Cloud Monitoring vertraut zu machen, einem Google Cloud-Tool, das für Ihr Firebase-Projekt verfügbar ist.

Cloud Monitoring ist für verschiedene Arten von Benachrichtigungen nützlich:

  • Wenn eine Ressource, auf die Ihr Projekt angewiesen ist, nicht verfügbar ist (sowohl für Firebase- als auch für Google Cloud-Dienste, aber auch für externe Dienste wie AWS)

  • Wenn Dienste wie Cloud Functions länger als erwartet brauchen, um zu reagieren

  • Wenn Ihr Cloud Storage-Bucket, Ihre Realtime Database-Instanz oder Ihre Cloud Firestore-Instanz zu viele Anfragen ablehnt (ein Hinweis darauf, dass Ihre Firebase-Sicherheitsregeln möglicherweise falsch sind).

  • Wenn der Ressourcenverbrauch einiger Ihrer Firebase-Produkte einen bestimmten Schwellenwert überschritten hat

Über Cloud Monitoring erstellte Benachrichtigungen werden in der Regel schneller gesendet als einfache E-Mails mit Budgetbenachrichtigungen, die normalerweise einmal täglich gesendet werden. Warnungen können in Form von SMS-Nachrichten, Slack-Kanalnachrichten, PagerDuty-Benachrichtigungen, Webhooks und mehr erfolgen. Mit diesen Optionen können Sie Warnungen mit höherer und umsetzbarer Sichtbarkeit senden.

Cloud Monitoring verwenden

Um mit Cloud Monitoring, empfehlen wir mit dem Metrics Explorer , mit dem Sie grafische Darstellungen von benutzerdefinierten Metriken in Ihrer Firebase / Google Cloud - Projekt und visualisieren , deren Nutzung erstellen kann.

Insbesondere können Sie sich Ressourcen wie Ihre Cloud Firestore-, Realtime Database- oder Cloud Functions-Instanzen ansehen. Sie können Nutzungsinformationen zu diesen Produkten anzeigen (z. B. die Anzahl der gelesenen Dokumente, gesendete Bytes oder Funktionsaufrufe), die sich auf Ihre Abrechnung auswirken.

Nachdem Sie bequem Ihre Ressourcennutzung in der Metrics Explorer sichtbar zu machen , empfehlen schaffen wir eine Alarmierungspolitik auf den Metriken über die meisten Sie sich interessieren. Hier einige Beispiele für Benachrichtigungsrichtlinien:

  • Wenn die Anzahl der Dokumentlesevorgänge in einem Zeitraum von 30 Minuten größer als ein bestimmter Wert ist than

  • Wenn die Nutzung einer bestimmten Ressource (wie eines Funktionsaufrufs) in einem bestimmten Zeitraum zu schnell zuzunehmen scheint seems

Zusätzliche Abrechnungslogik erstellen

Budgetbenachrichtigungen senden automatisch E-Mails, wenn Ihr Budget bestimmte Schwellenwerte erreicht. Für komplexere Benachrichtigungen oder programmatische Reaktionen auf Ausgabenerhöhungen können Sie jedoch eine zusätzliche benutzerdefinierte Logik basierend auf Google Cloud Pub/Sub-Nachrichten einrichten.

Sie können beispielsweise Benachrichtigungen an Slack-Kanäle oder per SMS senden oder je nach Ausgabenniveau programmatische Änderungen an Ihrer App oder Ihrem Projekt vornehmen.

Pub/Sub ist ein Message-Passing-Dienst, mit dem andere Dienste Nachrichten – normalerweise in Form von JSON-Daten – asynchron über Kanäle senden können, die als Pub/Sub-Themen bekannt sind. Sie können autorisierte Dienste wie Cloud Functions einrichten, um Nachrichten in diesen Themen abzuhören und entsprechend auf die Daten zu reagieren.

Beachten Sie, dass Pub/Sub-Benachrichtigungen für die Abrechnung ungefähr alle 20 Minuten gesendet werden, unabhängig davon, ob sich Ihre Abrechnungsnutzung geändert hat oder nicht. Sie sind zustandslos (d. h. sie bieten keinen Kontext zu den vorherigen Vorgängen). Wenn Sie ungewöhnliche Ausgabensteigerungen im Laufe der Zeit verfolgen oder Ihre Ausgaben mit dem vorherigen Zyklus vergleichen möchten, müssen Sie diese historischen Daten mithilfe einer Datenbank wie Cloud Firestore oder der Realtime Database selbst verwalten.

Pub/Sub-Themen mit Cloud Functions verwenden

Sie können ein Pub / Sub - Thema für Ihre Abrechnungsdaten durch den Besuch des Haushalts im Zusammenhang mit Ihrem Firebase - Projekt in dem Google Cloud Console (unter Abrechnung> Haushalt und Alarmen), dann klicken Sie das Kontrollkästchen für Connect ein Pub / Sub - Thema dieses Budget einrichten . Dadurch wird ein Pub/Sub-Thema erstellt, das Sie später anhören können. Ausführliche Anleitungen finden Sie in der vollständigen Dokumentation .

Nachdem Sie Ihr Pub/Sub-Abrechnungsthema erstellt haben, können Sie eine Cloud Functions-Funktion schreiben, um sich dieses Thema anzuhören und entsprechend auf die Daten zu reagieren. Die Daten werden als JSON-Daten gesendet und enthalten hilfreiche Informationen wie den Betrag, den Sie bisher ausgegeben haben, Ihren Budgetbetrag und das Startdatum Ihres aktuellen Abrechnungszeitraums.

Die Google Cloud-Dokumentation enthält ausführliche Informationen zum Empfangen dieser Daten mit einer Cloud-Funktion. Wenn Sie jedoch verwenden Cloud - Funktionen für die Firebase Ihre Funktionen zu implementieren, ist der allgemeine Prozess ein wenig einfacher ist (siehe Info aus Firebase Dokumentation ). Sie können auch beziehen dieses Video für eine Probe Durchlauf des Prozesses.

Nachdem Sie diese Daten erhalten haben, haben Sie verschiedene Möglichkeiten, darauf zu reagieren. Hier sind einige Optionen: