Skonfiguruj zaawansowane alerty i logikę płatności

Proste e-maile z alertami dotyczącymi budżetu to stosunkowo łatwy sposób na otrzymywanie informacji o rozliczeniach, ale czasami możesz chcieć utworzyć bardziej zaawansowane alerty, które będą zawierać bardziej spersonalizowaną logikę. Oto 2 podejścia, które warto rozważyć:

  • Użyj Cloud Monitoring, aby tworzyć bardziej zaawansowane i aktualne alerty.

  • Użyj powiadomienia rozliczeniowego Pub/Sub wraz z odpowiednią funkcją Cloud, aby utworzyć niestandardowe działanie w odpowiedzi na zmiany w wydatkach.

Obie te metody wymagają więcej pracy, ale dają Ci możliwość dokładnego kontrolowania, jakie alerty otrzymujesz i jak na nie reagujesz.

Na tej stronie znajdziesz omówienie każdego z tych podejść.

Tworzenie bardziej zaawansowanych alertów za pomocą Cloud Monitoring

Proste e-maile z alertami dotyczącymi budżetu informują o osiągnięciu określonych progów rozliczeniowych. Możesz jednak chcieć wiedzieć, czy poszczególne usługi nieoczekiwanie się rozwijają – zanim zdążą znacząco wpłynąć na Twój budżet. W przypadku bardziej zaawansowanych zastosowań, takich jak ten, zalecamy zapoznanie się z Cloud Monitoring, czyli Google Cloud narzędziem dostępnym w Twoim projekcie w Firebase.

Cloud Monitoring jest przydatny w przypadku kilku różnych typów alertów:

  • Jeśli zasób, na którym opiera się Twój projekt, jest niedostępny (zarówno w przypadku usług Firebase i Google Cloud usług, jak i usług zewnętrznych, np. AWS).

  • Jeśli usługi takie jak Cloud Functions działają dłużej niż oczekiwano, aby odpowiedzieć

  • Jeśli zasobnik Cloud Storage, instancja Realtime Database lub instancja Cloud Firestore odrzuca zbyt wiele żądań (co wskazuje, że Firebase Security Rules mogą być nieprawidłowe).

  • Jeśli ilość zasobów używanych przez niektóre usługi Firebase przekroczyła określony próg.

Alerty utworzone za pomocą Cloud Monitoring są zwykle wysyłane szybciej niż proste e-maile z alertami dotyczącymi budżetu, które są zazwyczaj wysyłane raz dziennie. Alerty mogą mieć postać wiadomości SMS, wiadomości na kanale Slack, powiadomień PagerDuty, webhooków i innych. Te opcje umożliwiają wysyłanie alertów z większą i bardziej przydatną widocznością.

Korzystanie z Cloud Monitoring

Aby rozpocząć korzystanie z Cloud Monitoring, zalecamy rozpoczęcie od Metrics Explorer, który umożliwia tworzenie wykresów niestandardowych wskaźników w projekcie Firebase/Google Cloud oraz wizualizowanie ich wykorzystania.

Możesz w szczególności sprawdzić zasoby takie jak Cloud Firestore, Realtime Database, lub instancje Cloud Functions. Możesz wyświetlić informacje o wykorzystaniu tych usług (np. liczbę odczytów dokumentów, wysłanych bajtów lub wywołań funkcji), które będą miały wpływ na Twoje rozliczenia.

Gdy już będziesz mieć pewność, że możesz wizualizować wykorzystanie zasobów w Metrics Explorer, zalecamy utworzenie zasady tworzenia alertów dotyczącej wskaźników, które są dla Ciebie najważniejsze. Oto kilka przykładów reguł alertów:

  • Jeśli liczba odczytów dokumentów w 30-minutowym okresie jest większa niż określona wartość.

  • Jeśli wykorzystanie określonego zasobu (np. wywołania funkcji) wydaje się zbyt szybko rosnąć w określonym przedziale czasu.

Tworzenie dodatkowej logiki rozliczeniowej

Alerty dotyczące budżetu są wysyłane automatycznie, gdy budżet osiągnie określone progi, ale w przypadku bardziej zaawansowanych alertów lub programowych reakcji na wzrost wydatków możesz skonfigurować dodatkową logikę niestandardową opartą na Google Cloud Pub/Sub wiadomościach.

Możesz na przykład wysyłać alerty na kanały Slack lub w wiadomościach tekstowych albo wprowadzać programowe zmiany w aplikacji lub projekcie w zależności od poziomu wydatków.

Pub/Sub to usługa przesyłania wiadomości, która umożliwia innym usługom wysyłanie wiadomości – zwykle w postaci danych JSON – asynchronicznie za pomocą kanałów znanych jako tematy Pub/Sub. Możesz skonfigurować autoryzowane usługi, takie jak Cloud Functions, aby nasłuchiwały wiadomości w tych tematach i odpowiednio reagowały na dane.

Pamiętaj, że Pub/Sub powiadomienia dotyczące rozliczeń są wysyłane mniej więcej co 20 minut, niezależnie od tego, czy wykorzystanie rozliczeń się zmieniło, i są bezstanowe (co oznacza, że nie zawierają kontekstu dotyczącego tego, co je poprzedziło). Jeśli chcesz śledzić nietypowe wzrosty wydatków w czasie lub porównywać wydatki z poprzednim cyklem, musisz samodzielnie zarządzać tymi historycznymi danymi za pomocą bazy danych, takiej jak Cloud Firestore lub Realtime Database.

Korzystanie z tematów Pub/Sub z Cloud Functions

Aby skonfigurować temat Pub/Sub dla danych rozliczeniowych, otwórz budżet powiązany z projektem w Firebase w konsoli Google Cloud (w sekcji Rozliczenia > Budżety i alerty), a następnie kliknij pole wyboru Połącz temat Pub/Sub z tym budżetem. Spowoduje to utworzenie Pub/Sub tematu, którego możesz później nasłuchiwać. Szczegółowe instrukcje znajdziesz w pełnej dokumentacji.

Po utworzeniu tematu rozliczeniowego Pub/Sub możesz napisać funkcję Cloud, która będzie nasłuchiwać ten temat i odpowiednio reagować na dane. Dane są wysyłane w formacie JSON i zawierają przydatne informacje, takie jak dotychczasowe wydatki, kwota budżetu i data rozpoczęcia bieżącego cyklu rozliczeniowego.

Pełne informacje o tym, jak odbierać te dane za pomocą funkcji Cloud, znajdziesz w dokumentacji Google Cloud. Jeśli jednak używasz Cloud Functions for Firebase do wdrażania funkcji, ogólny proces jest nieco prostszy (zapoznaj się z dokumentacją Firebase). Przykładowy opis procesu znajdziesz też w tym filmie.

Po otrzymaniu tych danych możesz na nie reagować na wiele różnych sposobów. Możliwości są następujące: