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/Sub z Cloud 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.
W 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:
Wysyłanie alertów na kanały Slacka, kanały Discorda lub wysyłanie wiadomości tekstowych, gdy wydatki osiągną określony próg.
analizowanie Twoich wydatków w porównaniu z danymi historycznymi i ostrzeganie Cię, jeśli coś wydaje się nietypowe;
Wprowadzanie zmian w aplikacjiRemote Config, jeśli poziomy płatności są zbyt wysokie
całkowite wyłączenie projektu Firebase przez programowe usunięcie usługi rozliczeniowej z konta;