您可以將 Firebase 專案連結到 Cloud Logging,以查看、搜尋和過濾每個託管網站的 Web 請求日誌。這些日誌來自 Firebase 自動提供的 CDN,因此會記錄對您網站的每個請求以及關聯的請求資料。
以下是您使用 Cloud Logging 日誌執行的一些操作。請訪問此頁面的每個部分以了解詳細資訊。
更了解您的網站— 了解您造訪網站的地點和時間、網站的回應狀態、最終使用者要求的延遲等。
透過查詢過濾您的日誌- 利用自動收集的資料來過濾和繪製與每個請求或您的網站相關的資料。
使用基於日誌的指標— 根據預先定義的系統指標或使用者定義的指標建立 Cloud Monitoring 圖表和警報策略。
將日誌匯出到其他 Google Cloud 工具- 使用其他工具(例如 BigQuery 和 Data Studio)中的日誌資料進行更強大的分析和關聯。
如果您的專案中有多個託管站點,您可以選擇哪個託管站點將匯出日誌。然後,您可以按託管網站甚至網域過濾和查看日誌資料。透過選擇特定的託管網站來匯出日誌,您還可以控制為專案處理的資料量。
Cloud Logging 每月(每個項目)免費使用高達 50GB 的資料。此用法可以來自任何使用 Cloud Logging 的 Google 或 Firebase 產品。您可以將您的項目升級到 Blaze 定價計劃以解鎖額外的付費使用。詳細了解Cloud Logging 的定價。
您可以監控和管理 Cloud Logging 和計費:
使用Google Cloud 定價計算器估算您的 Cloud Logging 帳單。
透過建立排除來限制日誌。
設定警報以幫助控製成本。
請注意,特定請求的日誌條目可能會延遲,或者在極少數情況下會被刪除。雖然日誌可用於了解請求,但它們可能無法反映項目使用情況和計費中顯示的真實使用情況。
連結到 Cloud Logging 並監控您的資料使用情況
連結到 Cloud Logging 並匯出 Web 請求日誌
點選 Firebase 控制台中Cloud Logging整合卡中的「連結」 。
若要連結或取消連結 Cloud Logging,您需要將權限綁定到下列任一角色:專案擁有者或編輯者或Firebase 開發管理員。
請依照螢幕上的指示選擇哪些託管網站應將日誌匯出到 Cloud Logging。
如果您已有一個或多個活動託管站點,則連結工作流程會顯示每個託管站點的日誌的估計資料使用等級。該值是根據過去 30 天估算的。
連結到 Cloud Logging 後,對託管網站的任何新請求的日誌通常會在發出請求後 30 分鐘內顯示。
您也可以取消 Firebase Hosting與 Cloud Logging 的鏈接,這樣會停止將 Web 請求日誌匯出到 Cloud Logging。
監控您的資料使用情況以取得日誌
連結到 Cloud Logging 後,您可以查看託管網站日誌的資料使用量:
在 Firebase 控制台的Cloud Logging整合卡中
在 Google Cloud 控制台的日誌檢視器介面中(
log_bytes
指標)
Cloud Logging 每月(每個項目)免費使用高達 50GB 的資料。此用法可以來自任何使用 Cloud Logging 的 Google 或 Firebase 產品。您可以將您的項目升級到 Blaze 定價計劃以解鎖額外的付費使用。詳細了解Cloud Logging 的定價。
您可以監控和管理 Cloud Logging 和計費:
使用Google Cloud 定價計算器估算您的 Cloud Logging 帳單。
透過建立排除來限制日誌。
設定警報以幫助控製成本。
請注意,特定請求的日誌條目可能會延遲,或者在極少數情況下會被刪除。雖然日誌可用於了解請求,但它們可能無法反映項目使用情況和計費中顯示的真實使用情況。
更了解您的網站
Google Cloud 控制台中的日誌檢視器介面提供了使用查詢、內建篩選器和資料面板查看特定日誌和資料的工具。在下面的下一部分中了解有關使用查詢過濾日誌的更多資訊。
您網站的詳細流量來自哪裡?
您可以查看每個請求的信息,包括來源 IP、引用者、城市和狀態。用戶什麼時候會造訪您的網站?
您可以使用直方圖面板查看特定時間範圍的分佈。這可以讓您深入了解應用程式使用情況的正常高峰和低谷,並揭示任何意外的流量高峰。最終用戶請求的狀態分佈如何?
您可以查看每個請求的狀態,甚至可以診斷收到錯誤的請求。您可以按Critical
、Error
或Warning
過濾日誌。您的網站需要多長時間來回應請求?
您可以使用每個日誌中捕獲的latency
值來查看網站每個請求的延遲。您的網站是否利用了內容快取?
每個日誌都包含一個cacheHit
字段,告訴您網站的資源是否從 Hosting 的 CDN 快取快速提供,或者是否必須完整存取 Hosting 後端。這可以幫助您充分利用 Firebase 的全球 CDN 來提高網站的效能。例如,您可以使用這些資料來微調靜態資產和動態內容的快取習慣。您的各個網域的流量分佈如何?
如果您有多個網域或託管站點,您可以按網域或站點過濾日誌。這使您可以查看流量的分佈。按網域過濾時,您可以追蹤訪問最頻繁的網域。
使用查詢過濾日誌
若要了解如何使用查詢過濾日誌,請造訪使用日誌檢視器的範例查詢和建置日誌查詢。下表描述了可用於這些查詢的欄位。
對於託管,以下是一些查詢的初始過濾器:
- 資源(
resource.type
) —firebase_domain
(Firebase 託管網站網域) - 日誌名稱(
logName
) —webrequests
(Firebase 託管)
每個日誌條目都有一個預先定義的結構和可查詢欄位(請參閱LogEntry )。對於 Hosting,某些字段是 HTTP 請求的標準字段,但還有其他字段值來自 Hosting 對每個請求運行的處理。
場地 | 描述 |
---|---|
Firebase 託管將以下欄位儲存在日誌條目的httpRequest 物件中。這些字段在 HTTP 規範中定義。 | |
cacheHit | Hosting CDN快取中是否有回應的資源 |
latency | 請求持續時間,以秒為單位,帶有s 後綴(例如1.256s ) |
protocol | 用於請求的協定(例如, HTTP/1.1 、 HTTP/2 、 websocket ) |
referer | 上一個網頁的位址,從該網頁連結到目前請求的頁面(如果存在) |
remoteIp | 請求的原始客戶端 IP |
requestMethod | 請求方法( GET 、 POST 、 PUT 等) |
requestSize | 請求的大小(以位元組為單位) |
requestUrl | 請求的完整 URL(例如,https://foo.web.app/bar 或https://custom.domain.com?query=param ) |
responseSize | HTTP 回應大小(以位元組為單位) |
serverIp | 無人居住 |
status | HTTP 回應狀態(例如200 或404 ) |
userAgent | 請求的 user-Agent 標頭 |
Firebase 託管將其他欄位儲存在日誌條目的jsonPayload 物件中。 | |
acceptEncoding | (來自 HTTP 請求)客戶端支援哪種內容編碼,通常是壓縮演算法(例如gzip 或compress ) |
billable | 您的專案是否針對該請求付費 |
customDomain | 請求是否針對自訂網域發出 |
hostname | 發出請求的主機名 |
remoteIpCountry | 請求的發起國家/地區 |
remoteIpCity | 請求的發起城市 |
使用基於日誌的指標
您可以檢視和建立基於日誌的指標,然後在 Cloud Monitoring 中使用這些指標來建立圖表和警報政策。
利用自動記錄的預定義系統指標,例如特定時間內發生的日誌記錄事件的數量。
為您的專案建立使用者定義的指標。您可以計算與給定查詢相符的日誌條目的數量,或追蹤具有符合日誌條目的特定值。您可以使用正規表示式進行篩選。
使用Cloud Monitoring記錄包含特定訊息的日誌條目數或提取日誌條目中報告的延遲資訊。然後,您可以在圖表和警報策略中使用這些指標。
Firebase 託管也會產生以下特定於託管的日誌記錄指標。這些指標並不是特定於日誌條目,而是特定於整個託管網站。
log_bytes
:每個站點的資料使用總位元組數response_count
:為網站編寫的回應總數此指標包括 HTTP 狀態字段,因此您可以按狀態繪製 HTTP 回應(作為範例)。
將日誌匯出到其他 Google Cloud 工具
您也可以將網站日誌匯出到其他 Google Cloud 工具,例如 Cloud Monitoring 或 BigQuery,例如:
使用Cloud Monitoring ,您可以建立可在圖表和警報政策中使用的基於日誌的指標。
使用BigQuery ,您可以執行以下任一操作:
- 使用 Data Studio 產生託管資料的儀表板。
- 執行查詢以更深入地了解您的請求(平均回應大小、快取命中與未命中等)。
- 了解您的用戶實際請求哪些 URL。
- 將您的託管資料與您匯出到 BigQuery 的其他 Firebase 資料相結合,並以新的方式進行查詢。