Monitorowanie wykorzystania bazy danych

W ramach zarządzania projektami Firebase warto sprawdzać wykorzystanie zasobów Realtime Database (np. liczbę połączonych użytkowników czy ilość miejsca na dane wykorzystywanego przez bazę danych) i to, jak wpływa ono na rachunek.

Aby sprawdzić Realtime Databasewykorzystanie, za które naliczono opłaty, otwórz panel Wykorzystanie i płatności. Więcej informacji o rozliczeniach znajdziesz w artykule Informacje o rozliczeniach Realtime Database.

W przypadku wykorzystania zasobów możesz monitorować wykorzystanie Realtime Database na karcie WykorzystanieFirebasekonsoli oraz za pomocą rodzajów danych dostępnych w Cloud Monitoring.

Otrzymywanie alertów Firebase

Możesz otrzymywać e-maile z alertami, gdy Realtime Database wykorzystanie zbliża się do jednego z limitów w Twoim planie cenowym. Domyślnie Firebase wysyła e-maile z alertami, gdy osiągniesz lub przekroczysz limit abonamentu. Możesz jednak włączyć wcześniejsze powiadomienia, 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 uprawnienia wymagane 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 do grup kont, takich jak grupy dyskusyjne Google czy konta Google Workspace).

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

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

Aby włączyć lub wyłączyć Realtime Database alerty, wykonaj te czynności:

  1. W konsoli Firebase w prawym górnym rogu otwórz alerty Firebase.
  2. Następnie kliknij 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 wykorzystanie danych, otwórz kartę Wykorzystanie 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. Obejmuje to połączenia w czasie rzeczywistym: WebSocket, długie odpytywanie i zdarzenia wysyłane przez serwer HTML. Nie obejmuje żądań RESTful.
  • Miejsce na dane: ilość danych przechowywanych w bazie danych. Nie obejmuje to Hostingu Firebase ani danych zapisanych przy użyciu innych usług Firebase.
  • Pobrane dane: wszystkie bajty pobrane z bazy danych, w tym narzut protokołu i szyfrowania.
  • Obciążenie: ten wykres pokazuje, jaka część bazy danych jest używana do przetwarzania żądań w danym 1-minutowym przedziale czasu. Gdy wartość ta będzie bliska 100%, mogą pojawić się problemy z wydajnością.

Karta Reguły w przypadku Bazy danych czasu rzeczywistego w konsoli Firebase.

Dodatkowo w konsoli Firebase dostępny jest Firebase Security Rulespanel ocenyFirebase Security Rules, który zawiera przydatny przegląd wywołań reguł. Ten panel możesz uzupełnić szczegółową analizą w Cloud Monitoring.

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

Karta Wykorzystanie w przypadku Bazy danych czasu rzeczywistego w konsoli Firebase.

Monitorowanie wykorzystania za pomocą Cloud Monitoring

Dane na temat wykorzystania

Aby monitorować wykorzystanie rozliczane za pomocą Cloud Monitoring, śledź te rodzaje danych. Pamiętaj, że wszystkie nazwy typów danych są poprzedzone symbolem firebasedatabase.googleapis.com/.

Nazwa wskaźnika Opis
Liczba bajtów wysłanego ładunku

network/sent_payload_bytes_count. Ten wskaźnik odzwierciedla rozmiar danych żądanych w ramach operacji na bazie danych (w tym pobierania, zapytań, zapisów, aktualizacji odbiorników w czasie rzeczywistym i transmisji). Nie obejmuje to żadnych dodatkowych danych związanych z połączeniem (protokołu ani szyfrowania). Wartość `sent_payload_bytes_count` wpływa na koszty przepustowości wychodzącej, ale nie uwzględnia łącznych kosztów rozliczonych. Jest to szacunkowa ilość danych wysłanych z bazy danych w odpowiedzi na żądania, ale ponieważ mierzy rozmiar ładunku żądanych danych, a nie faktycznie wysłanych danych, może nie zawsze być dokładna.

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

