本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
驗證日誌事件的流動
建立帳戶層級訂閱篩選條件政策後,CloudWatch Logs 會將符合篩選條件模式和選取條件的所有傳入日誌事件轉送至名為 "RecipientStream" 的目的地串流中封裝的串流。目的地擁有者可以使用 aws kinesis get-shard-iterator 命令來抓取 Kinesis Data Streams 碎片,並使用 aws kinesis get-records 命令來擷取一些 Kinesis Data Streams 記錄,以確認確有其事:
aws kinesis get-shard-iterator \ --stream-name RecipientStream \ --shard-id shardId-000000000000 \ --shard-iterator-type TRIM_HORIZON
{ "ShardIterator": "AAAAAAAAAAFGU/kLvNggvndHq2UIFOw5PZc6F01s3e3afsSscRM70JSbjIefg2ub07nk1y6CDxYR1UoGHJNP4m4NFUetzfL+wev+e2P4djJg4L9wmXKvQYoE+rMUiFq+p4Cn3IgvqOb5dRA0yybNdRcdzvnC35KQANoHzzahKdRGb9v4scv+3vaq+f+OIK8zM5My8ID+g6rMo7UKWeI4+IWiKEXAMPLE" }aws kinesis get-records \ --limit 10 \ --shard-iterator "AAAAAAAAAAFGU/kLvNggvndHq2UIFOw5PZc6F01s3e3afsSscRM70JSbjIefg2ub07nk1y6CDxYR1UoGHJNP4m4NFUetzfL+wev+e2P4djJg4L9wmXKvQYoE+rMUiFq+p4Cn3IgvqOb5dRA0yybNdRcdzvnC35KQANoHzzahKdRGb9v4scv+3vaq+f+OIK8zM5My8ID+g6rMo7UKWeI4+IWiKEXAMPLE"
注意
在 Kinesis Data Streams 開始傳回資料之前,您可能需要重新執行get-records
命令數次。
您應該會看到一系列 Kinesis Data Streams 記錄的回應。Kinesis Data Streams 記錄中的資料屬性,是以 gzip 格式壓縮並採用 Base64 編碼。您可以使用以下 Unix 命令來透過命令列檢查原始資料:
echo -n "<
Content of Data
>" | base64 -d | zcat
Base64 解碼和解壓縮資料是以 JSON 形式並以下列結構進行格式化:
{ "owner": "111111111111", "logGroup": "CloudTrail/logs", "logStream": "111111111111_CloudTrail/logs_us-east-1", "subscriptionFilters": [ "RecipientStream" ], "messageType": "DATA_MESSAGE", "logEvents": [ { "id": "3195310660696698337880902507980421114328961542429EXAMPLE", "timestamp": 1432826855000, "message": "{\"eventVersion\":\"1.03\",\"userIdentity\":{\"type\":\"Root\"}" }, { "id": "3195310660696698337880902507980421114328961542429EXAMPLE", "timestamp": 1432826855000, "message": "{\"eventVersion\":\"1.03\",\"userIdentity\":{\"type\":\"Root\"}" }, { "id": "3195310660696698337880902507980421114328961542429EXAMPLE", "timestamp": 1432826855000, "message": "{\"eventVersion\":\"1.03\",\"userIdentity\":{\"type\":\"Root\"}" } ] }
資料結構中的關鍵元素如下:
- messageType
-
資料訊息將使用「DATA_MESSAGE」類型。有時 CloudWatch Logs 可能會發出 "CONTROL_MESSAGE" 類型的 Kinesis Data Streams 記錄,主要用於檢查目的地是否可連線。
- owner
-
原始日誌資料 AWS 的帳戶 ID。
- logGroup
-
原始日誌資料的日誌群組名稱。
- logStream
-
原始日誌資料的日誌串流名稱。
- subscriptionFilters
-
與原始日誌資料相符的訂閱篩選條件名稱清單。
- logEvents
-
實際的日誌資料,以一系列的日誌事件記錄呈現。「id」屬性是每個記錄事件的唯一識別符。
- policyLevel
-
強制執行政策的層級。"ACCOUNT_LEVEL_POLICY" 是帳戶層級訂閱篩選條件政策
policyLevel
的 。