E-maile z alertami dotyczącymi prostego budżetu są stosunkowo łatwe do otrzymywania aktualizacji płatności, mogą się przy tym chcesz tworzyć bardziej zaawansowane alerty z większą logiką dostosowaną do swoich potrzeb. Możesz to rozważyć na 2 sposoby:
Używaj Cloud Monitoring, aby tworzyć bardziej złożone i aktualne alerty
Użyj powiadomienia dotyczącego płatności Pub/Sub wraz z odpowiednim w Cloud Functions pozwalającą tworzyć niestandardowe zachowania w odpowiedzi na zmiany wydatki
Obie te techniki wymagają większego nakładu pracy, ale dają możesz dokładnie kontrolować, jakie typy alertów są wysyłane i w jaki sposób i odpowiedzieć na nie.
Na tej stronie znajdziesz omówienie każdej z tych metod.
Tworzenie bardziej złożonych alertów w Cloud Monitoring
E-maile z alertami dotyczącymi prostego budżetu powiadomią Cię o osiągnięciu ogólnej płatności pewnych progów. Być może jednak zainteresuje Państwa usług niespodziewanie wzrasta aby znacząco wpłynąć na budżet. W bardziej złożonych przypadkach użycia, takich jak ten, zalecamy zapoznanie się z narzędziem Google Cloud – Cloud Monitoring dostępnych w Twoim projekcie Firebase.
Usługa Cloud Monitoring jest przydatna 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 Firebase i Google Cloud, ale nawet w przypadku usług zewnętrznych, AWS)
Jeśli usługi takie jak Cloud Functions potrzebują czasu odpowiedzieć
Jeśli zasobnik Cloud Storage, instancja Bazy danych czasu rzeczywistego lub Instancja Cloud Firestore odrzuca zbyt wiele żądań (wskazuje to, że Reguły zabezpieczeń Firebase mogą być nieprawidłowe).
Jeśli ilość zasobów zużywanych przez niektóre z Twoich usług Firebase wzrosła powyżej określonego progu
Alerty tworzone przez Cloud Monitoring są zwykle wysyłane szybciej niż proste e-maile z alertami dotyczącymi budżetu, które są zwykle wysyłane raz dziennie. Alerty mogą mogą być wysyłane w formie SMS-ów, wiadomości z kanału Slacka, powiadomień PagerDuty, webhooki itp. Te opcje umożliwiają wysyłanie alertów o wyższej i wyższej wartości praktycznych poziomów widoczności.
Korzystanie z Cloud Monitoring
Aby zacząć korzystać z Cloud Monitoring, warto zacząć od Metrics Explorer, który umożliwia tworzenie wykresów niestandardowych danych w obrębie projektu Firebase/Google Cloud i wizualizowania ich wykorzystania.
Możesz przyjrzeć się zasobom takim jak Cloud Firestore, Instancje bazy danych czasu rzeczywistego lub Cloud Functions. Możesz wyświetlić informacje o użytkowaniu dotyczące tych usług (np. liczba odczytów dokumentów, wysłanych bajtów lub funkcja wywołania), które mogą mieć wpływ na płatności.
Gdy będziesz dobrze wizualizować wykorzystanie zasobów w sekcji Wskaźniki Eksploratora, zalecamy utworzenie zasad tworzenia alertów na stronie danych, na których najbardziej Ci zależy. Oto kilka przykładowych zasad tworzenia alertów:
Jeśli liczba odczytów dokumentu w ciągu 30 minut jest większa niż konkretna wartość
Jeśli wykorzystanie określonego zasobu (np. wywołanie funkcji) wydaje się zbyt szybki wzrost w danym okresie
Utwórz dodatkową logikę płatności
Alerty dotyczące budżetu wysyłają e-maile automatycznie, gdy budżet osiągnie określony poziom ale także w przypadku bardziej złożonych alertów i zautomatyzowanych reakcji na: wzrost wydatków, można rozważyć skonfigurowanie dodatkowych w wiadomościach Google Cloud Pub/Sub.
Można na przykład wysyłać alerty do kanałów na Slacku, przez SMS-y lub wprowadzać automatyczne zmiany w aplikacji lub projekcie w zależności od poziomu wydatków.
Pub/Sub to usługa przekazująca 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 znanych jako tematy Pub/Sub. Możesz skonfigurować autoryzowane takich jak Cloud Functions, by nasłuchiwać wiadomości dotyczących tych tematów będzie prawidłowo działać na danych.
Pamiętaj, że powiadomienia Pub/Sub dotyczące płatności są wysyłane mniej więcej raz na 20 minut od tego, czy zmienił się sposób korzystania z płatności, bezstanowy (co oznacza, że nie podano kontekstu co do tego, co je poprzedzało). Jeśli chcesz śledzić nietypowe wzrosty wydatków na przestrzeni czasu lub porównywać niż w poprzednim cyklu, należy zarządzać danymi historycznymi samodzielnie przy użyciu bazy danych takiej jak Cloud Firestore czy Baza danych czasu rzeczywistego.
Używanie tematów Pub/Sub z Cloud Functions
Temat Pub/Sub możesz skonfigurować dla swoich danych rozliczeniowych. Aby to zrobić, otwórz powiązanego z projektem Firebase w konsoli Google Cloud (w sekcji Płatności > Budżety i alerty), a następnie kliknij pole wyboru obok Połącz temat Pub/Sub z tym budżetem. Spowoduje to utworzenie Temat Pub/Sub, którego możesz posłuchać później. Szczegółowe instrukcje znajdziesz tutaj: pełną dokumentację.
Po utworzeniu tematu płatności Pub/Sub możesz napisać funkcję w Cloud Functions, aby nasłuchiwać tego tematu i w razie potrzeby podejmować odpowiednie działania na podstawie danych. są wysyłane w postaci danych JSON i zawierają przydatne informacje, takie jak ilość dotychczasowe wydatki, kwotę budżetu i datę rozpoczęcia bieżącego cyklu rozliczeniowego.
Szczegółowe informacje o tym, jak otrzymywać te dane, znajdziesz w dokumentacji Google Cloud za pomocą funkcji w Cloud Functions. Jeśli jednak używasz Cloud Functions dla Firebase do do wdrożenia funkcji, ogólny proces jest nieco prostszy (zobacz dokumentację Firebase). Możesz też obejrzeć ten film .
Po otrzymaniu tych danych możesz na nie odpowiedzieć. Możliwości są następujące:
Wysyłanie alertów do kanałów Slack na Discordzie lub do wysyłania SMS-ów, gdy Twoje wydatki osiągną pewnych wartości progowych.
Analizowanie wydatków w porównaniu z danymi historycznymi i powiadamianie, jeśli dzieje się coś nietypowego
Wprowadzanie zmian w aplikacji za pomocą Zdalna konfiguracja jeśli poziomy płatności są zbyt wysokie
Całkowite wyłączenie projektu Firebase: automatyczne usunięcie usługi rozliczeniowej, z Twojego konta