如需在業務故障發生後迅速定位故障原因並解決問題,建議您提前開啟會話日誌功能,以便隨時查看日誌內容,協助故障定位。
情境樣本
某企業通過公網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會話。
操作步驟
步驟一:啟用會話日誌
登入NAT Gateway管理主控台,找到目標NAT Gateway執行個體,單擊NAT Gateway執行個體ID。
在監控和日誌頁簽,單擊,選擇現有的或建立Log ServiceProject和日誌庫Logstore。

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

步驟二:分析日誌內容
根據服務提供者提供的異常時間點,使用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
根據上述語句的分析,可以確認在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說明當資料量較大時,可以將資料流量轉換為千MB
total_GB進行展示。sum(bytes_from_vpc) / 1024 / 1024 / 1024 as total_GB
相關內容
如果您希望瞭解會話日誌捕獲的具體欄位資訊,請參見會話日誌。
如果您希望瞭解SQL分析語句的基礎文法,請參見SQL分析文法與功能。