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

Możesz połączyć projekt Firebase z Cloud Logging, aby wyświetlać, przeszukiwać i filtrować logi żądań sieciowych dla każdej ze swoich witryn w Hostingu. Logi te pochodzą z sieci CDN, która jest automatycznie udostępniana przez Firebase, więc logowane jest każde żądanie skierowane do Twojej witryny oraz powiązane z nim dane żądań.

Oto niektóre czynności, które możesz wykonywać w logach Cloud Logging. Więcej informacji znajdziesz w poszczególnych sekcjach tej strony.

  • Lepszy wgląd w witrynę – możesz się dowiedzieć m.in. o miejscach i czasie wizyt użytkowników w witrynie, o stanach reakcji witryny i czasie oczekiwania na żądania.

  • Filtruj logi za pomocą zapytań – korzystaj z danych zbieranych automatycznie, aby filtrować i wyświetlać na wykresie dane związane z każdym żądaniem lub Twoją witryną.

  • Używanie wskaźników opartych na logach – twórz wykresy Cloud Monitoring i zasady tworzenia alertów na podstawie wstępnie zdefiniowanych wskaźników systemowych lub wskaźników zdefiniowanych przez użytkownika.

  • Eksportowanie logów do innych narzędzi Google Cloud – używaj danych logów w innych narzędziach (takich jak BigQuery i Studio danych), aby przeprowadzać dokładniejsze analizy i korelacje.

Jeśli w projekcie masz wiele witryn w Hostingu, możesz wybrać, która z nich będzie eksportować logi. Dane logów można filtrować i wyświetlać według witryny Hostingu, a nawet domeny. Wybierając konkretne witryny Hostingu do eksportowania logów, możesz też kontrolować ilość danych przetwarzanych dla Twojego projektu.

  1. Na karcie integracji Cloud Logging w konsoli Firebase kliknij Połącz.

    Aby połączyć lub odłączyć Cloud Logging, potrzebujesz uprawnień w ramach dowolnej z tych ról: Właściciel lub Edytujący projekt albo Administrator Firebase Develop.

  2. Postępuj zgodnie z instrukcjami wyświetlanymi na ekranie, aby wybrać, które z Twoich witryn w Hostingu mają eksportować logi do Cloud Logging.

    Jeśli masz już co najmniej jedną aktywną witrynę w Hostingu, w przepływie pracy związanym z łączeniem jest wyświetlany szacowany poziom wykorzystania danych na potrzeby logów z każdej z Twoich witryn Hostingu. Ta wartość została oszacowana na podstawie ostatnich 30 dni.

Po połączeniu z Cloud Logging logi nowych żądań wysyłanych do witryn hostingowych zwykle pojawiają się w ciągu 30 minut od ich wykonania.

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

Monitorowanie użycia danych pod kątem logów

Po połączeniu z Cloud Logging możesz wyświetlać poziom wykorzystania danych przez logi ze swoich witryn w Hostingu:

Lepsze zrozumienie witryny

W konsoli Google Cloud znajdziesz interfejs przeglądarki logów z narzędziami do wyświetlania konkretnych logów i danych przy użyciu zapytań oraz wbudowanych filtrów i paneli danych. W następnej sekcji znajdziesz więcej informacji o filtrowaniu logów za pomocą zapytań.

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

  • Kiedy użytkownicy odwiedzają Twoją witrynę?
    W panelu Histogram możesz zobaczyć rozkład według określonych przedziałów czasu. Dzięki temu poznasz typowe szczyty i spadki użycia aplikacji, a także wszelkie nieoczekiwane wzrosty natężenia ruchu.

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

  • Ile czasu zajmuje Twojej witrynie odpowiedź na prośbę?
    Aby sprawdzić czas oczekiwania w witrynie w przypadku każdego żądania, użyj wartości latency zarejestrowanej w każdym logu.

  • Czy Twoja witryna korzysta z buforowania treści?
    Każdy dziennik zawiera pole cacheHit informujące, czy zasób Twojej witryny został szybko obsłużony z pamięci podręcznej CDN Hostingu, czy też musi udać się do backendu Hostingu. Dzięki temu możesz poprawić wydajność witryny, wykorzystując w pełni globalną sieć CDN Firebase. Przy użyciu tych danych możesz na przykład dostosować sposób buforowania w przypadku zasobów statycznych i treści dynamicznych.

  • Jaka jest dystrybucja ruchu do różnych domen?
    Jeśli masz wiele domen lub witryn hostingowych, możesz filtrować dzienniki według domeny lub witryny. Dzięki temu możesz zobaczyć, jak jest rozkładany ruch. Filtrując według domeny, możesz sprawdzić, która z nich jest odwiedzana najczęściej.

