本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。
验证日志事件流
创建账户级订阅筛选策略后,Lo CloudWatch gs 会将所有符合过滤模式和选择标准的传入日志事件转发到封装在名为 “” 的目标流中的流。RecipientStream目标所有者可以通过使用 aws kinesis get-shard-iterator 命令获取 Kinesis Data Streams 分片,然后使用 aw s 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 日志可能会发出 “CONTROL_MESSAGE” 类型的 Kinesis Data Streams 记录,主要用于检查目标是否可达。
- owner
-
原始日志数据的 Amazon 账户 ID。
- logGroup
-
原始日志数据的日志组名称。
- logStream
-
原始日志数据的日志流名称。
- subscriptionFilters
-
与原始日志数据匹配的订阅筛选条件名称的列表。
- logEvents
-
表示为一组日志事件记录的实际日志数据。“id”属性是每个日志事件的唯一标识符。
- 策略级别
-
政策的执行级别。“账户级别_POLICY” 是
policyLevel
针对账户级别的订阅筛选器策略。