Monitorowanie aktywności w Cloud Firestore

Na tej stronie dowiesz się, jak monitorować wykorzystanie Cloud Firestore i wykrywać potencjalne problemy w aplikacji.

Panel wykorzystania

Aby wyświetlić odczyty, zapisy i usunięcia dokumentów w czasie, użyj paneli wykorzystania w konsoli Google Cloud i konsoli Firebase.

Kontrola dostępu

Panele wykorzystania wymagają uprawnienia Cloud IAM monitoring.timeSeries.list. Uprawnienie to jest przyznawane przez role właściciela projektu, edytującego i wyświetlającego. Możesz też przyznać to uprawnienie za pomocą roli Cloud Monitoring lub roli niestandardowej.

Panel wykorzystania bazy danych

Aby wyświetlić dane o wykorzystaniu bazy danych Cloud Firestore, otwórz stronę Wykorzystanie bazy danych w konsoli Google Cloud.

  1. W konsoli Google Cloud otwórz stronę Bazy danych.

    Otwórz stronę Bazy danych

  2. Na liście baz danych wybierz wymaganą bazę danych.

  3. W menu nawigacyjnym kliknij Wykorzystanie.

  4. Kliknij link w wiadomości, która pojawi się na stronie, aby wyświetlić wykorzystanie bazy danych.

    Panel wykorzystania bazy danych w konsoli.

Panel łącznego wykorzystania

Jeśli Twój projekt ma kilka Cloud Firestore baz danych, możesz wyświetlić łączne dane o wykorzystaniu w konsoli Google Cloud lub konsoli Firebase.

Konsola Google Cloud

W konsoli Google Cloud otwórz stronę Wykorzystanie projektu.

Otwórz stronę Wykorzystanie projektu w chmurze Google Cloud

Panel wykorzystania projektu pokazuje operacje na dokumentach w czasie w ten sposób:

Panel wykorzystania projektu w konsoli Google Cloud.

Konsola Firebase

Otwórz stronę wykorzystania Cloud Firestore (konsola Firebase)

Panel wykorzystania w konsoli Firebase.

Panel wykorzystania i raporty rozliczeniowe

Panele wykorzystania Cloud Firestore w konsolach Firebase i Cloud podają oszacowanie wykorzystania. Pomagają zidentyfikować gwałtowne skoki wykorzystania. Nie jest to jednak dokładny widok rozliczonych operacji. Rozliczone wykorzystanie jest prawdopodobnie wyższe. We wszystkich przypadkach rozbieżności raport rozliczeniowy ma pierwszeństwo przed panelem wykorzystania.

Operacje, które powodują rozbieżności między panelem wykorzystania a rozliczonym wykorzystaniem obejmują m.in.:

  • Operacje importu i eksportu. Odczyty i zapisy wykonywane przez te operacje nie są widoczne w panelu wykorzystania.
  • Bezobsługowe operacje zapisu o charakterze jedynie weryfikacyjnym. Zapisy, które tylko weryfikują istnienie lub brak dokumentu, są uwzględniane w rozliczonych operacjach odczytu, ale w panelu wykorzystania zapisu są wyświetlane odpowiednio jako `UPDATE_NOOP` i `DELETE_NOOP`.
  • Bezobsługowe operacje zapisu. Operacje, które nie powodują zmian w bazie danych, np. aktualizacja, która nie zmienia wartości pól, lub zapis w usuniętym dokumencie, mogą być wyświetlane w panelu wykorzystania jako `UPDATE_NOOP` lub `DELETE_NOOP`. Mimo że są wyświetlane jako `NOOP`, nadal są uwzględniane w rozliczonych operacjach.
  • Zwinięte operacje zapisu. W przypadkach, gdy w krótkim odstępie czasu następuje wiele zapisów w tym samym dokumencie, panel wykorzystania może zwinąć kilka zapisów i zliczyć je jako jeden. Podczas rozliczania wykorzystania każdy zapis jest nadal liczony osobno.

    Panel wykorzystania zwija też zapisy dotyczące przekształceń pól, takich jak sygnatury czasowe serwera, przyrosty liczbowe i operacje łączenia tablic. W przypadku przekształceń pól panel wykorzystania może zliczać wiele operacji jako jedną.

  • Zapytania zwracające zero wyników. Zapytania z zerową liczbą wyników generują koszt jednej operacji odczytu. To wykorzystanie jest rozliczane, ale nie pojawia się w panelu wykorzystania.
  • Operacje odczytu z wpisów indeksu. To wykorzystanie jest rozliczane, ale nie pojawia się w panelu wykorzystania. Na przykład zapytania zbiorcze są rozliczane za odczytane wpisy indeksu, ale to wykorzystanie nie pojawia się w panelu wykorzystania.

