我想要使用 Amazon CloudWatch Logs Insights 查詢來處理日誌群組中的 Amazon Virtual Private Cloud (Amazon VPC) 流程日誌。該如何進行?
簡短描述
開啟針對 CloudWatch Logs 的 VPC 流程日誌後,您會看到每個彈性網路介面的一個日誌串流。CloudWatch Logs Insights 是一個查詢工具,可以對存放在日誌群組中的日誌事件執行複雜查詢。如果出現問題,您可以使用 CloudWatch Logs Insights 來識別潛在原因,並對已部署的修補程式進行驗證。
如需受支援日誌類型的相關資訊,請參閲受支援日誌和探索欄位。
解決方案
執行查詢
若要執行查詢,請執行以下操作:
1. 開啟 Cloudwatch 主控台。
2. 選取 Logs (日誌),Logs Insights (日誌洞察)。
3. 在 Logs Insights (日誌洞察) 儀表板上,選取要分析和顯示其資料的日誌群組。
4. 您可以建立查詢,或者針對 VPC 流程日誌執行其中一個提供的範例查詢。如果您正在建立自訂查詢,請先檢閱 Amazon CloudWatch 文件中提供的教學。如需查詢語法的相關資訊,請參閲 CloudWatch Logs Insights 查詢語法。
5. 選取 History (歷史記錄) 以檢視之前執行的查詢。您可以從 History (歷史記錄) 再次執行查詢。
6. 若要匯出結果,請選取 Export results (匯出結果),然後選擇格式。
範例查詢
案例 1
您有一個 Web 伺服器、應用程式伺服器和資料庫伺服器。應用程式無法按預期運作。例如,您收到逾時或 HTTP 503 錯誤,並且嘗試確定錯誤的原因。
範例變數:
- Action (動作) 設定為 "REJECT" (拒絕),以便僅傳回拒絕的連線。
- 查詢僅包含內部網路。
- 伺服器 IP 清單顯示入站和出站連線 (srcAddr 和 dstAddr)。
- Limit (限制) 設定為 5,以便僅顯示前五個項目。
- Web 伺服器 IP︰10.0.0.4
- 應用程式伺服器 IP︰10.0.0.5
- 資料庫伺服器 IP︰10.0.0.6
filter(
action="REJECT" and
dstAddr like /^(10\.|192\.168\.)/and
srcAddrlike /^(10\.|192\.168\.)/ and
(
srcAddr = "10.0.0.4" or
dstAddr = "10.0.0.4" or
srcAddr = "10.0.0.5" or
dstAddr = "10.0.0.5" or
srcAddr = "10.0.0.6" or
dstAddr = "10.0.0.6" or
)
)|
stats count(*) as records by srcAddr,dstAddr,dstPort,protocol |
sort records desc |
limit 5
案例 2
您在指定彈性網路介面上遇到間斷性逾時問題。以下查詢檢查彈性網路介面在一段時間內是否有任何拒絕。
fields @timestamp, interfaceId, srcAddr, dstAddr, action
| filter (interfaceId = 'eni-05012345abcd' and action = 'REJECT')
| sort @timestamp desc
| limit 5
案例 3
以下查詢範例分析 VPC 流程日誌,以產生特定彈性網路介面相關報告。該查詢檢查傳送至不同連接埠的流量。
fields @timestamp, @message
| stats count(*) as records by dstPort, srcAddr, dstAddr as Destination
| filter interfaceId="eni-05012345abcd"
| filter dstPort="80" or dstPort="443" or dstPort="22" or dstPort="25"
| sort HitCount desc
| limit 10
案例 4
以下查詢篩選 VPC 流程日誌,以列出嘗試與 VPC 中特定 IP 或 CIDR 連線的 IP 地址。
對於特定 IP:
fields @timestamp, srcAddr, dstAddr
| sort @timestamp desc
| limit 5
| filter srcAddr like "172.31."
對於特定 CIDR:
fields @timestamp, srcAddr, dstAddr
| sort @timestamp desc
| limit 5
| filter isIpv4InSubnet(srcAddr,"172.31.0.0/16)
**注:**如需其他範例查詢,請參閲範例查詢。
相關資訊
使用 CloudWatch Logs Insights 分析日誌資料