您可以將您的 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,您需要綁定到以下任何角色的權限: project Owner 或 Editor或Firebase Develop Admin 。
按照屏幕上的說明選擇您的哪些託管站點應將日誌導出到 Cloud Logging。
如果您已經有一個或多個活動的託管站點,鏈接工作流會顯示每個託管站點的日誌的估計數據使用水平。該值是根據過去 30 天估算的。
鏈接到 Cloud Logging 後,對您的託管站點的任何新請求的日誌通常會在發出請求後的 30 分鐘內顯示。
您還可以取消 Firebase 託管與 Cloud Logging 的關聯,這會停止將 Web 請求日誌導出到 Cloud Logging。
監控日誌的數據使用情況
鏈接到 Cloud Logging 後,您可以查看託管站點日誌的數據使用級別:
在 Firebase 控制台的Cloud Logging集成卡中
在 Google Cloud Console 的日誌查看器界面中(
log_bytes
指標)
Cloud Logging 每月(每個項目)最多可免費使用 50GB 數據。這種使用可以來自任何使用 Cloud Logging 的 Google 或 Firebase 產品。您可以將您的項目升級到 Blaze 定價計劃以解鎖額外的付費使用。詳細了解Cloud Logging 的定價。
您可以監控和管理 Cloud Logging 和計費:
使用Google Cloud 定價計算器估算您的 Cloud Logging 賬單。
通過創建排除來限制日誌。
設置警報以幫助控製成本。
請注意,特定請求的日誌條目可能會延遲,或者在極少數情況下會被刪除。雖然日誌可用於了解請求,但它們可能無法反映出現在您的項目使用情況和計費中的真實使用情況。
更好地了解您的網站
Google Cloud Console 中的日誌查看器界面提供了使用查詢和內置過濾器和數據面板查看特定日誌和數據的工具。在下面的下一節中了解有關使用查詢過濾日誌的更多信息。
您網站的流量具體來自哪裡?
您可以查看有關每個請求的信息,包括源 IP、referer、城市和狀態。用戶何時訪問您的網站?
您可以使用直方圖面板查看特定時間範圍內的分佈情況。這可以讓您深入了解應用程序使用的正常高峰和低谷,並揭示任何意外的流量高峰。最終用戶請求的狀態分佈是什麼?
您可以查看每個請求的狀態,甚至可以診斷收到錯誤的請求。您可以按Critical
、Error
或Warning
過濾日誌。您的網站需要多長時間來響應請求?
您可以使用每個日誌中捕獲的latency
值來查看每個請求的站點延遲。您的站點是否利用了內容緩存?
每個日誌都包含一個cacheHit
字段,告訴您您的站點資源是否從 Hosting 的 CDN 緩存中快速提供,或者它是否必須完成到 Hosting 後端的完整行程。這可以幫助您充分利用 Firebase 的全球 CDN 來提高網站的性能。例如,您可以使用數據來微調靜態資產和動態內容的緩存習慣。您各個域的流量分佈情況如何?
如果您有多個域或託管站點,則可以按域或站點過濾日誌。這使您可以查看流量的分佈情況。按域過濾時,您可以跟踪訪問最頻繁的域。
使用查詢過濾日誌
要了解如何使用查詢過濾日誌,請訪問使用日誌查看器查詢示例和構建日誌查詢。下表描述了可用於這些查詢的字段。
對於託管,這裡有一些查詢的初始過濾器:
- 資源(
resource.type
) —firebase_domain
(Firebase 託管站點域) - 日誌名稱(
logName
) —webrequests
(Firebase Hosting)
每個日誌條目都有一個預定義的結構和可查詢的字段(請參閱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 數據相結合,並以新的方式進行查詢。