跳至內容

如何從 CloudWatch Logs 中擷取日誌資料?

2 分的閱讀內容
0

我想要使用訂閱篩選條件、Logs Insights 查詢、Amazon Simple Storage Service (Amazon S3) 匯出、CloudWatch API,以及將日誌下載為 CSV 檔案,從 Amazon CloudWatch Logs 擷取日誌資料。

解決方法

**注意:**如果您在執行 AWS Command Line Interface (AWS CLI) 命令時收到錯誤訊息,請參閱對 AWS CLI 錯誤進行疑難排解。此外,請確定您使用的是最新的 AWS CLI 版本

若要從 CloudWatch Logs 擷取日誌資料,請使用以下最佳實務。

使用訂閱篩選條件串流日誌資料

若要即時從 CloudWatch Logs 擷取日誌資料,請使用訂閱篩選條件。日誌資料訂閱篩選條件可防止 CloudWatch API 限流。如需更多資訊,請參閱使用訂閱即時處理日誌資料日誌群組層級訂閱篩選條件

**注意:**Amazon Kinesis Data Streams 會自動重試遭限流的服務 API。

使用 CloudWatch API

若要手動尋找日誌資料,請使用 GetLogEventsFilterLogEvents CloudWatch API 操作。由於每秒交易次數 (TPS) 配額限制,您無法擴展這些 API 操作。當仍可透過權杖取得更多日誌事件時,GetLogEvents API 操作可能會傳回空結果。如需目前配額,請參閱 CloudWatch Logs 配額。如果您遇到 API 限流,請使用訂閱篩選條件。

執行 CloudWatch Logs Insights 查詢

若要搜尋並分析日誌資料,請在 CloudWatch Logs Insights 中執行查詢。查詢可協助您回應問題並識別原因,以便進一步疑難排解。如需更多資訊,請參閱使用 CloudWatch Logs Insights 分析日誌資料

將日誌資料匯出至 Amazon S3

在批次使用案例中,您可以將 CloudWatch Logs 資料匯出至 Amazon S3。日誌資料匯出後,最多可能需要 12 小時才能在 CloudWatch Logs 中提供使用。若要進行即時分析與處理,請使用訂閱篩選條件。

**注意:**AWS 帳戶在 PENDINGPENDING_CANCELRUNNING 狀態下,僅能有一個日誌資料匯出任務。

將日誌下載至 .csv 檔案

您可以使用 CloudWatch 主控台、AWS CLI 或 CloudWatch Logs Insights 擷取日誌資料。使用 CloudWatch 主控台

完成以下步驟:

  1. 開啟 CloudWatch console (CloudWatch 主控台)
  2. 選取您的日誌群組。
  3. 選取包含您要下載之日誌事件的日誌串流。
  4. 選擇 Actions (動作),然後選擇 Download Search Results (下載搜尋結果)

使用 AWS CLI

若要以 .csv 檔案格式擷取日誌事件,請執行以下 get-log-events AWS CLI 命令:

aws logs get-log-events --log-group-name example-loggroup-name  --log-stream-name example-logstream-name  --start-time 1705147529 --end-time 1705233929 log_events.csv

**注意:**將 example-loggroup-name 替換為您的日誌群組名稱,將 example-logstream-name 替換為您的日誌串流名稱,將 1705147529 替換為您的開始時間,並將 1705233929 替換為您的結束時間。

.csv 檔案會儲存在您啟動命令的相同目錄中。此外,AWS CLI 會使用為工作站設定的預設 AWS 區域與設定檔。請在前述 AWS CLI 命令中指定您工作站的區域。

使用 CloudWatch Logs Insights 擷取日誌資料

執行查詢以擷取日誌資料。若要匯出少於 10,000 筆日誌的資料,請選擇 Export results (匯出結果)。或者,若要匯出超過 10,000 筆日誌的資料,請將日誌匯出至 S3 儲存貯體,然後將資料下載為 .csv 檔案。

AWS 官方已更新 3 個月前