Projekt Firebase możesz połączyć z Cloud Logging, aby wyświetlać, przeszukiwać i filtrować logi żądań sieciowych w każdej witrynie Hosting. Te logi pochodzą z sieci CDN, która jest automatycznie udostępniana przez Firebase, więc rejestrowane są wszystkie żądania wysyłane do Twojej witryny oraz powiązane z nimi dane.
Oto kilka przykładów zastosowań logów Cloud Logging. Aby dowiedzieć się więcej, otwórz poszczególne sekcje na tej stronie.
Lepsze poznanie witryny – dowiedz się z kąd i kiedy użytkownicy odwiedzają Twoją witrynę, jakie są stany odpowiedzi witryny, jakie są opóźnienia w odpowiedziach na żądania użytkowników itp.
Filtrowanie logów za pomocą zapytań – wykorzystuj automatycznie zbierane dane do filtrowania i tworzenia wykresów danych powiązanych z każdym żądaniem lub Twoją witryną.
Korzystanie ze wskaźników opartych na logach – twórz wykresy Cloud Monitoring i zasady tworzenia alertów na podstawie predefiniowanych 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 (np. BigQuery i Data Studio) do bardziej zaawansowanej analizy i korelacji.
Jeśli w projekcie masz kilka witryn Hosting, możesz wybrać, które z Twoich witryn Hosting będą eksportować logi. Następnie możesz filtrować i wyświetlać dane logów według witryny Hosting i nawet według domeny. Wybierając konkretne Hosting witryny do eksportowania logów, możesz też kontrolować ilość danych przetwarzanych w projekcie.
Łączenie z Cloud Logging i monitorowanie wykorzystania danych
Łączenie z Cloud Logging i eksportowanie logów żądań sieciowych
W konsoli Firebase na karcie integracji Cloud Logging kliknij Połącz.
Aby połączyć lub rozłączyć Cloud Logging, musisz mieć uprawnienia zawarte w jednej z tych ról: Właściciel projektu lub Edytujący lub Administrator Firebase Develop.
Postępuj zgodnie z instrukcjami wyświetlanymi na ekranie, aby wybrać, które witryny Hosting mają 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 tych Hosting witryn. Ta wartość jest szacowana na podstawie danych z ostatnich 30 dni.
Po połączeniu z Cloud Logging logi dotyczące nowych żądań wysyłanych do Hosting witryn będą zwykle widoczne w ciągu 30 minut od wysłania żądania.
Możesz też rozłączyć Firebase Hosting z Cloud Logging, co spowoduje zatrzymanie eksportu logów żądań sieciowych do Cloud Logging.
Monitorowanie wykorzystania danych na potrzeby logów
Po połączeniu z Cloud Logging możesz wyświetlić poziom wykorzystania danych na potrzeby logów z witryn Hosting:
Na karcie integracji w konsoli Firebase.Cloud Logging
W interfejsie Logs Viewer w konsoli Google Cloud (wskaźnik
log_bytes).
Lepsze poznanie witryny
Interfejs Logs Viewer w konsoli Google Cloudoferuje 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 logów za pomocą zapytań znajdziesz w następnej sekcji.
Skąd pochodzi ruch w Twojej witrynie?
Możesz wyświetlić informacje o każdym żądaniu, w tym adres IP źródła, adres strony odsyłającej, miasto i stan.Kiedy użytkownicy odwiedzają Twoją witrynę?
Za pomocą panelu Histogram możesz wyświetlić rozkład według określonych przedziałów czasu. Dzięki temu możesz poznać normalne szczyty i spadki wykorzystania aplikacji oraz wykryć nieoczekiwane skoki ruchu.Jaki jest rozkład stanu żądań użytkowników?
Możesz wyświetlić stan każdego żądania, a nawet zdiagnozować żądania, które powodują błędy. Możesz filtrować logi według wartościCritical,ErrorlubWarning.Ile czasu zajmuje Twojej witrynie odpowiedź na żądanie?
Opóźnienie witryny w przypadku każdego żądania możesz sprawdzić za pomocą wartościlatencyzarejestrowanej w każdym logu.Czy Twoja witryna korzysta z buforowania treści?
Każdy log zawiera polecacheHit, które informuje, czy zasób witryny został szybko obsłużony z pamięci podręcznej sieci CDN Hosting, czy też musiał przejść całą drogę do backendu Hosting. Dzięki temu możesz zwiększyć wydajność witryny, optymalnie wykorzystując globalną sieć CDN Firebase. Możesz na przykład użyć tych danych do dostosowania sposobu buforowania zasobów statycznych i treści dynamicznych.Jaki jest rozkład ruchu w Twoich domenach?
Jeśli masz kilka domen lub witryn Hosting Hostingu, możesz filtrować logi według domeny lub witryny. Umożliwia to sprawdzenie, jak rozkłada się ruch. Gdy filtrujesz według domeny, możesz śledzić, która domena jest najczęściej odwiedzana.
Filtrowanie logów za pomocą zapytań
Aby dowiedzieć się, jak filtrować logi za pomocą zapytań, przeczytaj artykuły Przykładowe zapytania w Przeglądarce logów i Tworzenie zapytań do logów. W tabeli poniżej znajdziesz opis pól dostępnych w tych zapytaniach.
Oto kilka początkowych filtrów zapytania w przypadku Hosting:
- Zasób (
resource.type) –firebase_domain(domena witryny Firebase Hosting) - Nazwa logu (
logName) –webrequests(Firebase Hosting)
Każdy wpis w logu ma predefiniowaną 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 pochodzące z przetwarzania, które Hosting wykonuje w przypadku każdego żądania.
| Pole | Opis |
|---|---|
Firebase Hosting przechowuje te pola w obiekcie
httpRequest wpisu w logu.Pola te są zdefiniowane w specyfikacji HTTP. |
|
cacheHit |
Określa, czy sieć CDN Hosting miała w pamięci podręcznej zasób odpowiedzi w pamięci podręcznej. |
latency |
Czas trwania żądania w sekundach z sufiksem s (np. 1.256s)
|
protocol |
Protokół używany w żądaniu (np. HTTP/1.1,
HTTP/2, websocket).
|
referer |
Adres poprzedniej strony, z której nastąpiło przejście do aktualnie żądanej strony (jeśli jest dostępny). |
remoteIp |
Adres IP klienta, z którego pochodzi żą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 jest wypełniane |
status |
Stan odpowiedzi HTTP (np. 200 lub
404).
|
userAgent |
Nagłówek User-Agent żądania. |
Firebase Hosting przechowuje dodatkowe pola w obiekcie
jsonPayload wpisu w logu.
|
|
acceptEncoding |
(z żądania HTTP) Kodowanie treści, zwykle algorytm kompresji, obsługiwane przez klienta (np. gzip lub compress).
|
billable |
Określa, czy za żądanie naliczono opłatę. |
customDomain |
Określa, czy żądanie zostało wysłane do domeny niestandardowej. |
hostname |
Nazwa hosta, do którego zostało wysłane żądanie. |
remoteIpCountry |
Kraj, z którego pochodzi żą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.
Wykorzystuj predefiniowane wskaźniki systemowe które są rejestrowane automatycznie, np. liczbę zdarzeń logowania, które wystąpiły w określonym przedziale czasu.
Twórz wskaźniki zdefiniowane przez użytkownika na potrzeby projektu. Możesz zliczać liczbę wpisów w logu, które pasują do danego zapytania, lub śledzić określone wartości w pasujących wpisach w logu. Możesz filtrować za pomocą wyrażeń regularnych.
Używaj Cloud Monitoring do rejestrowania liczby wpisów w logu zawierających określone wiadomości lub do wyodrębniania informacji o opóźnieniach podanych we wpisach w logu. Następnie możesz używać tych wskaźników na wykresach i w zasadach tworzenia alertów.
Firebase Hosting generuje też te wskaźniki logowania specyficzne dla Hosting. Te wskaźniki nie są specyficzne dla wpisu w logu, ale dla całej Hosting witryny.
log_bytes: łączna liczba bajtów wykorzystania danych w przypadku każdej witryny.response_count: łączna liczba odpowiedzi zapisanych w witrynie.Ten wskaźnik zawiera pole stanu HTTP, dzięki czemu możesz na przykład tworzyć wykresy odpowiedzi HTTP według stanu.
Eksportowanie logów do innych Google Cloud narzędzi
Możesz też eksportować logi witryny do innych narzędzi Google Cloud, np. Cloud Monitoring lub BigQuery:
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 Data Studio, aby generować panele danych Hosting.
- Uruchamiaj zapytania, aby uzyskać więcej informacji o żądaniach (średni rozmiar odpowiedzi, trafienia i nietrafienia w pamięci podręcznej itp.).
- Dowiedz się, które adresy URL są rzeczywiście żądane przez użytkowników.
- Łącz dane Hosting z innymi danymi Firebase wyeksportowanymi do BigQuery i wysyłaj do nich zapytania na nowe sposoby.