跳至內容

如何使用 CloudWatch 日誌洞察查詢我的 VPC 流程記錄?

2 分的閱讀內容
0

我想使用 Amazon CloudWatch Logs Insights 查詢來處理位於日誌群組中的 Amazon Virtual Private Cloud (Amazon VPC) 流程日誌。

解決方法

如需您使用的語法概觀,請參閱 CloudWatch 記錄洞察語言查詢語法。

使用查詢範例

使用 CloudWatch 主控台執行 CloudWatch 記錄洞察範例查詢。若要執行之前執行的查詢,請選擇 History (歷史紀錄)。若要匯出結果,請選擇 Export results (匯出結果),然後選擇格式。

情境 1

您有網頁伺服器、應用程式伺服器和資料庫伺服器。您收到逾時或 HTTP 503 錯誤,並且要確定錯誤的原因。

使用下列範例變數執行查詢:

  • 將「動作」設定為拒絕,以便查詢僅返回拒絕的連線。
  • 僅在查詢中包括內部網路。
  • 伺服器 IP 位址清單會同時顯示傳入和傳出連線 (srcAddrdstAddr)。
  • 將「限制」設定****為 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 日誌洞察分析記錄資料

支援的日誌和發現的欄位