Monitorowanie wykorzystania bazy danych

W ramach zarządzania projektami Firebase warto sprawdzić wykorzystanie zasobów przez Realtime Database (np. ile użytkowników jest połączonych, ile miejsca na dane zużywa baza danych) oraz wpływ tego wykorzystania na wysokość rachunku.

Aby sprawdzić Realtime Database rozliczenia za wykorzystanie, otwórz panel Wykorzystanie i płatności. Więcej informacji o płatnościach znajdziesz w artykule Informacje o płatnościach Realtime Database.

W przypadku wykorzystania zasobów możesz monitorować wykorzystanie Realtime Database za pomocą karty Wykorzystanie w konsoli Firebase oraz danych dostępnych w Cloud Monitoring.

otrzymywać alerty Firebase.

Możesz otrzymywać e-maile z alertami, gdy wykorzystanie Realtime Database zbliża się do jednego z limitów w Twoim planie cenowym. Domyślnie Firebase wysyła e-maile z ostrzeżeniem, gdy osiągniesz limit abonamentu lub go przekroczysz, ale możesz też wyrazić zgodę na otrzymywanie tych powiadomień wcześniej, aby dostosować abonament lub wykorzystanie i uniknąć przerw w działaniu usługi.

Te alerty Firebase i ich ustawienia dotyczą całego projektu. Oznacza to, że domyślnie każdy użytkownik projektu, który ma wymagane uprawnienia do otrzymywania alertów, otrzyma e-maila, gdy zostanie uruchomiony alert Realtime Database. E-maile są wysyłane na poszczególne adresy e-mail (nie na grupy kont, takie jak grupy Google czy konta Google Workspace).

Włączanie i wyłączanie alertów na własnym koncie

Na swoim koncie możesz włączać i wyłączać alerty Realtime Database bez wpływu na innych członków projektu. Pamiętaj, że nadal musisz mieć wymagane uprawnienia, aby otrzymywać alerty.

Aby włączyć lub wyłączyć alerty Realtime Database:

  1. W prawym górnym rogu konsoli Firebase kliknij Alerty Firebase.
  2. Następnie otwórz Ustawienia i ustaw preferencje konta dotyczące Realtime Database alertów.

Monitorowanie wykorzystania w konsoli Firebase

Aby sprawdzić bieżące połączenia Realtime Database i użycie danych, kliknij kartę Użycie w konsoli Firebase. Możesz sprawdzić wykorzystanie w bieżącym okresie rozliczeniowym, w ciągu ostatnich 30 dni lub w ciągu ostatnich 24 godzin.

Firebase wyświetla statystyki użytkowania dotyczące tych danych:

  • Połączenia:liczba jednoczesnych, aktualnie otwartych połączeń z bazą danych w czasie rzeczywistym. Dotyczy to tych połączeń w czasie rzeczywistym: WebSocket, długie pollingi i zdarzenia wysyłane przez serwer w formacie HTML. Nie obejmuje żądań RESTful.
  • Pamięć: ilość danych przechowywanych w bazie danych. Nie obejmuje to Hostingu Firebase ani danych zapisanych przy użyciu innych usług Firebase.
  • Pobranianie: wszystkie bajty pobierane z Twojej bazy danych, z uwzględnieniem informacji protokołu oraz narzutu wynikającego z szyfrowania.
  • Obciążenie: ten wykres pokazuje, jaka część bazy danych jest używana do przetwarzania żądań w danym 1-minutowym interwale. Gdy baza danych będzie się zbliżać do 100%, mogą pojawić się problemy z wydajnością.

Karta Reguły w Baza danych czasu rzeczywistego w konsoli Firebase

Dodatkowo konsola Firebase zawiera panel oceny Firebase Security Rules, w którym możesz szybko sprawdzić wywołania reguł. Ten panel możesz uzupełnić o szczegółową analizę w Cloud Monitoring.

