Monitorowanie danych baz danych

Na tej stronie dowiesz się, jak za pomocą danych Cloud Monitoring monitorować bazę danych Cloud Firestore.

Cloud Monitoring dane dotyczące Cloud Firestore

W sekcjach poniżej znajdziesz omówienie danych dostępnych w Cloud Firestore.

Monitorowane zasoby

Monitorowany zasób w Cloud Monitoring reprezentuje jednostkę logiczną lub fizyczną , taką jak maszyna wirtualna, baza danych lub aplikacja. Monitorowane zasoby zawierają unikalny zestaw danych, które można analizować, raportować za pomocą panelu lub używać do tworzenia alertów. Każdy zasób ma też zestaw etykiet zasobów, czyli par klucz-wartość, które zawierają dodatkowe informacje o zasobie. Etykiety zasobów są dostępne dla wszystkich danych powiązanych z zasobem.

Za pomocą interfejsu Cloud Monitoring API, Cloud Firestore wydajność jest monitorowana za pomocą tego zasobu:

Zasoby Opis
firestore.googleapis.com/Database Typ monitorowanego zasobu, który zawiera podziały według project, location i database_id.

Dane

Pełną listę danych Cloud Firestore znajdziesz w artykule Cloud Firestore dane. W sekcji poniżej opisujemy niektóre z dostępnych danych.

Dane środowiska wykonawczego usługi

Dane serviceruntime zapewniają ogólny przegląd ruchu w projekcie. Te dane są dostępne w przypadku większości Google Cloud interfejsów API. Typ monitorowanego zasobu consumed_api zawiera te wspólne dane. Te dane są próbkowane co 30 minut, co powoduje ich wygładzenie.

Ważną etykietą zasobu w przypadku danych serviceruntime jest method. Ta etykieta reprezentuje wywoływaną metodę RPC. Metoda pakietu SDK, którą wywołujesz, nie musi mieć takiej samej nazwy jak podstawowa metoda RPC. Wynika to z tego, że pakiet SDK zapewnia abstrakcję interfejsu API wysokiego poziomu. Jeśli jednak chcesz zrozumieć, jak Twoja aplikacja wchodzi w interakcje z Cloud Firestore, musisz poznać dane na podstawie nazwy metody RPC.

Jeśli chcesz się dowiedzieć, jaka jest podstawowa metoda RPC w przypadku danej metody pakietu SDK, zapoznaj się z dokumentacją interfejsu API.

api/request_latencies

Dane api/request_latencies zawierają rozkłady czasu oczekiwania we wszystkich ukończonych żądaniach.

Cloud Firestore rejestruje dane z komponentu Cloud Firestore Service. Dane o czasie oczekiwania obejmują czas od momentu, gdy Cloud Firestore otrzyma żądanie, do momentu, gdy Cloud Firestore zakończy wysyłanie odpowiedzi, w tym interakcje z warstwą pamięci. Z tego powodu w tych danych nie jest uwzględniany czas oczekiwania w obie strony (rtt) między klientem a usługą Cloud Firestore.

Dane operacji na dokumentach

Cloud Firestore podaje liczbę odczytów, zapisów i usunięć. Dane o zapisach zawierają podział na operacje „CREATE” i „UPDATE”. Te dane są zgodne z operacjami CRUD.

Za pomocą tych danych możesz sprawdzić, czy Twoja baza danych jest bardziej obciążona odczytami czy zapisami, oraz jaka jest liczba nowych dokumentów w porównaniu z liczbą usuniętych dokumentów.

  • document/delete_ops_count: liczba pomyślnie usuniętych dokumentów.
  • document/read_ops_count: liczba pomyślnie odczytanych dokumentów z zapytań lub wyszukiwań.
  • document/write_ops_count: liczba pomyślnie zapisanych dokumentów.

Dane rozliczeniowe

Za pomocą tych danych możesz sprawdzić wykorzystanie rozliczeniowe. Te dane nie obejmują rozliczeń za operacje administratora (indeksowanie, importowanie, eksportowanie i zbiorcze usuwanie).

  • api/billable_read_units: liczba rozliczanych jednostek odczytu. Wykorzystanie można podzielić według nazwy usługi i metody interfejsu API.
  • api/billable_realtime_read_units: liczba rozliczanych jednostek odczytu w czasie rzeczywistym z aktualizacji w czasie rzeczywistym. Dotyczy to tylko Cloud Firestore w trybie natywnym.
  • api/billable_write_units: liczba rozliczanych jednostek zapisu. Wykorzystanie można podzielić według nazwy usługi i metody interfejsu API.
  • document/billable_managed_delete_write_units: liczba rozliczanych jednostek zapisu z usług zarządzanych usuwania, takich jak TTL.

Dane indeksu

Aby poznać rozgałęzienie indeksu, możesz porównać współczynniki zapisu indeksu z danymi document/write_ops_count.

  • index/write_count: liczba zapisów indeksu.

Dane TTL

Dane TTL dotyczące Cloud Firestore służą do monitorowania wpływu egzekwowanej zasady TTL.

  • document/ttl_deletion_count: łączna liczba dokumentów usuniętych przez usługi TTL.
  • document/ttl_expiration_to_deletion_delays: czas, który upłynął od wygaśnięcia dokumentu z TTL do jego usunięcia.