Filtrowanie logów za pomocą zapytań

Aby dowiedzieć się, jak filtrować logi za pomocą zapytań, zapoznaj się z artykułami Przykładowe zapytania za pomocą przeglądarki logów i Tworzenie zapytań dotyczących logów. W tabeli poniżej znajdziesz pola dostępne w przypadku tych zapytań.

W przypadku Hostingu możesz zastosować kilka początkowych filtrów zapytania:

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

Każdy wpis logu ma wstępnie określoną strukturę i pola, do których można tworzyć zapytania (patrz LogEntry). W przypadku Hostingu niektóre pola są standardowo stosowane w żądaniach HTTP, ale istnieją też inne wartości pól pochodzące z przetwarzania, które usługa Hosting uruchamia w odpowiedzi na każde żądanie.

Pole Opis
Hosting Firebase przechowuje poniższe pola w obiekcie httpRequest wpisu logu.
Te pola są zdefiniowane w specyfikacji HTTP.
cacheHit Wskazuje, czy usługa Hosting CDN miała zasób odpowiedzi w pamięci podręcznej
latency Czas trwania żądania w sekundach z postfiksem s (np. 1.256s)
protocol Protokół użyty w żądaniu (na przykład HTTP/1.1, HTTP/2, websocket)
referer Adres poprzedniej strony internetowej, z której przeszedłeś do żądanej strony (jeśli istnieje)
remoteIp Źródłowy adres IP klienta dla żą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 wypełniono
status Stan odpowiedzi HTTP (np. 200 lub 404)
userAgent Nagłówek klienta użytkownika żądania
Hosting Firebase przechowuje dodatkowe pola w obiekcie jsonPayload wpisu logu.
acceptEncoding (z żądania HTTP) – jakie kodowanie treści (zwykle jest to algorytm kompresji) obsługuje klient (np. gzip lub compress).
billable Wskazuje, czy za żądanie zostały naliczone opłaty za projekt.
customDomain czy żądanie skierowano do domeny niestandardowej, czy nie;
hostname Nazwa hosta, na którą przesłano żądanie
remoteIpCountry kraj, z którego pochodzi żądanie;
remoteIpCity miasto, z którego wysłano prośbę;

Użyj 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.

  • Korzystaj ze wstępnie zdefiniowanych wskaźników systemowych, które są automatycznie rejestrowane, na przykład z liczby zdarzeń logowania, które wystąpiły w określonym przedziale czasu.

  • Możesz tworzyć wskaźniki zdefiniowane przez użytkownika w projekcie. Możesz zliczać wpisy logu, które pasują do danego zapytania, lub śledzić określone wartości za pomocą pasujących wpisów logu. Możesz filtrować za pomocą wyrażeń regularnych.

  • Używaj Cloud Monitoring, aby rejestrować liczbę wpisów logu zawierających określone wiadomości lub wyodrębniać informacje o czasie oczekiwania zgłoszone we wpisach logu. Wskaźników można potem używać na wykresach i w zasadach tworzenia alertów.

Hosting Firebase generuje też poniższe dane logowania specyficzne dla Hostingu. Wskaźniki te nie dotyczą wpisu logu, tylko konkretnej witryny w Hostingu jako całości.

  • log_bytes: łączna ilość danych używanych w każdej witrynie (w bajtach)

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

    Te dane zawierają pole stanu HTTP, dzięki czemu możesz sporządzić wykres odpowiedzi HTTP według stanu (np.).

Eksportowanie logów do innych narzędzi Google Cloud

Możesz też wyeksportować logi swojej witryny do innych narzędzi Google Cloud, takich jak Cloud Monitoring czy BigQuery, na przykład:

  • Cloud Monitoring pozwala tworzyć wskaźniki oparte na logach do wykorzystania na wykresach i w zasadach tworzenia alertów.

  • BigQuery pozwala:

    • Użyj Studia danych, aby wygenerować panele z danymi z Hostingu.
    • Uruchamiaj zapytania, aby uzyskać więcej informacji o żądaniach (średni rozmiar odpowiedzi, trafienia w pamięci podręcznej i niepowodzenia itp.).
    • Dowiedz się, o które adresy URL rzeczywiście proszą użytkownicy.
    • Połącz dane z Hostingu z innymi danymi Firebase wyeksportowanymi do BigQuery i utwórz do nich zapytania na nowe sposoby.