Więcej informacji znajdziesz w artykule Monitorowanie reguł zabezpieczeń w Cloud Monitoring.

Karta Wykorzystanie w BDB w konsoli Firebase

Monitorowanie użytkowania za pomocą Cloud Monitoring

Dane na temat wykorzystania

Aby za pomocą usługi Cloud Monitoring monitorować wykorzystanie objęte opłatami, śledź te dane: Pamiętaj, że wszystkie nazwy typów danych mają przedrostek firebasedatabase.googleapis.com/.

Nazwa wskaźnika Opis
Wysłane bajty ładunku

network/sent_payload_bytes_count. Te dane odzwierciedlają rozmiar danych żądanych przez operacje bazy danych (w tym pobierania, zapytania, zapisy, aktualizacje słuchaczy w czasie rzeczywistym i transmisje). Nie obejmuje żadnych kosztów połączenia (protokół lub szyfrowanie). Wartość „sent_payload_bytes_count” wpływa na koszty przesyłanej przepustowości, ale nie uwzględnia łącznych kosztów rozliczanych. Jest to szacunkowa wartość danych wysłanych z Twojej bazy danych w odpowiedzi na żądania, ale ponieważ mierzy rozmiar żądanych danych, a nie faktycznie wysłanych danych, może nie zawsze być dokładna.

Liczba bajtów ładunku i protokołu wysłanych

network/sent_payload_and_protocol_bytes_count. Te dane odzwierciedlają rozmiar danych ładunku opisanego powyżej oraz narzut protokołu wymagany przez połączenie (np. nagłówki HTTP, ramki WebSocket i ramki protokołu Firebase w czasie rzeczywistym). Nie uwzględnia kosztów szyfrowania w przypadku bezpiecznych połączeń.

Liczba wysłanych bajtów network/sent_bytes_count. Te dane to szacowana łączna wielkość danych wysłanych z bazy danych przez odczyty. Obejmuje dane ładunku, które są faktycznie wysyłane do klientów, a także koszty związane z protokołem i szyfrowaniem, które powodują koszty połączenia. Najdokładniej odzwierciedla ona łączną przepustowość wychodzącą na rachunku Realtime Database.
Łączna liczba bajtów

storage/total_bytes. Te dane pozwalają sprawdzać, ile danych przechowujesz w bazie danych. Dane przechowywane w Realtime Database wpływają na koszty rozliczeniowe.

Łącz dane na wykresach w panelu, aby uzyskiwać przydatne statystyki i przegląd. Wypróbuj na przykład te kombinacje:

  • Dane wychodzące: użyj wskaźników network/sent_bytes_count, network/sent_payload_and_protocol_bytes_count i network/sent_payload_bytes_count, aby wykryć potencjalne problemy z narzutami na szyfrowanie lub protokół, które powodują nieoczekiwane koszty na rachunku. Jeśli zauważysz dużą rozbieżność między rozmiarem żądanych danych a innymi danymi odzwierciedlającymi obciążenie połączenia, warto rozwiązać problemy, które mogą prowadzić do przekroczenia limitu czasu lub częstych połączeń. Jeśli nie używasz biletów sesji TLS, możesz je wdrożyć, aby zmniejszyć narzut SSL w przypadku wznawianych połączeń.
  • Operacje: korzystaj z danych io/database_load, aby sprawdzić, jaka część całkowitego obciążenia bazy danych jest wykorzystywana przez dany typ operacji. Aby rozwiązać problemy z różnymi typami operacji, należy utworzyć grupy io/database_load według typu.
  • Miejsce na dane: użyj funkcji storage/limit i storage/total_bytes, aby monitorować wykorzystanie miejsca na dane w odniesieniu do limitów Realtime Database.

Zobacz pełną listę danych Realtime Database dostępnych w usłudze Cloud Monitoring.

Tworzenie obszaru roboczego Cloud Monitoring

