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 Functions, 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 (dotyczy to zarówno Firebase i Google Cloud usług, jak i usług zewnętrznych, np. AWS).

  • Jeśli usługi takie jak Cloud Functions reagują dłużej niż oczekiwano.

  • 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ć SMS-ów, wiadomości na kanale Slack, powiadomień PagerDuty, webhooków i innych. Te opcje umożliwiają wysyłanie alertów z większą i bardziej praktyczną 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 i 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 automatycznie wysyłają e-maile, 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 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 postaci danych JSON – asynchronicznie za pomocą kanałów zwanych tematami 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 poprzedzało). 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, takiej jak Cloud Firestore lub Realtime Database.

Korzystanie z temat0/} w Cloud FunctionsPub/Sub

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 Functions, 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.

Więcej informacji o tym, jak otrzymywać te dane za pomocą Cloud Functions, 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: