我想使用 Amazon CloudWatch Logs Insights 查詢來處理位於日誌群組中的 Amazon Virtual Private Cloud (Amazon VPC) 流程日誌。
解決方法
如需您使用的語法概觀,請參閱 CloudWatch 記錄洞察語言查詢語法。
使用查詢範例
使用 CloudWatch 主控台執行 CloudWatch 記錄洞察範例查詢。若要執行之前執行的查詢,請選擇 History (歷史紀錄)。若要匯出結果,請選擇 Export results (匯出結果),然後選擇格式。
情境 1
您有網頁伺服器、應用程式伺服器和資料庫伺服器。您收到逾時或 HTTP 503 錯誤,並且要確定錯誤的原因。
使用下列範例變數執行查詢:
- 將「動作」設定為拒絕,以便查詢僅返回拒絕的連線。
- 僅在查詢中包括內部網路。
- 伺服器 IP 位址清單會同時顯示傳入和傳出連線 (srcAddr 和 dstAddr)。
- 將「限制」設定****為 5,以便查詢僅顯示前五個項目。
- 網站伺服器 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
srcAddr like /^(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")
)
| 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
若要在特定網路介面上產生報告,請執行下列查詢:
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
若要列出嘗試連線至特定 IP 位址的 IP 位址,請執行下列查詢:
fields @timestamp, srcAddr, dstAddr | sort @timestamp desc
| limit 5
| filter srcAddr like "172.31."
若要列出嘗試連線至特定 CIDR 的 IP 位址,請執行下列查詢:
fields @timestamp, srcAddr, dstAddr | sort @timestamp desc
| limit 5
| filter isIpv4InSubnet(srcAddr,"172.31.0.0/16")
如需更多查詢範例,請參閱 Amazon VPC 流程記錄的查詢。
相關資訊
使用 CloudWatch 日誌洞察分析記錄資料
支援的日誌和發現的欄位