Aby monitorować Realtime Database za pomocą Cloud Monitoring, musisz skonfigurować obszar roboczy dla swojego projektu. Obszar roboczy organizuje informacje monitorowania z co najmniej 1 projektu. Po skonfigurowaniu środowiska pracy możesz tworzyć niestandardowe panele i zasady powiadamiania.

  1. Otwórz stronę Cloud Monitoring

    Jeśli projekt jest już częścią obszaru roboczego, otworzy się strona Cloud Monitoring. W przeciwnym razie wybierz obszar roboczy dla projektu.

  2. Wybierz opcję Nowy obszar roboczy lub wybierz istniejący obszar roboczy.

  3. Kliknij Dodaj. Po utworzeniu obszaru roboczego otworzy się strona Cloud Monitoring.

Tworzenie panelu i dodawanie wykresu

Wyświetlaj dane Realtime Database zebrane przez Cloud Monitoring na własnych wykresach i panelach.

Zanim przejdziesz dalej, sprawdź, czy Twój projekt jest częścią obszaru roboczego Cloud Monitoring.

  1. Na stronie Cloud Monitoring otwórz obszar roboczy i przejdź do strony Panele.

    Otwórz stronę Panele

  2. Kliknij Utwórz panel i wpisz nazwę panelu.

  3. W prawym górnym rogu kliknij Dodaj wykres.

  4. W oknie Dodaj wykres wpisz tytuł wykresu. Kliknij kartę Dane.

  5. W polu Znajdź typ zasobu i wskaźnik wpisz Firebase Realtime Database. W menu wybierz jeden z danych Realtime Database.

  6. Aby dodać więcej danych do tego samego wykresu, kliknij Dodaj dane i powtórz poprzedni krok.

  7. Opcjonalnie możesz dostosować wykres do swoich potrzeb. Na przykład w polu Filtr kliknij + Dodaj filtr. Przewiń w dół i wybierz wartość lub zakres danych, według których chcesz odfiltrować wykres.

  8. Kliknij Zapisz.

Więcej informacji o kartach Cloud Monitoring znajdziesz w artykule Praca z kartami.

Przygotowanie zasad tworzenia alertów

Możesz utworzyć zasady tworzenia alertów na podstawie wskaźników Realtime Database. Wykonując podane niżej czynności, możesz utworzyć zasadę tworzenia alertów, która będzie wysyłać Ci e-maile, gdy określony Realtime Database przekroczy określony próg.

Zanim przejdziesz dalej, sprawdź, czy Twój projekt jest częścią obszaru roboczego Cloud Monitoring.

  1. Na stronie Cloud Monitoring otwórz obszar roboczy i przejdź na stronę Alerty.

    Otwórz stronę Utwórz nową zasadę tworzenia alertów

  2. Kliknij Utwórz zasadę.

  3. Wpisz nazwę zasady tworzenia alertów.

  4. Dodaj warunek tworzenia alertów oparty na jednym z wskaźników Realtime Database. Kliknij Dodaj warunek.

  5. Wybierz cel. W polu Znajdź typ zasobu i wskaźnik wpisz Realtime Database. W menu automatycznie wypełnionym wybierz jeden z parametrów Realtime Database.

  6. W sekcji Reguły zasad użyj pól menu, aby zdefiniować warunek alertu.

  7. Dodaj kanał powiadomień do zasad tworzenia alertów. W sekcji Powiadomienia kliknij Dodaj kanał powiadomień. W menu kliknij E-mail.

  8. Wpisz swój adres e-mail w polu Adres e-mail. Kliknij Dodaj.

  9. Opcjonalnie możesz wypełnić pole dokumentacji, aby dodać dodatkowe informacje do e-maila z powiadomieniem.

  10. Kliknij Zapisz.

Jeśli wykorzystanie Realtime Database przekroczy skonfigurowany próg, otrzymasz e-maila z alertem.

Więcej informacji o zasadach tworzenia alertów znajdziesz w artykule Wprowadzenie do tworzenia alertów.

Co dalej?