Mit Cloud Monitoring komplexere und zeitnahere Benachrichtigungen erstellen
Eine Abrechnungs-Pub/Sub Benachrichtigung zusammen mit einer entsprechenden Cloud Functions-Funktion verwenden, um benutzerdefiniertes Verhalten als Reaktion auf Änderungen bei Ihren Ausgaben zu erstellen
Beide Methoden erfordern mehr Aufwand von Ihrer Seite, geben Ihnen aber die Möglichkeit, genau zu steuern, welche Arten von Benachrichtigungen Sie erhalten und wie Sie darauf reagieren.
Auf dieser Seite finden Sie eine Übersicht über die einzelnen Ansätze.
Komplexere Benachrichtigungen mit Cloud Monitoring erstellen
Einfache E‑Mail-Benachrichtigungen zu Budgets informieren Sie, wenn Ihre Gesamtabrechnung bestimmte Grenzwerte erreicht hat. Möglicherweise möchten Sie aber auch wissen, ob die Kosten für einzelne Dienste unerwartet steigen, bevor sie sich erheblich auf Ihr Budget auswirken. Für komplexere Anwendungsfälle wie diesen, empfehlen wir, sich mit Cloud Monitoring vertraut zu machen. Das ist ein 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 die Antwortzeiten von Diensten wie Cloud Functions länger als erwartet sind
Wenn in Ihrem Cloud Storage Bucket, Ihrer Realtime Database Instanz oder Cloud Firestore Instanz zu viele Anfragen abgelehnt werden (ein Hinweis darauf, dass Ihre Firebase Security Rules möglicherweise falsch sind)
Wenn die Menge der von einigen Ihrer Firebase-Produkte verwendeten Ressourcen einen bestimmten Grenzwert überschritten hat
Über Cloud Monitoring erstellte Benachrichtigungen werden in der Regel schneller gesendet als einfache E‑Mail-Benachrichtigungen zu Budgets, die normalerweise einmal täglich gesendet werden. Benachrichtigungen können in Form von SMS-Nachrichten, Slack-Kanalnachrichten, PagerDuty-Benachrichtigungen, Webhooks und mehr erfolgen. Mit diesen Optionen können Sie Benachrichtigungen mit einer höheren und besser umsetzbaren Sichtbarkeit senden.
Cloud Monitoring verwenden
Für den Einstieg in Cloud Monitoring empfehlen wir, mit dem Metrics Explorer zu beginnen. Damit können Sie Diagramme benutzerdefinierter Messwerte in Ihrem Firebase/Google Cloud Projekt erstellen und deren Nutzung visualisieren.
Sie können sich beispielsweise Ressourcen wie Ihre Cloud Firestore, Realtime Database, oder Cloud Functions-Instanzen ansehen. Sie können Nutzungsinformationen zu diesen Produkten aufrufen, z. B. die Anzahl der Dokumentlesevorgänge, die gesendeten Byte oder die Funktionsaufrufe, die sich auf Ihre Abrechnung auswirken.
Wenn Sie die Visualisierung Ihrer Ressourcennutzung im Metrics Explorer beherrschen, empfehlen wir, eine Benachrichtigungsrichtlinie für die Messwerte zu erstellen, die für Sie am wichtigsten sind. Hier 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. ein Funktionsaufruf) in einem bestimmten Zeitraum zu schnell zu steigen scheint
Zusätzliche Abrechnungslogik erstellen
Budgetbenachrichtigungen senden automatisch E‑Mails, wenn Ihr Budget bestimmte Grenzwerte erreicht. Für komplexere Benachrichtigungen oder programmatische Reaktionen auf Ausgabensteigerungen können Sie jedoch 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 programmatische Änderungen an Ihrer App oder Ihrem Projekt vornehmen, je nach Ausgabenniveau.
Pub/Sub ist ein Dienst zur Nachrichtenübermittlung, mit dem andere Dienste Nachrichten – in der Regel in Form von JSON-Daten – asynchron über Kanäle senden können, die als Pub/Sub-Themen bezeichnet werden. Sie können autorisierte Dienste wie Cloud Functions einrichten, um Nachrichten in diesen Themen zu empfangen 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. Sie sind zustandslos, d. h., sie enthalten keinen Kontext zu dem, was ihnen vorausgegangen ist. Wenn Sie ungewöhnliche Ausgabensteigerungen im Zeitverlauf verfolgen oder Ihre Ausgaben mit dem vorherigen Abrechnungszeitraum vergleichen möchten, müssen Sie diese Verlaufsdaten selbst mit einer Datenbank wie Cloud Firestore oder der Realtime Database verwalten.
Pub/Sub Themen mit Cloud Functions verwenden
Sie können ein Pub/Sub Thema für Ihre Abrechnungsdaten einrichten, indem Sie in der Konsole das Budget aufrufen, das mit Ihrem Firebase-Projekt verknüpft ist (unter Abrechnung > Budgets und Benachrichtigungen), und dann das Kästchen Ein Pub/Sub Thema mit diesem Budget verknüpfen anklicken.Google Cloud Dadurch wird ein Pub/Sub Thema erstellt, das Sie später abrufen können. Eine detaillierte Anleitung finden Sie in der vollständigen Dokumentation.
Nachdem Sie Ihr Pub/Sub Abrechnungsthema erstellt haben, können Sie eine Cloud Functions-Funktion schreiben, um dieses Thema zu abonnieren und entsprechend auf die Daten zu reagieren. Die Daten werden als JSON-Daten gesendet und enthalten nützliche Informationen wie den bisherigen Ausgabenbetrag, Ihren Budgetbetrag und das Startdatum Ihres aktuellen Abrechnungszeitraums.
In der Google Cloud Dokumentation finden Sie ausführliche Informationen dazu, wie Sie diese Daten mit einer Cloud Functions-Funktion empfangen. Wenn Sie jedoch Cloud Functions for Firebase verwenden, um Ihre Funktionen bereitzustellen, ist der allgemeine Prozess etwas einfacher (siehe die Firebase-Dokumentation). In diesem Video finden Sie auch eine Beispielanleitung für den Prozess.
Sobald Sie diese Daten erhalten haben, gibt es verschiedene Möglichkeiten, darauf zu reagieren. Sie haben unter anderem folgende Möglichkeiten:
Benachrichtigungen an Slack-Kanäle, Discord-Kanäle senden oder SMS-Nachrichten senden, wenn Ihre Ausgaben einen bestimmten Grenzwert erreicht haben.
Ihre Ausgaben mit Verlaufsdaten vergleichen und Sie benachrichtigen, wenn etwas ungewöhnlich erscheint
Änderungen an Ihrer App über Remote Config vornehmen, wenn die Abrechnung zu hoch ist