跳至內容

如何使用 CloudWatch Logs 建立 Kinesis Data Streams 的訂閱篩選條件?

2 分的閱讀內容
0

我想使用 Amazon CloudWatch Logs 建立訂閱篩選條件,以將日誌串流至 Amazon Kinesis Data Streams。

解決方法

在同一個帳戶中為 Kinesis 資料串流設定訂閱篩選條件

如果您尚未擁有資料串流,請建立 Kinesis 資料串流

**注意:**CloudWatch 日誌群組與 Kinesis 資料串流目的地的 AWS 區域必須相同。

建立具有自訂信任政策的 IAM 政策與角色

AWS Identity and Access Management (IAM) 角色必須具備 logs.yourregion.amazonaws.com 的信任權限,並允許 kinesis:PutRecord 權限。

使用自訂信任政策建立 IAM 角色。在 Custom trust policy (自訂信任政策) 區段中,輸入以下信任政策:

{  "Statement": {
    "Effect": "Allow",
    "Principal": {
      "Service": "logs.region.amazonaws.com"
    },
    "Action": "sts:AssumeRole",
    "Condition": {
      "StringLike": {
        "aws:SourceArn": "arn:aws:logs:REGION:ACCOUNT_ID:*"
      }
    }
  }
}

**注意:**將 REGION 替換為您的區域,並將 ACCOUNT_ID 替換為您的 AWS 帳戶 ID。

Step 2: Add permissions (步驟 2:新增權限) 區段中,選擇 Edit (編輯),然後將以下政策陳述式新增至自訂政策:

{  "Statement": {    "Effect": "Allow",
    "Action": "kinesis:PutRecord",
    "Resource": "arn:aws:kinesis:REGION:ACCOUNT_ID:stream/STREAM_NAME"
  }
}

**注意:**將 REGION 替換為您的區域,ACCOUNT_ID 替換為您的 AWS 帳戶 ID,並將 STREAM_NAME 替換為您的串流名稱。

前述政策專用於 Kinesis Data Streams。如需更多 Amazon Data Firehose 權限的資訊,請參閱授予對您 Firehose 資源的存取權

建立訂閱篩選條件

請完成以下步驟:

  1. 開啟 CloudWatch console (CloudWatch 主控台)。
  2. 在導覽窗格中,選擇 Log Management (日誌管理)。
  3. 選取您的 Log group (日誌群組)。
  4. 選擇 Actions (動作),然後選擇 Subscription Filters (訂閱篩選條件)。
  5. 若要設定目的地,請選擇 Create Kinesis subscription filter (建立 Kinesis 訂閱篩選條件)。
  6. 選擇 Current account (目前帳戶)。
  7. 從下拉式清單中選取您的 Kinesis 資料串流。
  8. 選取您建立的 IAM 角色。
  9. 選擇一種發佈方法。如需更多發佈項目的資訊,請參閱概念
  10. Subscription filter pattern (訂閱篩選條件模式) 區段中,定義 filter pattern (篩選條件模式)。
  11. 為您的訂閱篩選條件輸入名稱。
  12. 使用現有的日誌事件資料驗證您的模式
  13. 選擇 Start Streaming (開始串流)。

若要驗證您的資料串流是否正常運作,請檢閱以下訂閱篩選條件指標

  • ForwardedBytes: 轉發至訂閱目的地的壓縮位元組格式日誌事件磁碟區。
  • ForwardedLogEvents: 轉發至訂閱目的地的日誌事件數量。

若要檢查將日誌事件串流至目的地時是否沒有錯誤,請檢閱以下指標:

  • DeliveryErrors: 顯示 CloudWatch Logs 在轉發資料至訂閱目的地時,收到錯誤的日誌事件數量。
  • DeliveryThrottling: 顯示 CloudWatch Logs 在轉發資料至訂閱目的地時,遭到限流的日誌事件數量。

在另一個帳戶中為 Kinesis 資料串流設定訂閱篩選條件

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

建立目的地

在資料接收者的帳戶中,建立目的地

建立訂閱篩選條件

在來源帳戶中,完成以下步驟:

  1. 如果您在 AWS Organizations 中使用組織,請建立 IAM 角色。否則,請繼續執行步驟 2。
  2. 新增或驗證跨帳戶目的地的 IAM 權限
  3. 建立日誌群組,以將事件傳送至 CloudWatch Logs
  4. 建立訂閱篩選條件

若要驗證您的資料串流是否正常運作,請檢閱以下訂閱篩選條件指標

  • ForwardedBytes: 轉發至訂閱目的地的壓縮位元組格式日誌事件磁碟區。
  • ForwardedLogEvents: 轉發至訂閱目的地的日誌事件數量。

若要檢查將日誌事件串流至目的地時是否沒有錯誤,請檢閱以下指標:

  • DeliveryErrors: 顯示 CloudWatch Logs 在轉發資料至訂閱目的地時,收到錯誤的日誌事件數量。
  • DeliveryThrottling: 顯示 CloudWatch Logs 在轉發資料至訂閱目的地時,遭到限流的日誌事件數量。

如果您有專用的 Kinesis 資料串流,請檢查資料串流的指標,以確認功能。

對於跨帳戶記錄問題,請參閱對 CloudWatch 跨帳戶設定進行疑難排解

相關資訊

建立 IAM 政策與使用者

使用 Amazon Kinesis Data Streams 進行跨帳戶跨 AWS 區域的日誌資料共用

AWS 官方已更新 4 個月前