如何對 CloudWatch Logs 無法匯出至 S3 儲存貯體的問題進行疑難排解?

2 分的閱讀內容
0

我想對 Amazon CloudWatch Logs 無法匯出至 Amazon Simple Storage Service (Amazon S3) 儲存貯體的問題進行疑難排解。

解決方法

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

根據 Logs 是在您建立匯出任務時或之後失敗,對 Logs 無法匯出至 S3 儲存貯體的問題進行疑難排解。

在匯出任務建立時

若要對在建立時失敗的任務進行疑難排解,請採取下列動作:

  • AWS 區域: 確認您的 CloudWatch 日誌串流和 S3 儲存貯體位於相同的區域中。
  • Amazon S3 儲存貯體政策: 預設情況下,Amazon S3 儲存貯體和物件均為私有狀態。資源擁有者僅可存取儲存貯體和儲存貯體中的物件。如需詳細資訊,請參閱《Amazon ECR 使用者指南》中的步驟 3: 設定 S3 儲存貯體的許可
  • Amazon S3 儲存貯體前綴: 當您設定 Amazon S3 儲存貯體政策時,最佳實務是包括隨機產生的字串以作為儲存貯體的前綴。如果使用前綴的話,建立匯出任務時,您必須在 Amazon S3 儲存貯體前綴設定中指定產生的字串。如果您未指定產生的字串,匯出任務建立則會失敗。
  • AWS Identity and Access Management (IAM) 政策: 確認建立匯出任務的 AWS Identity and Access Management (IAM) 擁有 Amazon S3 和 CloudWatch Logs 的存取權。如需詳細資訊,請參閱《Amazon ECR 使用者指南》中的步驟 2: 設定存取許可
  • 查看 CloudTrail Logs: 搜尋 AWS CloudTrail 中的 CreateExportTask 事件,以識別錯誤訊息。CreateExportTask 是非同步操作。如果您提供所有必要的資訊,則會啟動匯出任務並傳回任務的 ID。任務開始時,請使用 DescribeExportTasks 來檢查狀態。如需詳細資訊,請參閱錯誤
  • 資源配額: CloudWatch Logs 服務配額只允許每個區域每個 AWS 帳戶中有一項執行中或待處理的匯出任務。您無法變更此配額。請確訂您有允許的配額。
  • 伺服器端加密類型: 請確定您將支援的伺服器端加密用於 Amazon S3 儲存貯體。支援的加密包括 Advanced Encryption Standard (AES)-256 和使用 AWS Key Management Service (AWS KMS) 金鑰的伺服器端加密。這些支援加密稱為 SSE-KMS

匯出任務建立後

若要對建立後失敗的任務進行疑難排解,請檢查時間範圍設定。如果您匯出具有大量資料的日誌串流並指定長時間範圍,則匯出任務可能會失敗。若要解決此問題,請設定較短的時間範圍,以匯出具有較少資料量的日誌串流。

若要檢查時間範圍設定的狀態,請執行下列 AWS CLI describe-export-tasks 命令:

aws logs describe-export-tasks --task-id example-task-id

**注意:**輸入您的任務 ID,以取代 example-task-id

若要將資料匯出至 Amazon S3,請執行下列 AWS CLI create-export-task 命令:

aws logs create-export-task --task-name "example-task-name" --log-group-name "/aws/lambda/example-log-group-name" --destination "example-bucket-name --from 1710378735 --to 1710465135

**注意:**輸入您的任務名稱,以取代 **example-task-name。**輸入您的日誌群組名稱,以取代 example-log-group-name。輸入目的地儲存貯體,以取代 example-bucket-name

若要檢查匯出任務的狀態,請執行下列 AWS CLI describe-export-tasks 命令:

aws logs describe-export-tasks --task-id example-task-id

**注意:**輸入您的任務 ID,以取代 example-task-id

日誌最多可能需要 12 小時才能用於匯出。匯出任務也需要幾個小時才能處理。此程序取決於您匯出資料的大小。最佳實務是使用日誌群組層級訂閱篩選條件進行即時處理,或連續將新資料封存至 Amazon S3。如需詳細資訊,請參閱透過訂閱即時處理日誌資料

相關資訊

我將 Amazon CloudWatch 設定為將日誌資料匯出至 Amazon S3,但是日誌資料遺失或無效。如何解決此問題?

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

將日誌資料匯出至 Amazon S3

AWS 官方
AWS 官方已更新 6 個月前