GCP帳號購買開通 如何查看GCP伺服器實時流量日誌
先弄清楚:GCP 裡的「實時流量日誌」到底看什麼
很多人一提到查看 GCP 伺服器實時流量日誌,第一反應是「有沒有像傳統 Linux 那樣,一條指令就能看到誰在連線、流量從哪裡來、現在跑到哪裡去」。在 GCP 裡,答案不是單一工具,而是要看你想觀察的是哪一層的流量。
如果你要看主機層面的網路進出,通常會想到 VPC Flow Logs。它記錄的是虛擬機器網卡相關的流量資訊,適合看來源 IP、目的 IP、埠號、協議、封包與位元組等資料。如果你要看應用服務的請求、回應碼、延遲、訪問來源,則更常用 Cloud Logging 搭配負載平衡器日誌、NGINX/Apache 日誌或應用程式日誌。若你要的是接近即時的監控視角,則還會搭配 Cloud Monitoring 觀察流量指標,從日誌和指標兩邊交叉確認。
換句話說,在 GCP 上看「實時流量日誌」,本質上是把幾種不同資料源拼起來看。你不需要每次都從最底層抓封包,因為那樣雖然細,但太耗時;也不需要只看報表,因為報表更新慢,遇到異常時反應不夠快。最實用的方式,是先確定自己要追的是哪種流量,再選對工具。
最常用的方法:透過 Cloud Logging 即時查詢
在 GCP 中,Cloud Logging 幾乎是最核心的入口。它的好處是集中、可搜尋、可過濾,很多服務的日誌都會自動匯入,包括 Compute Engine、負載平衡器、Cloud NAT、Cloud Armor、GKE 等。如果你的伺服器有把應用日誌寫到標準輸出,或者你有安裝 Ops Agent,也能進一步把主機與應用層日誌送進來。
要看即時流量,最直接的方法就是到 Cloud Logging 裡使用查詢語言過濾時間範圍與關鍵欄位。你可以把時間設成最近 5 分鐘、15 分鐘,甚至 1 分鐘,然後觀察日誌是否持續刷新。若你看到大量相同來源 IP 的連線紀錄,或某些路徑突然暴增,就能很快判斷是否有掃描、攻擊、爬蟲或異常程式在打流量。
實務上,很多人會先從這幾個方向查:
- 來源 IP 是否集中在少數幾個位址。
- 請求目標是否集中在某個埠或某個 URL。
- 是否出現大量 4xx、5xx。
- 流量是否在短時間內突然跳高。
- 是否只發生在某一台 VM、某個區域或某個服務。
如果你的伺服器前面有 Load Balancer,很多時候真正有用的不是 VM 本身的網路日誌,而是負載平衡器日誌。因為它能告訴你請求從哪裡進來、轉發到哪個後端、回應時間如何,這些資訊對排查最有幫助。
查看 VPC Flow Logs:觀察主機層流量最直接
如果你要看的是 GCP VM 的實際網路流量,VPC Flow Logs 是很值得先打開的功能。它會記錄 VPC 網路中傳遞的流量摘要,不是每個封包逐一記錄,而是將一段時間內的流量彙整成紀錄。這樣既能保留分析價值,又不至於讓日誌量暴增。
GCP帳號購買開通 Flow Logs 特別適合回答這些問題:
- 哪個外部 IP 正在連我的伺服器。
- 某個內部服務是否在和特定節點大量通訊。
- 某台 VM 的流量是否異常增加。
- 特定埠號是否被大量掃描。
- 某個時間點開始,流量是不是突然變大。
要使用它,通常需要先在對應的子網路上啟用 Flow Logs。啟用後,你就能在 Cloud Logging 中查到相關紀錄。若是剛剛開啟,資料不會馬上完整出現,因為 Flow Logs 本身是有彙整週期的,所以你看到的不是毫秒級的「逐筆實時」,而是接近實時的近端觀測。對大多數排查場景來說,這已經足夠。
查詢時可以從目標 VM 的內部 IP、外部 IP、連線埠與方向著手。若你知道異常發生在某個服務埠,例如 80、443、22 或資料庫埠,就可以直接針對那個埠查。若你不確定來源,先看整體流量趨勢,再細分來源與目的,是比較有效率的方式。
如果是網站或 API 流量,優先看負載平衡器日誌
很多 GCP 伺服器其實不是直接對外,而是掛在負載平衡器後面。這時候你如果只看 VM 的網路流量,看到的可能都是來自負載平衡器的內部轉發,外部真實訪客反而不容易辨識。這就是為什麼對網站、API、後端服務來說,負載平衡器日誌通常比單看主機更有價值。
負載平衡器日誌能提供的資訊通常包括:
- 用戶端 IP 與地區來源。
- 請求的 URL、方法、狀態碼。
- 回應延遲。
- 後端服務命中情況。
- 是否有 502、503、504 等錯誤。
對照這些資訊,你可以很快判斷異常是發生在外部請求變多,還是後端處理變慢。舉例來說,如果流量突然提高,但狀態碼大多正常,可能只是活動、爬蟲或正常尖峰;如果流量不算大,卻出現大量 503,那就更像是後端資源不足、健康檢查失敗或部署錯誤。
這類日誌在 Cloud Logging 裡也可以直接搜尋,並搭配時間範圍觀察變化。若你有自己的日誌格式,也應盡量統一欄位,例如把 request_id、client_ip、upstream_response_time、status 寫清楚,之後在排查時會省很多時間。
用 gcloud 指令快速拉近即時視角
GCP帳號購買開通 如果你不想一直點控制台,命令列會更直接。GCP 的 gcloud 工具可以讓你在終端機裡即時追蹤日誌,這對臨時排查尤其方便。當你正在處理流量異常,邊看日誌邊改設定,比來回切網頁介面高效率得多。
常見做法是用 gcloud logging read 搭配時間條件和過濾條件,直接撈最近幾分鐘的資料。你也可以配合 watch 類型的方式反覆刷新,觀察輸出是否持續出現相同來源、相同路徑或相同錯誤訊息。若日誌量大,建議先縮小範圍,例如限定專案、限定資源類型、限定區域或限定某台 VM 的名稱。
這裡最重要的不是記住某一條指令,而是掌握過濾邏輯:
- 先限定時間,避免撈太多資料。
- 再限定資源類型,例如 VM、負載平衡器或 VPC flow log。
- GCP帳號購買開通 最後再用關鍵欄位縮小到特定 IP、埠號或狀態碼。
GCP帳號購買開通 當你把過濾條件設得夠準,終端機輸出的訊息就會非常接近「即時告警板」。這種做法尤其適合值班、事故處理或流量突增時快速定位問題。
看懂日誌內容,比單純打開日誌更重要
很多人可以把日誌打開,卻看不出問題在哪裡。原因不是工具不好,而是沒有先想清楚要看什麼。實際上,流量日誌最有價值的地方,不是「有紀錄」,而是「能回答問題」。
你在看流量時,至少要先想清楚以下幾件事:
- 流量是進站還是出站。
- 來源是外網、內網還是特定服務。
- 流量大的是新訪客,還是同一批重複請求。
- 異常出現在所有路徑,還是特定 API。
- 有沒有伴隨錯誤碼、延遲上升或 CPU 飆高。
舉個例子,假設你發現某台 GCP VM 的入站流量在短時間內突然翻倍。這時如果只看總量,你只知道「變多了」。但如果你繼續看來源 IP,可能會發現都來自少數幾個國家;再看路徑,可能集中在某個登入接口;再看狀態碼,可能大量 401 或 403。這樣你就能判斷,這可能不是單純的正常訪問,而是探測、撞庫或惡意流量。
反過來,如果流量變大,但來源分散、路徑正常、延遲也沒有明顯異常,那就可能是業務自然成長。這種差異,只有把日誌和上下文一起看,才看得出來。
和 Cloud Monitoring 搭配,才能真的判斷「實時」
只看日誌,很容易卡在細節;只看指標,又容易看不到原因。最成熟的做法,是把 Cloud Logging 和 Cloud Monitoring 一起用。前者看事件,後者看趨勢。當你看到流量圖表往上衝,再去日誌裡找對應時間點的來源與錯誤,效率會高很多。
例如你在監控面板中看到某台 VM 的網路接收量從平常的 50 Mbps 跳到 300 Mbps,這時候就可以立刻回到日誌查詢同一時間區間,找出是哪個 IP 或哪個服務把流量打上去。若延遲也同步上升,就可以進一步判斷是不是資源瓶頸、後端卡住或攻擊流量。
這種搭配還有一個好處,就是能辨別「看起來很忙」和「真的有問題」之間的差異。很多系統在尖峰時段流量本來就高,真正值得警覺的不是絕對數字,而是變化速度、錯誤比例和資源使用率是否同步異常。
常見排查場景:你可以這樣下手
場景一:突然有人狂打 22 埠
如果你發現 SSH 連線異常,先看 VPC Flow Logs 是否有大量來自同一批 IP 的連線嘗試,再看主機上的登入日誌是否有失敗紀錄。若只是零星掃描,通常問題不大;若同時看到高頻率嘗試和異常登入成功,就要立刻檢查防火牆、金鑰與登入來源限制。
場景二:網站流量暴增但使用者說很慢
先看負載平衡器日誌的狀態碼與延遲,再看後端 VM 的 CPU、記憶體與磁碟 I/O。若大量請求集中在少數接口,可能是程式邏輯太重;若 5xx 增多,則要檢查後端服務是否健康、實例是否重啟、資源是否不足。
場景三:看起來沒人訪問,卻一直有流量
這種情況常見於背景同步、心跳封包、監控探針或第三方服務回呼。先別急著當成攻擊,先比對服務名單和排程任務。如果來源 IP 不在已知清單內,再往外部掃描或異常回連方向查。
想要更接近即時,就要注意日誌延遲與成本
很多人以為日誌一開就能即時,但實際上任何雲端日誌都有處理延遲。VPC Flow Logs 會有彙整時間,Cloud Logging 也會受到服務輸送與索引時間影響。大多數時候這些延遲不影響排查,但如果你要做秒級反應,就不能只靠日誌。
此外,日誌量越大,成本越高。尤其是高流量網站、API 網關、公開服務,若把所有流量都無腦開到最細,短期內雖然資訊很多,長期會帶來儲存與查詢成本。比較合理的做法是:
- 先針對關鍵子網或關鍵服務開啟流量日誌。
- 對高風險時段提高採樣或詳細程度。
- 平時保留足夠資訊,避免事故時抓不到證據。
- 把告警與儀表板先設好,縮短人工翻查時間。
真正成熟的流量觀測,不是把所有資料都堆上去,而是把你最需要的那部分放在最容易看見的位置。
結語:先會找,再會看,最後才談即時
在 GCP 上查看伺服器實時流量日誌,並不是學會某一個按鈕就結束了,而是要建立一套判斷方式。你要先知道自己看的到底是主機層、網路層,還是應用層;再決定用 VPC Flow Logs、Cloud Logging、負載平衡器日誌,還是命令列工具;最後把日誌和監控指標結合起來,才能真正抓到問題核心。
如果是平時維運,建議先把重點服務的 Flow Logs、負載平衡器日誌和應用日誌整理好;如果是事故排查,先縮時間、縮範圍,再逐層往下看;如果是長期觀測,則要把日誌成本、保留政策和告警規則一起規劃。這樣你下次再面對流量暴增、連線異常或網站變慢時,就不會只是盯著數字發呆,而是能迅速找到線索,做出判斷。

