Wyświetlanie, wyszukiwanie i filtrowanie logów żądań sieciowych witryny za pomocą Cloud Logging

Możesz połączyć projekt w Firebase z Cloud Logging, aby wyświetlać, przeszukiwać i filtrować logi żądań sieciowych każdej z Twoich witryn w Hosting. Te logi pochodzą z sieci CDN, która jest automatycznie udostępniana przez Firebase, więc rejestrowane są wszystkie żądania kierowane do Twojej witryny i powiązane z nimi dane.

Oto kilka przykładów zastosowań logów Cloud Logging. Aby dowiedzieć się więcej, otwórz poszczególne sekcje tej strony.

Jeśli w projekcie masz kilka witryn Hosting, możesz wybrać, które z Twoich witryn Hosting mają eksportować logi. Następnie możesz filtrować i wyświetlać dane logów według witryny Hosting, a nawet według domeny. Wybierając konkretne Hosting witryny, z których chcesz eksportować logi, możesz też kontrolować ilość danych przetwarzanych w projekcie.

  1. W konsoli Firebase na karcie integracji Cloud Logging kliknij Połącz.

    Aby połączyć lub rozłączyć Cloud Logging, musisz mieć uprawnienia zawarte w jednej z tych ról: Właściciel projektu lub Edytujący lub Administrator Firebase Develop.

  2. Postępuj zgodnie z instrukcjami wyświetlanymi na ekranie, aby wybrać, które witryny Hostingmają eksportować logi do Cloud Logging.

    Jeśli masz już co najmniej 1 aktywną witrynę Hosting, w procesie łączenia wyświetli się szacowany poziom użycia danych w przypadku logów z każdej z tych Hosting witryn. Ta wartość jest szacowana na podstawie danych z ostatnich 30 dni.

Po połączeniu z Cloud Logging logi dotyczące nowych żądań kierowanych do Twoich Hosting witryn będą zwykle widoczne w ciągu 30 minut od wysłania żądania.

Możesz też rozłączyć Firebase Hosting z Cloud Logging, co spowoduje zatrzymanie eksportu logów żądań sieciowych do Cloud Logging.

Monitorowanie użycia danych na potrzeby logów

Po połączeniu z Cloud Logging możesz wyświetlić poziom użycia danych na potrzeby dzienników z Twoich witryn w Hosting:

Lepsze poznanie witryny

Interfejs Logs Viewer w konsoli Google Cloudoferuje narzędzia do wyświetlania konkretnych logów i danych za pomocą zapytań oraz wbudowanych filtrów i paneli danych. Więcej informacji o filtrowaniu logów za pomocą zapytań znajdziesz w następnej sekcji.

  • Skąd pochodzi ruch w Twojej witrynie na poziomie szczegółowym?
    Możesz wyświetlić informacje o każdym żądaniu, w tym źródłowy adres IP, adres strony odsyłającej, miasto i stan.

  • Kiedy użytkownicy odwiedzają Twoją witrynę?
    Za pomocą panelu Histogram możesz wyświetlić rozkład według określonych przedziałów czasu. Dzięki temu możesz poznać normalne szczyty i spadki wykorzystania aplikacji oraz wykryć nieoczekiwane skoki ruchu.

  • Jaki jest rozkład stanu żądań użytkowników?
    Możesz wyświetlić stan każdego żądania, a nawet zdiagnozować żądania, które powodują błędy. Możesz filtrować logi według wartości Critical, Error lub Warning.

  • Ile czasu zajmuje Twojej witrynie odpowiedź na żądanie?
    Możesz wyświetlić opóźnienie witryny w przypadku każdego żądania, korzystając z wartości latency zarejestrowanej w każdym logu.

  • Czy Twoja witryna korzysta z buforowania treści?
    Każdy log zawiera pole cacheHit, które informuje, czy zasób witryny został szybko obsłużony z pamięci podręcznej sieci CDN Hosting, czy też musiał przejść całą drogę do backendu Hosting. Może to pomóc w zwiększeniu wydajności witryny przez maksymalne wykorzystanie globalnej sieci CDN Firebase. Na przykład możesz użyć tych danych do dostosowania sposobu buforowania zasobów statycznych i treści dynamicznych.

  • Jaki jest rozkład ruchu w Twoich domenach?
    Jeśli masz kilka domen lub Hosting witryn, możesz filtrować logi według domeny lub witryny. Umożliwia to sprawdzenie, jak rozkłada się ruch. Gdy filtrujesz według domeny, możesz śledzić, która domena jest najczęściej odwiedzana.

Filtrowanie logów za pomocą zapytań

Aby dowiedzieć się, jak filtrować logi za pomocą zapytań, przeczytaj artykuły Przykładowe zapytania w Przeglądarce logów i Tworzenie zapytań do logów. W tabeli poniżej znajdziesz opis pól dostępnych w tych zapytaniach.

