Skonfiguruj zaawansowane alerty i logikę płatności

Proste e-maile z alertami o budżecie to stosunkowo łatwy sposób na otrzymywanie aktualizacji dotyczących płatności, ale czasami możesz chcieć tworzyć bardziej zaawansowane alerty, które zawierają bardziej dostosowaną logikę. Oto 2 podejścia, które warto rozważyć:

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

  • Używaj powiadomienia o płatnościach Pub/Sub wraz z odpowiednią funkcją Cloud Function, aby tworzyć niestandardowe zachowania w reakcji na zmiany w wydatkach.

Obie te techniki wymagają więcej pracy, ale dają Ci możliwość 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 ogólnych należności. Może Cię jednak interesować, czy poszczególne usługi nieoczekiwanie rosną – zanim zdążą znacząco wpłynąć na Twój budżet. W bardziej zaawansowanych przypadkach użycia, takich jak ten, zalecamy zapoznanie się z Cloud Monitoring, czyli Google Cloud narzędziem dostępnym w Twoim projekcie Firebase.

Cloud Monitoring przydaje się w przypadku kilku różnych typów alertów:

  • Jeśli zasób, na którym opiera się Twój projekt, jest niedostępny (dotyczy to zarówno usług Firebase, jak i Google Cloud, a nawet usług zewnętrznych, takich jak AWS),

  • Jeśli usługi takie jak Cloud Functions odpowiadają dłużej niż zwykle,

  • Jeśli Twój Cloud Storage kosz, Realtime Database instancja lub Cloud Firestore instancja odrzuca zbyt wiele żądań (co wskazuje, że Twój Firebase Security Rules może być nieprawidłowy).

  • Jeśli ilość zasobów wykorzystywanych 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 o budżecie, które są zazwyczaj wysyłane raz dziennie. Alerty mogą przyjmować formę SMS-ów, wiadomości na kanale Slacka, powiadomień PagerDuty, webhooków i innych. Te opcje umożliwiają wysyłanie alertów o większej i bardziej przydatnej widoczności.

Jak korzystać z aplikacji Cloud Monitoring

Aby zacząć korzystać z Cloud Monitoring, zalecamy rozpoczęcie od Eksploratora danych, który umożliwia tworzenie wykresów danych niestandardowych w projekcie Firebase/Google Cloud i wizualizowanie ich wykorzystania.

Możesz na przykład sprawdzić zasoby takie jak instancje Cloud Firestore, Realtime Database lub Cloud Functions. Możesz wyświetlić informacje o używaniu tych usług (np. liczbę odczytów dokumentów, wysłanych bajtów lub wywołań funkcji), które mają wpływ na rozliczenia.

Gdy już będziesz w stanie wygodnie wizualizować wykorzystanie zasobów w Eksploratorze danych, zalecamy utworzenie zasad alertów dotyczących danych, które Cię najbardziej interesują. Oto kilka przykładowych zasad alertów:

  • Jeśli liczba odczytów dokumentów w 30-minutowym okresie przekracza określoną wartość

  • Jeśli użycie określonego zasobu (np. wywołanie funkcji) wydaje się zbyt szybko rosnąć w określonym przedziale czasu,

Tworzenie dodatkowej logiki rozliczeń

Alerty budżetowe automatycznie wysyłają e-maile, gdy budżet osiągnie określone progi. Jeśli jednak potrzebujesz bardziej zaawansowanych alertów lub automatycznych reakcji na wzrost wydatków, możesz skonfigurować dodatkową logikę niestandardową na podstawie komunikatów Google Cloud Pub/Sub.

Możesz na przykład wysyłać alerty na kanały Slacka lub SMS-em 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 formie danych JSON – w sposób asynchroniczny za pomocą kanałów zwanych Pub/Sub tematami. Możesz skonfigurować autoryzowane usługi, np. 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 płatności są wysyłane mniej więcej co 20 minut, niezależnie od tego, czy wykorzystanie związane z płatnościami uległo zmianie, i nie zawierają informacji o poprzednich zdarzeniach. Jeśli chcesz śledzić nietypowe wzrosty wydatków w czasie lub porównywać wydatki z poprzednim cyklem, musisz samodzielnie zarządzać danymi historycznymi za pomocą bazy danych, np. Cloud Firestore, lub Realtime Database.

Używanie tematów Pub/SubCloud Functions

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

Po utworzeniu Pub/Sub tematu związanego z płatnościami możesz napisać funkcję Cloud, która będzie nasłuchiwać tego tematu i odpowiednio reagować na dane. Dane są wysyłane w formacie JSON i zawierają przydatne informacje, takie jak kwota wydana do tej pory, kwota budżetu i data rozpoczęcia bieżącego cyklu rozliczeniowego.

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

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