Chociaż proste wiadomości e-mail z alertami dotyczącymi budżetu są stosunkowo łatwym sposobem na otrzymywanie aktualizacji dotyczących rozliczeń, może się zdarzyć, że zechcesz utworzyć bardziej wyrafinowane alerty zawierające bardziej dostosowaną logikę. Oto dwa podejścia do rozważenia:
Korzystaj z Cloud Monitoring, aby tworzyć bardziej wyrafinowane i aktualne alerty
Użyj powiadomienia Pub/Sub o rozliczeniach wraz z odpowiednią funkcją Cloud, aby stworzyć niestandardowe zachowanie w odpowiedzi na zmiany w wydatkach
Chociaż obie te techniki wymagają więcej pracy z Twojej strony, dają Ci możliwość dokładnego kontrolowania, jakiego rodzaju alerty otrzymujesz i jak na nie reagować.
Ta strona zawiera przegląd każdego z tych podejść.
Twórz bardziej zaawansowane alerty dzięki Cloud Monitoring
Proste e-maile z alertami o budżecie informują Cię, kiedy Twoje ogólne rozliczenia osiągnęły określone progi. Jednak możesz również chcieć wiedzieć, czy poszczególne usługi nieoczekiwanie rosną – zanim będą miały szansę znacząco wpłynąć na Twój budżet. W przypadku bardziej zaawansowanych przypadków użycia, takich jak ten, zalecamy zapoznanie się z Cloud Monitoring, który jest narzędziem Google Cloud dostępnym dla Twojego projektu 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 (zarówno dla usług Firebase, jak i Google Cloud, ale nawet dla usług zewnętrznych, takich jak AWS)
Jeśli usługi takie jak Cloud Functions będą odpowiadać dłużej niż oczekiwano
Jeśli Twój zasobnik Cloud Storage, instancja Bazy danych czasu rzeczywistego lub instancja Cloud Firestore odrzuca zbyt wiele żądań (oznacza to, że reguły zabezpieczeń Firebase mogą być nieprawidłowe).
Jeśli ilość zasobów używanych przez niektóre Twoje produkty Firebase przekroczyła określony próg
Alerty utworzone za pomocą Cloud Monitoring są zwykle wysyłane szybciej niż zwykłe wiadomości e-mail z alertami budżetowymi, które są zazwyczaj wysyłane raz dziennie. Alerty mogą mieć formę wiadomości SMS, wiadomości z kanału Slack, powiadomień PagerDuty, webhooków i nie tylko. Te opcje umożliwiają wysyłanie alertów o wyższych i bardziej praktycznych poziomach widoczności.
Korzystanie z monitorowania w chmurze
Aby rozpocząć korzystanie z Cloud Monitoring, zalecamy rozpoczęcie od Eksploratora danych , który umożliwia tworzenie wykresów niestandardowych danych w ramach projektu Firebase/Google Cloud i wizualizację ich wykorzystania.
W szczególności możesz przeglądać zasoby, takie jak instancje Cloud Firestore, Baza danych czasu rzeczywistego lub Cloud Function. Możesz wyświetlić informacje o użyciu tych produktów (takie jak liczba odczytań dokumentów, wysłanych bajtów lub wywołań funkcji), które mogą mieć wpływ na Twoje rozliczenia.
Po zapoznaniu się z wizualizacją wykorzystania zasobów w Eksploratorze metryk zalecamy utworzenie zasad alertów dotyczących metryk, na których najbardziej Ci zależy. Oto kilka przykładowych zasad dotyczących alertów:
Jeśli liczba odczytów dokumentu w ciągu 30 minut jest większa niż określona wartość
Jeśli użycie określonego zasobu (takiego jak wywołanie funkcji) wydaje się rosnąć zbyt szybko w określonym przedziale czasowym
Utwórz dodatkową logikę płatności
Alerty dotyczące budżetu wysyłają e-maile automatycznie, gdy budżet osiągnie określone progi, ale w przypadku bardziej wyrafinowanych alertów lub zautomatyzowanych reakcji na wzrost wydatków możesz rozważyć skonfigurowanie dodatkowej logiki niestandardowej opartej na wiadomościach Google Cloud Pub/Sub.
Możesz na przykład wysyłać alerty do kanałów Slack lub SMS-em albo wprowadzać zmiany programowe 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 postaci danych JSON — w sposób asynchroniczny za pośrednictwem kanałów znanych jako tematy Pub/Sub. Możesz skonfigurować autoryzowane usługi, takie jak Cloud Functions, aby słuchać wiadomości w tych tematach i odpowiednio działać na danych.
Pamiętaj, że powiadomienia Pub/Sub dotyczące rozliczeń są wysyłane mniej więcej raz na 20 minut, niezależnie od zmiany sposobu rozliczania, i są one bezstanowe (co oznacza, że nie zawierają kontekstu 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ć tymi danymi historycznymi za pomocą bazy danych, takiej jak Cloud Firestore lub Baza danych czasu rzeczywistego.
Używanie tematów Pub/Sub z Cloud Functions
Możesz skonfigurować temat Pub/Sub dla swoich danych rozliczeniowych, otwierając budżet powiązany z projektem Firebase w Google Cloud Console (w sekcji Rozliczenia > Budżety i alerty ), a następnie klikając pole wyboru Połącz temat Pub/Sub z tym budżetem . Spowoduje to utworzenie tematu Pub/Sub, którego możesz później posłuchać. Aby uzyskać szczegółowe instrukcje, zapoznaj się z pełną dokumentacją .
Po utworzeniu tematu rozliczeniowego Pub/Sub możesz napisać funkcję Cloud Functions, aby wysłuchać tego tematu i odpowiednio zareagować na dane. Dane są wysyłane jako dane JSON i zawierają przydatne informacje, takie jak dotychczas wydana kwota, kwota budżetu i data rozpoczęcia bieżącego cyklu rozliczeniowego.
Dokumentacja Google Cloud zawiera pełne informacje o tym, jak otrzymywać te dane za pomocą funkcji Cloud. Jeśli jednak do wdrażania funkcji używasz Cloud Functions dla Firebase, ogólny proces jest nieco prostszy (zapoznaj się z dokumentacją Firebase ). Możesz również zapoznać się z tym filmem , aby zapoznać się z przykładowym przewodnikiem po procesie.
Po otrzymaniu tych danych możesz na nie odpowiedzieć na kilka różnych sposobów. Oto kilka opcji:
Wysyłanie alertów do kanałów Slack , kanałów Discord lub wysyłanie wiadomości tekstowych, gdy wydatki osiągną określony próg.
Analizowanie wydatków w porównaniu z danymi historycznymi i ostrzeganie, jeśli coś wydaje się nietypowe
Wprowadzanie zmian w aplikacji za pomocą zdalnej konfiguracji , jeśli poziom rozliczeń jest zbyt wysoki
Całkowite wyłączenie projektu Firebase przez programowe usunięcie usługi rozliczeniowej z konta