Wyświetlanie wstępnie zdefiniowanych paneli i tworzenie paneli niestandardowych

Cloud Firestore obsługuje wstępnie zdefiniowane panele, które korzystają z danych Cloud Monitoring. Możesz też tworzyć panele niestandardowe.

Wyświetlanie danych o wykorzystaniu bazy danych

Aby wyświetlić liczbę odczytów, zapisów i usunięć dokumentów w czasie, otwórz panele wykorzystania w konsoli Google Cloud.

Kontrola dostępu

Panele wykorzystania wymagają uprawnienia Identity and Access Management (IAM) monitoring.timeSeries.list. To uprawnienie 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:

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

    Otwórz stronę Bazy danych

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

  3. W menu nawigacyjnym kliknij Wykorzystanie.

Panel wykorzystania i raporty rozliczeniowe

Panele wykorzystania Cloud Firestore w konsoli podają oszacowanie wykorzystania. Pomagają zidentyfikować gwałtowne skoki wykorzystania. Nie jest to jednak dokładny widok rozliczonych operacji. Rozliczone wykorzystanie jest prawdopodobnie wyższe. Aby monitorować rozliczenia, zapoznaj się z sekcją Dane rozliczeniowe.

We wszystkich przypadkach rozbieżności raport rozliczeniowy ma pierwszeństwo przed panelem wykorzystania.

Operacje importowania i eksportowania powodują rozbieżności między panelem wykorzystania a rozliczonym wykorzystaniem. Odczyty i zapisy wykonywane przez te operacje nie są widoczne w panelu wykorzystania.

Wyświetlanie danych o wydajności bazy danych

Strona Monitorowanie w sekcji Cloud Firestore w konsoli Google Cloud zawiera wstępnie zdefiniowane panele monitorowania, takie jak Czasy oczekiwania na żądanie (P50 i P99), Kody odpowiedzi i Statystyki zapytań (P50). Możesz też utworzyć maksymalnie 1 panel niestandardowy. Aby otworzyć stronę Monitorowanie bazy danych:

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

    Otwórz stronę Bazy danych

  2. Wybierz bazę danych z listy.

  3. W menu nawigacyjnym kliknij Monitorowanie, aby otworzyć panel.

Tworzenie niestandardowych Cloud Monitoring paneli

W Cloud Monitoring panele niestandardowe umożliwiają uporządkowane wyświetlanie informacji, które są dla Ciebie istotne. Możesz na przykład utworzyć panel, który będzie wyświetlać dane o wydajności i zasady tworzenia alertów w Twoim projekcie w środowisku produkcyjnym.

Więcej informacji o konfigurowaniu panelu niestandardowego znajdziesz w artykułach Zarządzanie panelem niestandardowym i Dodawanie widżetów do panelu.

Przygotowanie zasad tworzenia alertów

W Cloud Monitoring możesz tworzyć alerty, które będą Cię powiadamiać o zmianach warunków danych. Za pomocą tych alertów możesz otrzymywać powiadomienia o potencjalnych problemach, zanim wpłyną one na użytkowników.

Więcej informacji o tworzeniu alertów znajdziesz w artykule Tworzenie zasad tworzenia alertów na podstawie progów danych.

Rozważmy ten przykład, w którym tworzymy zasadę tworzenia alertów o czasie oczekiwania. Zasada tworzenia alertów sprawdza czas oczekiwania p99 w 5-minutowym oknie ruchomym. Jeśli czas oczekiwania p99 pozostanie wyższy niż 250 ms przez 5 minut, alert zostanie wywołany.

Konsola

  1. W konsoli Google Cloud otwórz stronę Monitorowanie, a następnie wybierz   Alerty.

    Otwórz stronę Monitorowanie

  2. Kliknij Utwórz zasadę.

  3. W zasobie Wykorzystany interfejs API wybierz dane Czasy oczekiwania na żądanie.

  4. Dodaj filtr usługi firestore.googleapis.com w przypadku baz danych Firestore w trybie natywnym.

  5. Aby skonfigurować aktywator, kliknij Dalej.

  6. Wybierz Typy warunków jako Próg.

    Warunek progu jest ustawiony na wartość 250 ms. Alert jest wywoływany, gdy wartość czasu oczekiwania p99 pozostaje taka sama przez cały okres okna ruchomego (5 min).

  7. Ustaw Wartość progu na 250.

  8. Aby skonfigurować powiadomienia, kliknij Dalej.

  9. Ustaw nazwę zasady tworzenia alertów i kliknij Dalej.

  10. Sprawdź konfiguracje alertów i kliknij Utwórz zasadę.

MQL

Tę samą zasadę tworzenia alertów o czasie oczekiwania możesz wdrożyć za pomocą zapytania w języku MQL. Więcej przykładów użycia MQL znajdziesz w artykule Przykładowe zapytania MQL.

fetch consumed_api
| metric 'serviceruntime.googleapis.com/api/request_latencies'
| filter (resource.service == 'firestore.googleapis.com')
| group_by 5m,
    [value_request_latencies_percentile:
      percentile(value.request_latencies, 99)]
| every 5m
| condition val() > 0.25 's'