Wyświetlaj, przeszukuj i filtruj dzienniki żądań internetowych Twojej witryny za pomocą Cloud Logging

Możesz połączyć swój projekt Firebase z Cloud Logging, aby wyświetlać, przeszukiwać i filtrować dzienniki żądań internetowych dla każdej ze swoich witryn w Hostingu. Te dzienniki pochodzą z sieci CDN, która jest automatycznie dostarczana przez Firebase, więc każde żądanie skierowane do Twojej witryny i powiązane z nim dane są rejestrowane.

Oto kilka rzeczy, które robisz z dziennikami Cloud Logging. Odwiedź każdą sekcję tej strony, aby poznać szczegóły.

Jeśli w swoim projekcie masz wiele witryn Hostingu, możesz wybrać, które z Twoich witryn Hostingu będą eksportować logi. Następnie możesz filtrować i przeglądać dane dzienników według witryny hostingowej, a nawet domeny. Wybierając konkretne witryny hostingowe do eksportu logów, możesz również kontrolować ilość danych przetwarzanych dla Twojego projektu.

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

    Aby połączyć lub odłączyć Cloud Logging, potrzebujesz uprawnień przypisanych do dowolnej z następujących ról: właściciel projektu lub edytujący lub administrator programu Firebase Develop .

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

    Jeśli masz już co najmniej jedną aktywną witrynę Hostingu, przepływ pracy z łączeniem wyświetla szacunkowy poziom wykorzystania danych dla dzienników z każdej z Twoich witryn Hostingu. Ta wartość jest szacowana z ostatnich 30 dni.

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

Możesz też odłączyć Hosting Firebase od Cloud Logging, co zatrzyma eksport dzienników żądań internetowych do Cloud Logging.

Monitoruj wykorzystanie danych w dziennikach

Po połączeniu się z Cloud Logging możesz wyświetlić poziom wykorzystania danych w dziennikach ze swoich witryn Hostingu:

Lepiej zrozum swoją witrynę

Interfejs przeglądarki dzienników w Google Cloud Console oferuje narzędzia do przeglądania określonych dzienników i danych za pomocą zapytań oraz wbudowanych filtrów i paneli danych. Dowiedz się więcej o filtrowaniu dzienników za pomocą zapytań w następnej sekcji poniżej.

  • 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, stronę odsyłającą, miasto i status.

  • Kiedy użytkownicy odwiedzają Twoją witrynę?
    Możesz użyć panelu Histogram, aby zobaczyć rozkład w określonych przedziałach czasowych. Dzięki temu możesz uzyskać wgląd w normalne szczyty i spadki użycia Twojej aplikacji, a także ujawnić wszelkie nieoczekiwane wzrosty ruchu.

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

  • Jak długo trwa odpowiedź Twojej witryny na żądanie?
    Możesz wyświetlić opóźnienie swojej witryny dla każdego żądania, korzystając z wartości latency zarejestrowanej w każdym dzienniku.

  • Czy Twoja witryna korzysta z buforowania treści?
    Każdy dziennik zawiera pole cacheHit , które informuje, czy zasób Twojej witryny został szybko udostępniony z pamięci podręcznej CDN Hostingu, czy też musiał przejść pełną podróż do zaplecza Hostingu. Pomoże Ci to poprawić wydajność witryny dzięki maksymalnemu wykorzystaniu globalnego CDN Firebase. Możesz na przykład użyć danych do dostrojenia nawyków buforowania zasobów statycznych i zawartości dynamicznej .

  • Jaki jest rozkład ruchu w Twoich różnych domenach?
    Jeśli masz wiele domen lub witryn hostingowych, możesz filtrować dzienniki według domeny lub witryny. Pozwala to zobaczyć, jak rozkłada się ruch. Filtrując według domeny, możesz śledzić, która domena jest najczęściej odwiedzana.

Filtruj swoje logi za pomocą zapytań

