全部產品
Search
文件中心

NAT Gateway:通過會話日誌進行流量溯源

更新時間:Apr 02, 2025

如需在業務故障發生後迅速定位故障原因並解決問題,建議您提前開啟會話日誌功能,以便隨時查看日誌內容,協助故障定位。

情境樣本

某企業通過公網NAT Gateway為其ECS執行個體提供統一的公網存取權限。為確保在業務故障發生後能夠迅速定位故障原因,該企業在部署初期啟用了會話日誌功能。

企業員工反饋無法正常訪問第三方服務網站(http://47.XX.XX.157),但通過新購的EIP訪問該網站則無異常。企業主動聯絡了服務提供者,探索服務供應商的安全部門在2025年2月5日15點左右監測到EIP(47.XX.XX.85)的訪問量異常激增,導致服務異常。為維護服務穩定性,服務提供者的安全部門已將該EIP列入黑名單。

為查清問題根源,企業的營運團隊通過分析會話日誌,成功找到了導致訪問量異常激增的ECS執行個體。

使用須知

費用說明

會話日誌不收取日誌產生費用,但會話日誌所捕獲的SNAT會話將儲存於阿里雲Log Service中,Log Service將收取相應的儲存和檢索等費用。更多資訊,請參見Log Service計費

使用限制

  • 按固定規格計費(停止新購)的NAT Gateway執行個體不支援開啟會話Log Service。

  • 會話日誌不支援捕獲DNAT會話。

操作步驟

步驟一:啟用會話日誌

重要

在啟用會話日誌後,請務必進行索引配置並設定日誌儲存時間,以確保資料的有效性與可查性。

  1. 登入NAT Gateway管理主控台,找到目標NAT Gateway執行個體,單擊NAT Gateway執行個體ID。

  2. 監控和日誌頁簽,單擊會話日誌 > 啟用會話日誌,選擇現有的或建立Log ServiceProject日誌庫Logstore

    image

  3. 監控和日誌頁簽,單擊目標資訊列的名稱,以查看日誌內容。

    image

步驟二:分析日誌內容

  1. 根據服務提供者提供的異常時間點,使用SQL語句查詢2025年2月5日15點前後5分鐘內ECS執行個體每分鐘訪問該服務的流量情況。

    select 
        sum(bytes_from_vpc) as total_bytes, /* 分析故障原因的核心欄位 */
        date_trunc('minute', __time__) as ts_min /* 按分鐘進行統計 */
    from 
        log 
    where 
        pub_ip = '47.XX.XX.157' /* 篩選指定目的IP */
    group by 
        ts_min 

    image

  2. 根據上述語句的分析,可以確認在14點57分時訪問該服務的流量達到了最高峰,此時可通過下述方式確認導致本次故障的ECS執行個體。

    select 
        pri_ip, 
        sum(bytes_from_vpc) as total_bytes, /* 分析故障原因的核心欄位 */
        date_trunc('minute', __time__) as ts_min /* 按分鐘進行統計 */
    from 
        log 
    where 
        pub_ip = '47.XX.XX.157' /* 篩選指定目的IP */
    group by 
        ts_min, pri_ip 
    說明

    當資料量較大時,可以將資料流量轉換為千MBtotal_GB進行展示

    sum(bytes_from_vpc) / 1024 / 1024 / 1024 as total_GB

    image

相關內容