Richten Sie erweiterte Abrechnungswarnungen und -logiken ein

Während einfache Budgetbenachrichtigungs-E-Mails eine relativ einfache Möglichkeit sind, Abrechnungsaktualisierungen zu erhalten, kann es vorkommen, dass Sie komplexere Benachrichtigungen erstellen möchten, die eine individuellere Logik enthalten. Hier sind zwei Ansätze zu berücksichtigen:

  • Verwenden Sie Cloud Monitoring, um anspruchsvollere und zeitnahere Warnungen zu erstellen

  • Verwenden Sie eine Pub/Sub-Abrechnungsbenachrichtigung zusammen mit einer entsprechenden Cloud-Funktion, um benutzerdefiniertes Verhalten als Reaktion auf Änderungen Ihrer Ausgaben zu erstellen

Obwohl diese beiden Techniken mehr Arbeit von Ihrer Seite erfordern, geben sie Ihnen die Möglichkeit, genau zu steuern, welche Arten von Warnungen Sie erhalten und wie Sie darauf reagieren.

Diese Seite bietet einen Überblick über jeden dieser Ansätze.

Erstellen Sie mit Cloud Monitoring komplexere Warnungen

Einfache Budgetbenachrichtigungs-E-Mails informieren Sie, wenn Ihre Gesamtabrechnung bestimmte Schwellenwerte erreicht hat. Möglicherweise möchten Sie aber auch wissen, ob einzelne Dienste unerwartet zunehmen – bevor sie sich nennenswert auf Ihr Budget auswirken können. Für anspruchsvollere Anwendungsfälle wie diesen empfehlen wir, 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 Warnungen 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 die Menge der von einigen Ihrer Firebase-Produkte genutzten Ressourcen einen bestimmten Schwellenwert überschritten hat

Über Cloud Monitoring erstellte Benachrichtigungen werden in der Regel schneller gesendet als einfache Budgetbenachrichtigungs-E-Mails, 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 besser umsetzbarer Sichtbarkeit senden.

Verwenden von Cloud Monitoring

Um mit Cloud Monitoring zu beginnen, empfehlen wir, mit dem Metrics Explorer zu beginnen, mit dem Sie Diagramme benutzerdefinierter Metriken in Ihrem Firebase-/Google Cloud-Projekt erstellen und deren Nutzung visualisieren können.

Konkret können Sie sich Ressourcen wie Ihre Cloud Firestore-, Realtime Database- oder Cloud Function-Instanzen ansehen. Sie können Nutzungsinformationen zu diesen Produkten anzeigen (z. B. Anzahl der Dokumentlesevorgänge, gesendete Bytes oder Funktionsaufrufe), die sich auf Ihre Abrechnung auswirken würden.

Nachdem Sie sich mit der Visualisierung Ihrer Ressourcennutzung im Metrik-Explorer vertraut gemacht haben, empfehlen wir Ihnen, eine Benachrichtigungsrichtlinie für die Metriken zu erstellen, die Ihnen am wichtigsten sind. Hier sind einige Beispiele für Benachrichtigungsrichtlinien:

  • Wenn die Anzahl der Dokumentlesevorgänge in einem Zeitraum von 30 Minuten einen bestimmten Wert überschreitet

  • Wenn die Nutzung einer bestimmten Ressource (z. B. eines Funktionsaufrufs) in einem bestimmten Zeitraum zu schnell zuzunehmen scheint

Erstellen Sie zusätzliche Abrechnungslogik

Budgetbenachrichtigungen versenden automatisch E-Mails, wenn Ihr Budget bestimmte Schwellenwerte erreicht. Für anspruchsvollere Benachrichtigungen oder programmatische Reaktionen auf Ausgabenerhöhungen können Sie jedoch die Einrichtung zusätzlicher benutzerdefinierter Logik auf der Grundlage von Google Cloud Pub/Sub-Nachrichten in Betracht ziehen.

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

Pub/Sub ist ein Nachrichtenübermittlungsdienst, der es anderen Diensten ermöglicht, Nachrichten – normalerweise in Form von JSON-Daten – asynchron über Kanäle zu senden, die als Pub/Sub-Themen bezeichnet werden. 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 zur Abrechnung etwa alle 20 Minuten gesendet werden, unabhängig davon, ob sich Ihre Abrechnungsnutzung geändert hat oder nicht, und dass sie zustandslos sind (das heißt, sie bieten keinen Kontext zu dem, was ihnen vorangegangen ist). 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 einrichten, indem Sie das mit Ihrem Firebase-Projekt verknüpfte Budget in der Google Cloud Console aufrufen (unter Billing > Budgets and Alerts ) und dann auf das Kontrollkästchen „Pub/Sub-Thema mit diesem Budget verbinden“ klicken . Dadurch wird ein Pub/Sub-Thema erstellt, das Sie später anhören können. Detaillierte Schritte finden Sie in der vollständigen Dokumentation .

Nachdem Sie Ihr Pub/Sub-Abrechnungsthema erstellt haben, können Sie eine Cloud-Funktion schreiben, um dieses Thema zu überwachen 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 Empfang dieser Daten mithilfe einer Cloud-Funktion. Wenn Sie jedoch Cloud Functions für Firebase zum Bereitstellen Ihrer Funktionen verwenden, ist der allgemeine Prozess etwas einfacher (sehen Sie sich die Firebase-Dokumentation an). Sie können sich auch dieses Video ansehen, um eine exemplarische Vorgehensweise für den Prozess zu erhalten.

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