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ń sieciowych w przypadku każdej witryny Hosting. Te dzienniki pochodzą z CDN automatycznie udostępnianego przez Firebase, więc każde żądanie wysłane do Twojej witryny i powiązane z nim dane są rejestrowane.

Oto kilka czynności, które możesz wykonywać za pomocą plików dziennika Cloud Logging. Aby uzyskać szczegółowe informacje, zapoznaj się z poszczególnymi sekcjami tej strony.

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

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

    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 1 aktywną witrynę Hosting, w procesie łączenia wyświetli się szacowany poziom wykorzystania danych dla logów z każdej z tych witryn.Hosting Ta wartość jest obliczana na podstawie danych z ostatnich 30 dni.

Po połączeniu z Cloud Logging dzienniki dotyczące nowych żądań wysyłanych do Twoich 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 zaprzestanie eksportowania logów żądań sieci do Cloud Logging.

Monitorowanie wykorzystania danych na potrzeby dzienników

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

  • Na karcie integracji Cloud Logging w konsoli Firebase

  • W interfejsie Logs Viewer w konsoli Google Cloud (dane log_bytes)

Lepsze zrozumienie witryny

Logs Viewer w konsoli Google Cloud zawiera 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?
    Możesz wyświetlać informacje o każdym żądaniu, w tym adres IP źródła, adres referer, miasto i stan.

  • 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 używaniu aplikacji, a także wykryć nieoczekiwane wzrosty natężenia ruchu.

  • Jaki jest rozkład stanów próśb użytkowników?
    Możesz wyświetlić stan każdej prośby, a nawet diagnozować prośby, które otrzymują błędy. Możesz filtrować dzienniki według Critical, Error lub Warning.

  • Ile czasu zajmuje Twojej witrynie odpowiedź na żądanie?
    Za pomocą wartości latency zarejestrowanej w każdym dzienniku możesz sprawdzić opóźnienie witryny w przypadku każdej prośby.

  • Czy Twoja witryna korzysta z przechowywania treści w pamięci podręcznej?
    Każdy dziennik zawiera pole cacheHit, które informuje, czy zasób witryny został szybko przesłany z pamięci podręcznej CDN usługi Hosting, czy musiał zostać przesłany z Hosting do backendu. Pomoże Ci to poprawić wydajność witryny, ponieważ wykorzystasz w pełni globalną sieć CDN Firebase. Możesz na przykład użyć tych danych, aby dostosować do nich sposób buforowania komponentów statycznych i treści dynamicznych.

  • Jaki jest rozkład ruchu w różnych domenach?
    Jeśli masz wiele domen lub witryn Hosting, możesz filtrować dzienniki według domeny lub witryny. Dzięki temu możesz sprawdzić, jak rozkłada się Twój ruch. Filtrowanie według domeny pozwala śledzić, która domena jest najczęściej odwiedzana.

Filtrowanie dzienników za pomocą zapytań

Aby dowiedzieć się, jak filtrować logi za pomocą zapytań, zapoznaj się z artykułami Przykładowe zapytania w wyświetlaczu logówTworzenie 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 pliku z logami (logName) – webrequests (Firebase Hosting)

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

Pole Opis
Firebase Hosting przechowuje w obiekcie httpRequest wpisu dziennika te pola:
Te pola są zdefiniowane w specyfikacji HTTP.
cacheHit czy Hosting CDN 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 do żądania (np. HTTP/1.1, HTTP/2, websocket).
referer adres poprzedniej strony internetowej, z której nastąpiło kliknięcie linku do strony, której dotyczy bieżące żądanie (jeśli występuje);
remoteIp Adres IP klienta, który wysłał żądanie
requestMethod Metoda żądania (GET, POST, PUT itd.)
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łnione
status Stan odpowiedzi HTTP (na przykład 200 lub 404).
userAgent Nagłówek żądania user-agent
Firebase Hosting przechowuje dodatkowe pola w obiekcie jsonPayload wpisu dziennika.
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, której dotyczy żądanie
remoteIpCountry Kraj pochodzenia żądania
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. liczba zdarzeń logowania, które wystąpiły w określonym przedziale czasu.

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

  • Użyj parametru Cloud Monitoring, aby zarejestrować liczbę wpisów w logu zawierających określone wiadomości lub wyodrębnić informacje o opóźnieniach podane w wpisach w logu. Następnie możesz używać tych danych w wykresach i zasadach 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 liczba bajtów zużytych danych w przypadku każdej witryny

  • response_count: łączna liczba odpowiedzi napisanych w witrynie

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

Eksportowanie logów do innych narzędzi Google Cloud

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

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

  • Korzystając z BigQuery, możesz wykonać te czynności:

    • Użyj Studia danych, aby wygenerować panele informacyjne z danymi Hosting.
    • Uruchamiaj zapytania, aby uzyskać więcej informacji o swoich żądaniach (średni rozmiar odpowiedzi, trafienia i błędy w przypadku pamięci podręcznej itp.).
    • Dowiedz się, jakie adresy URL faktycznie wysyłają użytkownicy.
    • Łącz dane Hosting z innymi danymi Firebase wyeksportowanymi do BigQuery i wysyłaj zapytania w nowe sposoby.