Oto kilka początkowych filtrów zapytania w przypadku Hosting:

  • Zasób (resource.type) – firebase_domain (domena witryny)Firebase Hosting
  • Nazwa logu (logName) – webrequests (Firebase Hosting)

Każdy wpis logu ma predefiniowaną strukturę i pola, które można przeszukiwać (patrz LogEntry). W przypadku Hosting niektóre pola są standardowe dla żądania HTTP, ale istnieją inne wartości pól pochodzące z przetwarzania, które Hosting wykonuje w przypadku każdego żądania.

Pole Opis
Firebase Hosting przechowuje te pola w obiekcie httpRequest wpisu w logu.
Pola te są zdefiniowane w specyfikacji HTTP.
cacheHit Informuje, czy sieć CDN Hosting miała w pamięci podręcznej zasób odpowiedzi w pamięci podręcznej.
latency Czas trwania żądania w sekundach z sufiksem s (np. 1.256s)
protocol Protokół używany w żądaniu (np. HTTP/1.1, HTTP/2, websocket).
referer Adres poprzedniej strony, z której nastąpiło przejście do aktualnie żądanej strony (jeśli jest dostępny).
remoteIp Źródłowy adres IP klienta w przypadku żądania.
requestMethod Metoda żądania (GET, POST, PUT, itp.).
requestSize Rozmiar żądania w bajtach.
requestUrl Pełny adres URL żądania (np.
https://foo.web.app/bar lub https://custom.domain.com?query=param)
responseSize Rozmiar odpowiedzi HTTP w bajtach.
serverIp nie jest wypełniane
status Stan odpowiedzi HTTP (np. 200 lub 404).
userAgent Nagłówek User-Agent żądania.
Firebase Hosting przechowuje dodatkowe pola w obiekcie jsonPayload wpisu logu.
acceptEncoding (z żądania HTTP) Kodowanie treści, zwykle algorytm kompresji, obsługiwane przez klienta (np. gzip lub compress).
billable Informuje, czy za żądanie został naliczony rachunek.
customDomain Informuje, czy żądanie zostało wysłane do domeny niestandardowej.
hostname Nazwa hosta, do którego zostało wysłane żądanie.
remoteIpCountry Kraj pochodzenia żądania.
remoteIpCity Miasto pochodzenia żądania.

Korzystanie ze wskaźników opartych na logach

Możesz wyświetlać i tworzyć wskaźniki oparte na logach, a następnie używać ich w Cloud Monitoring do tworzenia wykresów i zasad tworzenia alertów.

  • Wykorzystuj predefiniowane wskaźniki systemowe które są automatycznie rejestrowane, np. liczbę zdarzeń logowania, które wystąpiły w określonym przedziale czasu.

  • Twórz wskaźniki zdefiniowane przez użytkownika na potrzeby projektu. Możesz zliczać liczbę wpisów w logu pasujących do danego zapytania lub śledzić określone wartości w pasujących wpisach w logu. Możesz filtrować za pomocą wyrażeń regularnych.

  • Używaj Cloud Monitoring do rejestrowania liczby wpisów w logu zawierających określone wiadomości lub do wyodrębniania informacji o opóźnieniach podanych we wpisach w logu. Następnie możesz używać tych wskaźników na wykresach i w zasadach tworzenia alertów.

Firebase Hosting generuje też te wskaźniki logowania specyficzne dla Hosting. Te wskaźniki nie są powiązane z konkretnym wpisem logu, ale z całą Hosting witryną.

  • log_bytes: łączna liczba bajtów wykorzystania danych w przypadku każdej witryny.

  • response_count: łączna liczba odpowiedzi zapisanych w witrynie.

    Ten wskaźnik zawiera pole stanu HTTP, dzięki czemu możesz np. tworzyć wykresy odpowiedzi HTTP według stanu.

Eksportowanie logów do innych Google Cloud narzędzi

Możesz też eksportować logi witryny do innych narzędzi Google Cloud, np. Cloud Monitoring lub BigQuery:

  • Za pomocą Cloud Monitoring, możesz tworzyć wskaźniki oparte na logach, których możesz używać na wykresach i w zasadach tworzenia alertów.

  • Za pomocą BigQuery możesz wykonać dowolną z tych czynności:

    • Używaj Data Studio do generowania paneli danych Hosting.
    • Uruchamiaj zapytania, aby uzyskać więcej informacji o żądaniach (średni rozmiar odpowiedzi, trafienia i nietrafienia w pamięci podręcznej itp.).
    • Dowiedz się, które adresy URL są rzeczywiście żądane przez użytkowników.
    • Łącz dane Hosting z innymi danymi Firebase wyeksportowanymi do BigQuery i wysyłaj do nich zapytania na nowe sposoby.