Skonfiguruj zaawansowane alerty i logikę płatności

Alerty o budżecie to stosunkowo prosty sposób na otrzymywanie informacji o rozliczeniach, 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 do tworzenia bardziej zaawansowanych i aktualnych alertów

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

Obie te techniki wymagają więcej pracy z Twojej strony, 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że Cię jednak interesować, czy poszczególne usługi nieoczekiwanie się rozwijają, 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 w 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 Cloud StoragekoszRealtime Database, instancja lub Cloud Firestoreinstancja odrzuca zbyt wiele żądań (co wskazuje, że Firebase Security Rulesmoż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ż podstawowe 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 Metrics Explorer, która 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 korzystaniu z 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 Metrics Explorer, zalecamy utworzenie zasad tworzenia alertów dotyczących najważniejszych dla Ciebie wskaźników. 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, ale w przypadku 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, 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 rozliczeniowe uległo zmianie, i nie zawierają informacji o kontekście (co oznacza, że nie podają informacji o tym, co było wcześniej). 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

Aby skonfigurować temat Pub/Sub dla danych rozliczeniowych, otwórz budżet powiązany z projektem Firebase w Google Cloud konsoli (w sekcji Rozliczenia > Budżety i alerty), a następnie kliknij 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/Subtematu rozliczeniowego możesz napisać funkcję w Cloud Functions, 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.

W dokumentacji Google Cloud 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). Możesz też obejrzeć ten film, w którym pokazujemy, jak to zrobić.

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