Aby dowiedzieć się, jak filtrować dzienniki za pomocą zapytań, zobacz Przykładowe zapytania za pomocą przeglądarki logów i Tworzenie zapytań dzienników . Poniższa tabela opisuje pola dostępne dla tych zapytań.

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

  • Zasób ( resource.type ) — firebase_domain (domena witryny hostingu Firebase)
  • Nazwa dziennika ( logName ) — żądania sieciowe (hosting webrequests )

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

Pole Opis
Hosting Firebase przechowuje następujące pola w obiekcie httpRequest wpisu dziennika.
Pola te są zdefiniowane w specyfikacji HTTP.
cacheHit Czy hosting CDN miał zasób odpowiedzi w pamięci podręcznej?
latency Czas trwania żądania w sekundach z przyrostkiem s (na przykład 1.256s )
protocol Protokół używany do żądania (na przykład HTTP/1.1 , HTTP/2 , websocket )
referer Adres poprzedniej strony internetowej, z której podążono za linkiem do aktualnie żądanej strony (jeśli jest obecny)
remoteIp Początkowy adres IP klienta dla żądania
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 zaludniony
status Stan odpowiedzi HTTP (na przykład 200 lub 404 )
userAgent Nagłówek User-Agent żądania
Hosting Firebase przechowuje dodatkowe pola w obiekcie jsonPayload wpisu dziennika.
acceptEncoding (z żądania HTTP) Jakie kodowanie treści, zwykle algorytm kompresji, obsługuje klient (np. gzip lub compress )
billable Czy Twój projekt został obciążony kosztami wniosku
customDomain Czy prośba została wysłana w odniesieniu do domeny niestandardowej
hostname Nazwa hosta, przeciwko któremu wysłano żądanie
remoteIpCountry Kraj pochodzenia wniosku
remoteIpCity Miasto, z którego pochodzi żądanie

Użyj wskaźników opartych na logach

Możesz wyświetlać i tworzyć metryki oparte na dziennikach , a następnie używać tych metryk w Cloud Monitoring do tworzenia wykresów i zasad alertów.

  • Wykorzystaj wstępnie zdefiniowane metryki systemowe , które są automatycznie rejestrowane, takie jak liczba zdarzeń rejestrowania, które wystąpiły w określonym przedziale czasu.

  • Twórz metryki zdefiniowane przez użytkownika dla swojego projektu. Możesz policzyć wpisy dziennika pasujące do danego zapytania lub śledzić poszczególne wartości z pasującymi wpisami dziennika. Możesz filtrować za pomocą wyrażeń regularnych.

  • Użyj Cloud Monitoring , aby rejestrować liczbę wpisów dziennika zawierających określone wiadomości lub wyodrębniać informacje o opóźnieniach zgłoszone we wpisach dziennika. Następnie możesz użyć tych metryk w wykresach i zasadach alertów.

Hosting Firebase generuje również następujące dane logowania specyficzne dla Hostingu. Te metryki nie są specyficzne dla wpisu w dzienniku, ale raczej dla konkretnej witryny Hostingu jako całości.

  • log_bytes : Łączna liczba bajtów wykorzystania danych dla każdej witryny

  • response_count : Całkowita liczba odpowiedzi napisanych dla witryny

    Ta metryka obejmuje pole stanu HTTP, dzięki czemu można wykreślić odpowiedzi HTTP według stanu (jako przykład).

Eksportuj dzienniki do innych narzędzi Google Cloud

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

  • Korzystając z Cloud Monitoring , możesz tworzyć oparte na dziennikach metryki, których możesz używać w wykresach i zasadach alertów.

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

    • Użyj Data Studio, aby wygenerować pulpity nawigacyjne z danymi Hostingu.
    • Uruchom zapytania, aby uzyskać lepszy wgląd w swoje żądania (średni rozmiar odpowiedzi, trafienia w pamięci podręcznej lub chybienia itp.).
    • Dowiedz się, jakich adresów URL faktycznie żądają Twoi użytkownicy.
    • Połącz swoje dane z Hostingu z innymi danymi Firebase wyeksportowanymi do BigQuery i przeszukuj je na nowe sposoby.