Amazon CloudWatch Logs
用户指南
AWS 服务或AWS文档中描述的功能,可能因地区/位置而异。点 击 Getting Started with Amazon AWS to see specific differences applicable to the China (Beijing) Region.

验证日志事件的流动

在创建订阅筛选条件后,CloudWatch Logs 将与筛选条件模式匹配的所有传入日志事件转发至名为“RootAccess”的目标流中封装的 Kinesis 流。目标所有者可使用 aws kinesis get-shard-iterator 命令抓取 Kinesis 分片并使用 aws kinesis get-records 命令提取一些 Kinesis 记录,以验证此事件是否正在发生:

Copy
aws kinesis get-shard-iterator \ --stream-name RootAccess \ --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 开始返回数据前几分钟重新运行 get-records 命令。

您将看到包含一组 Kinesis 记录的响应。Kinesis 记录中的数据属性使用 gzip 格式进行 Base64 编码和压缩。您可以使用以下 Unix 命令检查命令行中的原始数据:

Copy
echo -n "<Content of Data>" | base64 -d | zcat

Base64 解码和解压缩数据被格式化为 JSON 并具有以下结构:

Copy
{ "owner": "123456789012", "logGroup": "CloudTrail", "logStream": "123456789012_CloudTrail_us-east-1", "subscriptionFilters": [ "RootAccess" ], "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\"}" } ] }

此数据结构中的键元素如下所示:

owner

原始日志数据的 AWS 账户 ID。

logGroup

原始日志数据的日志组名称。

logStream

原始日志数据的日志流名称。

subscriptionFilters

与原始日志数据匹配的订阅筛选器名称的列表。

messageType

数据消息将使用“DATA_MESSAGE”类型。有时候,CloudWatch Logs 可能发出类型为“CONTROL_MESSAGE”的 Kinesis 记录,这主要是为了检查目标是否可访问。

logEvents

表示为一组日志事件记录的实际日志数据。ID 属性是每个日志事件的唯一标识符。