Monitorowanie danych baz danych

Na tej stronie dowiesz się, jak używać wskaźników Cloud Monitoring dla Cloud Firestore do monitorowania bazy danych.

Cloud Monitoring wskaźnik dla: Cloud Firestore

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

Monitorowane zasoby

Monitorowany zasób w Cloud Monitoring reprezentuje encję logiczną lub fizyczną, taką jak maszyna wirtualna, baza danych lub aplikacja. Monitorowane zasoby zawierają unikalny zestaw danych, które można przeglądać, raportować w panelu lub wykorzystywać do tworzenia alertów. Każdy zasób ma też zestaw etykiet zasobów, które są parami klucz-wartość zawierającymi dodatkowe informacje o zasobie. Etykiety zasobów są dostępne dla wszystkich wskaźników powiązanych z zasobem.

Wydajność Cloud Firestore jest monitorowana za pomocą interfejsu Cloud Monitoring API i tego zasobu:

Materiały Opis
firestore.googleapis.com/Database Typ monitorowanego zasobu, który dostarcza zestawienia danych dotyczących project, location i database_id.

Dane

Pełną listę wskaźników dla usługi Cloud Firestore znajdziesz w artykule Wskaźniki usługi Cloud Firestore. W sekcji poniżej opisujemy niektóre z dostępnych danych.

Wskaźniki środowiska wykonawczego usługi

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

Ważną etykietą zasobu dla wskaźników serviceruntime jest method. Ta etykieta reprezentuje wywołaną metodę RPC. Metoda pakietu SDK, którą wywołujesz, nie musi mieć takiej samej nazwy jak podstawowa metoda RPC. Dzieje się tak, ponieważ pakiet SDK zapewnia abstrakcję interfejsu API wysokiego poziomu. Jeśli jednak chcesz dowiedzieć się, jak Twoja aplikacja współdziała z Cloud Firestore, musisz poznać wskaźniki oparte na nazwie metody RPC.

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

api/request_latencies

Wskaźnik api/request_latencies podaje rozkład opóźnień we wszystkich zrealizowanych żądaniach.

Cloud Firestore rejestruje dane z komponentu Cloud Firestore Service. Wskaźniki czasu oczekiwania obejmują czas od otrzymania żądania przez Cloud Firestore do zakończenia wysyłania odpowiedzi przez Cloud Firestore, w tym interakcje z warstwą pamięci masowej. Z tego powodu czas oczekiwania w obie strony (RTT) między klientem a usługą Cloud Firestore nie jest uwzględniany w tych danych.

Dane dotyczące operacji na dokumentach

Cloud Firestore podaje liczbę odczytów, zapisów i usunięć. Wskaźnik zapisu zawiera podział na operacje „CREATE” i „UPDATE”. Te dane są powiązane z operacjami CRUD.

Za pomocą tych danych możesz sprawdzić, czy baza danych jest intensywnie odczytywana czy zapisywana, oraz poznać stosunek liczby nowych dokumentów do liczby usuniętych dokumentów.

  • document/delete_ops_count: liczba dokumentów, które udało się usunąć.
  • document/read_ops_count: liczba udanych odczytów dokumentów z zapytań lub wyszukiwań.
  • document/write_ops_count: liczba udanych zapisów dokumentów.

Wskaźniki rozliczeniowe

Te wskaźniki pomogą Ci zrozumieć wykorzystanie rozliczeń. Te dane nie obejmują rozliczeń za operacje administracyjne (indeksowanie, import, eksport i zbiorcze usuwanie).

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

Dane indeksu

Szybkość zapisu indeksu można porównać ze wskaźnikiem document/write_ops_count, aby poznać rozgałęzienie indeksu.

  • index/write_count: liczba zapisów indeksu.

Dane dotyczące czasu życia danych (TTL)

Wskaźniki TTL dla danych Cloud Firestore służą do monitorowania efektów wymuszania 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 momentu wygaśnięcia dokumentu z TTL do momentu jego faktycznego usunięcia.

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

Cloud Firestore obsługuje wstępnie zdefiniowane panele, które korzystają ze wskaźników Cloud Monitoring. Możesz też tworzyć panele niestandardowe.

Wyświetlanie danych o korzystaniu z bazy danych

Otwórz panele wykorzystania w konsoli Google Cloud, aby wyświetlić odczyty, zapisy i usunięcia dokumentów w czasie.

Kontrola dostępu

Panele wykorzystania wymagają uprawnienia Identity and Access Management (IAM) monitoring.timeSeries.list. To uprawnienie jest dostępne w rolach 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ć wskaźniki wykorzystania bazy danych Cloud Firestore, wykonaj te czynności.

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

    Otwórz stronę Bazy danych

  2. Wybierz wymaganą bazę danych z listy baz danych.

  3. W menu nawigacyjnym kliknij Użycie.

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. Prawdopodobnie rozliczane wykorzystanie jest wyższe. Aby monitorować płatności, zapoznaj się ze wskaźnikami rozliczeniowymi.

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

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

Wyświetlanie wskaźników wydajności bazy danych

Strona Monitorowanie w sekcji Cloud Firestore konsoli Google Cloud zawiera wstępnie zdefiniowane panele monitorowania, takie jak Opóźnienia żądań (P50 i P99), Kody odpowiedzi i Statystyki zapytań (P50). Możesz też utworzyć maksymalnie 1 panel niestandardowy. Aby uzyskać dostęp do strony Monitorowanie bazy danych, wykonaj te czynności:

  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 paneli Cloud Monitoring

W Cloud Monitoring niestandardowe panele umożliwiają wyświetlanie informacji, które są dla Ciebie istotne, w uporządkowany sposób. Możesz na przykład utworzyć panel, który będzie wyświetlać wskaźniki skuteczności i zasady tworzenia alertów dotyczące projektu w środowisku produkcyjnym.

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

Przygotowanie zasad tworzenia alertów

W Cloud Monitoring możesz tworzyć alerty, które będą Cię powiadamiać o zmianie stanu wskaźnika. Dzięki tym alertom 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 o tworzeniu zasad tworzenia alertów na podstawie progów wskaźników.

Przyjrzyj się temu przykładowi, w którym tworzymy zasadę tworzenia alertów o opóźnieniu. Zasada tworzenia alertów sprawdza czas oczekiwania p99 w 5-minutowym okresie obserwacji. Jeśli czas oczekiwania p99 pozostanie wyższy niż 250 ms przez 5 minut, zostanie wygenerowany alert.

Konsola

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

    Przejdź do Monitorowania

  2. Kliknij Utwórz zasadę.

  3. Wybierz wskaźnik Opóźnienia żądań z zasobu Używany interfejs API.

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

  5. Kliknij Dalej, aby skonfigurować aktywator.

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

    Warunek progu jest ustawiony na wartość progową 250 ms. Alert jest wywoływany, gdy wartość czasu oczekiwania w 99 centylu pozostaje taka sama przez cały okres obserwacji (5 minut).

  7. Ustaw Wartość progu na 250.

  8. Kliknij Dalej, aby skonfigurować powiadomienia.

  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 dotyczących czasu oczekiwania możesz wdrożyć za pomocą zapytania w języku zapytań usługi Monitoring (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'