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ć, wyszukiwać i filtrować dzienniki żądań internetowych dla każdej z witryn 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 czynności, które możesz wykonać za pomocą Cloud Logging logów. Szczegółowe informacje znajdziesz w poszczególnych sekcjach tej strony.

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

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

    Aby połączyć lub odłączyć usługę Cloud Logging, musisz mieć uprawnienia przypisane do jednej 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ć witryny Hosting, z których chcesz eksportować logi do Cloud Logging.

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

Po połączeniu z Cloud Logging dzienniki nowych żądań wysyłanych do witryn Hosting zwykle pojawiają się w ciągu 30 minut od wysłania żądania.

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

Monitorowanie wykorzystania danych na potrzeby dzienników

Po połączeniu z Cloud Logging możesz wyświetlać poziom wykorzystania danych w przypadku logów z witryn Hosting:

Lepsze zrozumienie witryny

Logs ViewerInterfejsGoogle Cloudkonsoli udostępnia narzędzia do wyświetlania konkretnych dziennikó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ę?
    panelu Histogram możesz sprawdzić rozkład według określonych zakresów czasu. Dzięki temu możesz poznać normalne wzrosty i spadki w używaniu aplikacji, a także wykryć nieoczekiwane skoki natężenia ruchu.

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

  • Ile czasu zajmuje Twojej witrynie odpowiedź na żądanie?
    Opóźnienie w przypadku poszczególnych żądań możesz sprawdzić w witrynie, korzystając z latency wartości zarejestrowanej w każdym dzienniku.

  • Czy Twoja witryna korzysta z pamięci podręcznej treści?
    Każdy dziennik zawiera pole cacheHit, które informuje, czy zasób witryny został szybko dostarczony 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 dzięki wykorzystaniu globalnej sieci CDN Firebase. Możesz na przykład używać tych danych do dostosowywania ustawień buforowania statycznych komponentówdynamicznych treści.

  • Jak rozkłada się ruch w poszczególnych domenach?
    Jeśli masz wiele domen lub Hosting witryn, możesz filtrować logi według domeny lub witryny. Dzięki temu możesz zobaczyć, jak rozkłada się ruch. Gdy filtrujesz według domeny, możesz śledzić, która domena jest najczęściej odwiedzana.

Filtrowanie dzienników za pomocą zapytań

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

Oto wstępne filtry zapytania dotyczące Hosting:

  • 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, 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, które pochodzą z przetwarzania wykonywanego przez Hosting w przypadku każdego żądania.

Pole Opis
Firebase Hosting przechowuje te pola w obiekcie httpRequest wpisu dziennika.
Te pola są zdefiniowane w specyfikacji protokołu HTTP.
cacheHit Czy sieć CDN Hosting miała w pamięci podręcznej zasób odpowiedzi.
latency Czas trwania żądania w sekundach z sufiksem s (np. 1.256s)
protocol Protokół użyty w przypadku żądania (np. HTTP/1.1, HTTP/2, websocket).
referer Adres poprzedniej strony internetowej, z której kliknięto link do aktualnie żądanej strony (jeśli jest dostępny).
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 (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 w żądaniu
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 czy za żądanie naliczono opłatę w ramach projektu.
customDomain czy żądanie zostało wysłane w odniesieniu do domeny niestandardowej;
hostname Nazwa hosta, do którego zostało wysłane żądanie.
remoteIpCountry kraj, z którego zgłoszono żądanie;
remoteIpCity miasto, z którego pochodzi żądanie;

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.

  • Korzystaj z wstępnie zdefiniowanych danych systemowych, które są rejestrowane automatycznie, np. z liczby zdarzeń rejestrowania, które wystąpiły w określonym przedziale czasu.

  • Utwórz w projekcie wskaźniki zdefiniowane przez użytkownika. Możesz zliczać wpisy logu pasujące do danego zapytania lub śledzić określone wartości w pasujących wpisach logu. Możesz filtrować dane za pomocą wyrażeń regularnych.

  • Użyj funkcji Cloud Monitoring, aby rejestrować liczbę wpisów w logu zawierających określone wiadomości lub wyodrębniać informacje o opóźnieniach podane we wpisach w logu. Możesz następnie używać tych danych w wykresach i zasadach tworzenia alertów.

Firebase Hosting generuje też te dane logowania dotyczące Hosting: Te dane nie dotyczą konkretnego wpisu w dzienniku, ale raczej konkretnej Hosting witryny jako całości.

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

  • response_count: Łączna liczba odpowiedzi napisanych w przypadku witryny

    Te dane obejmują pole stanu HTTP, dzięki czemu możesz na przykład wykreślić odpowiedzi HTTP według stanu.

Eksportowanie logów do innych narzędzi Google Cloud

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

  • 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żyj Studia danych, aby generować panele informacyjne z danych Hosting.
    • Uruchamiaj zapytania, aby uzyskać więcej informacji o swoich żądaniach (średni rozmiar odpowiedzi, trafienia i nietrafienia w pamięci podręcznej itp.).
    • Dowiedz się, o które adresy URL użytkownicy faktycznie proszą.
    • Łącz dane Hosting z innymi danymi Firebase wyeksportowanymi do BigQuery i twórz nowe zapytania.