如何將 CloudWatch Logs Insights 查詢與 VPC 流程日誌配合使用?

2 分的閱讀內容
0

我想要使用 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 清單顯示入站和出站連線 (srcAddrdstAddr)。
  • 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 分析日誌資料

AWS 官方
AWS 官方已更新 2 年前