Panel wykorzystania w przypadku usunięć nie uwzględnia automatycznych operacji wygaszania wykonywanych przez zasady dotyczące czasu życia danych (TTL). Zapoznaj się z danymi TTL w Cloud Monitoring.

Wykorzystanie reguł zabezpieczeń

Konsola Firebase zawiera też panel oceny reguł zabezpieczeń Firebase, który umożliwia szybki wgląd w wywołania reguł. Wykorzystanie reguł zabezpieczeń Firebase możesz też monitorować za pomocą Cloud Monitoring. Umożliwia to uzyskanie tych samych danych o ocenie reguł, a także tworzenie paneli niestandardowych, analizowanie trendów i konfigurowanie alertów (np. w przypadku gwałtownego wzrostu liczby odrzuconych żądań). Pełną listę dostępnych danych znajdziesz w dokumentacji Cloud Monitoring Cloud Monitoring.

Otwórz stronę Reguły

Panel monitorowania reguł zabezpieczeń w konsoli Firebase.

Cloud Monitoring dane

Cloud Monitoring zbiera dane, zdarzenia i metadane z Google Cloud usług. Panel wykorzystania w konsoli Cloud Firestoreraportuje te same dane. Aby skonfigurować panele niestandardowe i alerty o wykorzystaniu, użyj Cloud Monitoring.

Cloud Monitoring obejmuje te dane Cloud Firestore:

Nazwa wskaźnika Opis
Odczyty dokumentów

Liczba udanych odczytów dokumentów. Ten wskaźnik możesz podzielić według typu odczytu: LOOKUP lub QUERY.

Te dane nie obejmują odczytów z zarządzanych operacji eksportu ani zbiorczego usuwania operacji.

Zapisy dokumentów

Liczba udanych zapisów dokumentów. Te dane możesz podzielić według typu zapisu: CREATE lub UPDATE.

Te dane nie obejmują zapisów z zarządzanych operacji importu.

Usunięcia dokumentów Liczba udanych usunięć dokumentów.
Aktywne połączenia

Liczba aktywnych połączeń z bazą danych.

Każdy aktywny pakiet SDK na urządzenia mobilne i do internetu utrzymuje jedno połączenie, które może być współdzielone przez wiele detektorów zrzutu. Biblioteki klienta serwera tworzą 1 połączenie na detektor zrzutu.

Detektory zrzutów

Liczba detektorów zrzutu we wszystkich aktywnych połączeniach.

Liczba usunięć według czasu życia danych

Łączna liczba dokumentów usuniętych przez zasady dotyczące czasu życia danych (TTL).

Opóźnienia między wygaśnięciem a usunięciem według czasu życia danych

Czas, który upłynął od wygaśnięcia dokumentu zgodnie z zasadami dotyczącymi czasu życia danych (TTL) do jego usunięcia.

Wykorzystanie aktualizacji w czasie rzeczywistym

Aby zmierzyć wykorzystanie aktualizacji w czasie rzeczywistym, użyj danych aktywnych połączeń i detektorów zrzutu.

Załóżmy, że użytkownik otwiera Twoją aplikację na telefonie. Aplikacja łączy się z Cloud Firestore i subskrybuje 10 zapytań. Zwiększa to dane o 1 aktywne połączenie i 10 detektorów zrzutu.

Częstotliwość próbkowania

Dane Cloud Firestore są próbkowane co minutę, ale aktualizacje mogą pojawić się w panelach dopiero po 4 minutach.

Dane opóźnienia

Dane opóźnienia backendu są dostępne w ramach typowych Google Cloud Firestore.

Na przykład wykres opóźnienia p50 można znaleźć w widoku eksploratora danych w konsoli Google Cloud.

Konfigurowanie panelu Cloud Monitoring

Aby wyświetlić wstępnie zdefiniowany panel lub skonfigurować panel, zobacz Korzystanie z panelu monitorowania.

Co dalej?