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

Możesz połączyć swój projekt Firebase z usługą Cloud Logging, aby wyświetlać, wyszukiwać i filtrować logi żądań sieciowych dla każdej z witryn Hosting. Te logi są z sieci CDN dostarczonej automatycznie przez Firebase, więc każde żądanie wysyłane do i powiązane dane żądań.

Oto niektóre czynności, które możesz wykonać z dziennikami Cloud Logging. Odwiedź każdą z sekcji na tej stronie.

Jeśli w projekcie masz wiele witryn Hosting, możesz wybrać, które z nich będą eksportować dzienniki. Następnie możesz filtrować i wyświetlać logi według Hosting witryny, a nawet według domeny. Wybierając konkretne Hostingwitryny, z których mają być eksportowane dzienniki, możesz też kontrolować ilość danych przetwarzanych na potrzeby projektu.

  1. Kliknij Połącz w Cloud Logging karta integracji w konsoli Firebase.

    Aby połączyć lub rozłączyć Cloud Logging, musisz mieć uprawnienia związane z jedną z tych ról: Właściciel lub Edytor projektu lub Administrator Firebase Develop.

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

    Jeśli masz już co najmniej jedną aktywną witrynę Hosting, połączenie wyświetla szacowany poziom użycia danych dla logów z każdego Hosting witryn. Ta wartość została oszacowana na podstawie ostatnich 30 dni.

Po połączeniu z usługą Cloud Logging dzienniki wszystkich nowych żądań wysyłanych do Witryny Hosting zwykle pojawiają się w ciągu 30 minut od przesłania żądania podjętych działań.

Możesz też odłącz konto Firebase Hosting od Cloud Logging, co zatrzymuje eksportowanie 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świetlić poziom wykorzystania danych w przypadku logów z witryn Hosting:

Lepsze zrozumienie witryny

Interfejs Logs Viewer w konsoli Google Cloud znajdziesz 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 dzienniki przy użyciu zapytań w następnej sekcji.

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

  • Kiedy użytkownicy odwiedzają Twoją witrynę?
    Aby sprawdzić rozkład danych w określonych przedziałach czasu, możesz skorzystać z panelu Histogram. Dzięki temu możesz uzyskać wgląd w normalne szczyty i spadki w korzystaniu z aplikacji, a także wykryć nieoczekiwane wzrosty natężenia ruchu.

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

  • Ile czasu zajmuje Twojej witrynie odpowiedź na żądanie?
    Możesz sprawdzić czas oczekiwania dla każdego żądania za pomocą latency przechwycony w każdym logu.

  • Czy Twoja witryna korzysta z przechowywania treści w pamięci podręcznej?
    Każdy dziennik zawiera pole cacheHit informujące, czy zasób witryny został został szybko wyświetlony z pamięci podręcznej CDN sieci Hosting, lub jeśli musiałby do backendu Hosting. Pomoże Ci to poprawić wydajność witryny, ponieważ wykorzystasz w pełni globalną sieć CDN Firebase. Na przykład: mogą użyć tych danych do sprecyzowania zasobów statycznych oraz zawartości dynamicznej.

  • Jaki jest rozkład ruchu w różnych domenach?
    Jeśli masz wiele domen lub Hosting witryn, możesz filtrować dzienniki według domeny lub witryny. Dzięki temu możesz sprawdzić natężenie ruchu rozkładany. Filtrując według domeny, możesz sprawdzić, najczęściej odwiedzane.

Filtrowanie logów za pomocą zapytań

Aby dowiedzieć się, jak filtrować logi za pomocą zapytań, zapoznaj się z artykułem Przykładowe zapytania za pomocą przeglądarki logów oraz Tworzenie zapytań dotyczących logów. Tabela poniżej zawiera opis pól dostępnych w przypadku tych zapytań.

W przypadku Hosting oto kilka początkowych filtrów zapytania:

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

Każdy wpis logu ma wstępnie zdefiniowaną strukturę i pola, do których można tworzyć zapytania (patrz LogEntry). W przypadku Hosting niektóre pola są standardowe w żądaniu HTTP, ale występują inne wartości pól pochodzące z przetwarzania, które Hosting uruchamia na każdym z nich użytkownika.

Pole Opis
Firebase Hosting przechowuje te pola w funkcji Obiekt dziennika httpRequest wpisu.
Te pola są zdefiniowane w specyfikacji HTTP.
cacheHit Czy sieć CDN Hosting miała zasób odpowiedzi w pamięci podręcznej
latency Czas trwania żądania w sekundach z przyrostkiem s (np. 1.256s).
protocol Protokół użyty w prośbie (np. HTTP/1.1, HTTP/2, websocket).
referer Adres poprzedniej strony internetowej, z której znajduje się link do odwiedzono aktualnie żądaną stronę (jeśli istnieje)
remoteIp Adres IP klienta, który wysłał żądanie
requestMethod Metoda żądania (GET, POST, PUT itp.)
requestSize Rozmiar żądania w bajtach
requestUrl Pełny adres URL żądania (na przykład
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
Firebase Hosting przechowuje dodatkowe pola w jsonPayload obiektu wpisu w dzienniku.
acceptEncoding (z żądania HTTP) Rodzaj kodowania treści, zwykle algorytm kompresji, obsługiwany przez klienta (na przykład gzip lub compress).
billable czy projekt został obciążony opłatą za prośbę.
customDomain Czy prośba dotyczyła domeny niestandardowej
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ę;

Korzystanie ze wskaźników opartych na logach

Możesz wyświetlać i tworzyć danych opartych na logach, użyj tych danych w Cloud Monitoring do tworzenia wykresów i alertów .

  • Wykorzystanie wstępnie zdefiniowanych danych systemowych rejestrowanych automatycznie. Mogą to być np. rejestracje zdarzeń, wystąpiło w określonym przedziale czasu.

  • Utwórz wskaźników zdefiniowanych przez użytkownika do swojego projektu. Możesz policzyć wpisy logu, które pasują do danego lub śledzić konkretne wartości za pomocą pasujących wpisów logu. Ty można filtrować za pomocą wyrażeń regularnych.

  • Użyj aplikacji Cloud Monitoring, aby: rejestrowanie liczby wpisów logu zawierających konkretne wiadomości lub wyodrębnianie informacje o czasie oczekiwania zgłaszane we wpisach logu. Możesz następnie używać tych danych w: wykresów i zasad tworzenia alertów.

Firebase Hosting generuje też te dane rejestrowania dotyczące Hosting: Te dane nie dotyczą konkretnego wpisu w logu, ale całej witryny Hosting.

  • 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 tworzyć wykresy odpowiedzi HTTP według stanu (np.).

Eksportuj logi do innych narzędzi Google Cloud

Możesz też eksportować dzienniki witryny do innych narzędzi Google Cloud, takich jak Cloud Monitoring lub BigQuery, na przykład:

  • Korzystając z Cloud Monitoring, możesz tworzyć wskaźniki oparte na logach, których można używać w wykresach i alertach .

  • BigQuery pozwala następujące:

    • Użyj Studia danych, aby wygenerować panele z danymi Hosting.
    • 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.
    • Łącz dane Hosting z innymi danymi Firebase wyeksportowanymi do BigQuery i wysyłaj zapytania w nowe sposoby.