network/sent_payload_and_protocol_bytes_count. Ta wartość odzwierciedla rozmiar zarówno danych ładunku opisanych powyżej, jak i narzutu protokołu wymaganego przez połączenie (np. nagłówki HTTP, ramki WebSocket i ramki protokołu czasu rzeczywistego Firebase). Nie uwzględnia kosztów szyfrowania w przypadku bezpiecznych połączeń.

Liczba wysłanych bajtów network/sent_bytes_count. Ten wskaźnik odzwierciedla szacunkową łączną wielkość danych wysyłanych z bazy danych w ramach odczytów. Obejmuje dane ładunku, które są faktycznie wysyłane do klientów, a także narzut protokołu i szyfrowania, który powoduje koszty połączenia. Najdokładniej odzwierciedla to całkowitą przepustowość wychodzącą na rachunku za Realtime Database.
Łączna liczba bajtów

storage/total_bytes. Te dane pozwalają monitorować ilość danych przechowywanych w bazie danych. Dane przechowywane w Realtime Database mają wpływ na koszty rozliczeniowe.

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

  • Dane wychodzące: użyj danych network/sent_bytes_count, network/sent_payload_and_protocol_bytes_countnetwork/sent_payload_bytes_count, aby wykryć potencjalne problemy z narzutem protokołu lub szyfrowania, które mogą przyczyniać się do nieoczekiwanych kosztów na rachunku. Jeśli zauważysz dużą rozbieżność między rozmiarem żądanych ładunków danych a innymi wskaźnikami odzwierciedlającymi narzut połączenia, możesz 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 spróbować je wdrożyć, aby zmniejszyć obciążenie połączeń SSL w przypadku wznowionych połączeń.
  • Operacje: użyj danych io/database_load, aby sprawdzić, jaka część całkowitego obciążenia bazy danych jest wykorzystywana przez poszczególne typy operacji. Aby rozwiązać problemy z różnymi typami operacji, pogrupuj je io/database_loadwedług typu.
  • Miejsce na dane: użyj ikon storage/limitstorage/total_bytes, aby monitorować wykorzystanie miejsca na dane w odniesieniu do limitów miejsca na dane Realtime Database.

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

Tworzenie obszaru roboczego Cloud Monitoring

Aby monitorować Realtime Database za pomocą Cloud Monitoring, musisz skonfigurować obszar roboczy dla swojego projektu. Obszar roboczy porządkuje informacje o monitorowaniu z co najmniej 1 projektu. Po skonfigurowaniu obszaru roboczego możesz tworzyć niestandardowe panele i zasady alertów.

  1. Otwórz stronę Cloud Monitoring

    Jeśli Twój 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 do niego wykresu

Wyświetlaj Realtime Database dane 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ę Rodzaj danych.

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

  6. Aby dodać do tego samego wykresu więcej danych, 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ół, a potem wybierz wartość lub zakres danych, według których chcesz odfiltrować wykres.

  8. Kliknij Zapisz.

Więcej informacji o wykresach Cloud Monitoring znajdziesz w artykule Praca z wykresami.

Przygotowanie zasad tworzenia alertów

Możesz utworzyć zasadę tworzenia alertów na podstawie wskaźników Realtime Database. Aby utworzyć zasadę alertów, która będzie wysyłać do Ciebie e-maile, gdy określony rodzaj danych Realtime Database osiągnie określony próg, wykonaj te czynności:

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 alertu na podstawie jednego z Realtime Database wskaźników. Kliknij Dodaj warunek.

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

  6. W sekcji Warunki wywołujące zasady użyj pól menu, aby zdefiniować warunek alertu.

  7. Dodaj do zasad tworzenia alertów kanał powiadomień. 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 wypełnij pole dokumentacji, aby dodać dodatkowe informacje do e-maila z powiadomieniem.

  10. Kliknij Zapisz.

Jeśli wykorzystanie Realtime Database przekroczy skonfigurowany próg, otrzymasz alert e-mail.

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

Co dalej?