Validation du flux des événements de journaux - Amazon CloudWatch Logs

Validation du flux des événements de journaux

Une fois que vous créez le filtre d'abonnement, CloudWatch Logs transmet tous les événements du journal entrants qui correspondent au modèle de filtre vers le flux Kinesis qui est encapsulé dans le flux de destination appelé « RecipientStream ». Le propriétaire de la destination peut vérifier le déroulement des opérations au moyen de la commande aws kinesis get-shard-iterator pour saisir une partition Kinesis, et au moyen de la commande aws kinesis get-records pour extraire certains enregistrements Kinesis :

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"
Note

Vous devrez peut-être réexécuter plusieurs fois la commande get-records avant que Kinesis ne renvoie des données.

Vous devriez voir une réponse comportant un tableau d'enregistrements Kinesis. L'attribut de données dans le registre Kinesis est compressé au format gzip, puis codé en base64. Vous pouvez examiner les données brutes à partir de la ligne de commande au moyen de la commande Unix suivante :

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

Les données codées et décompressées en base64 sont formatées au format JSON avec la structure suivante :

{ "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\"}" } ] }

Les éléments clés de cette structure de données sont les suivants :

owner

L'ID de compte AWS des données du journal source.

logGroup

Le nom du groupe de journaux des données du journal source.

logStream

Le nom du flux de journaux des données du journal source.

subscriptionFilters

La liste des noms de filtres d'abonnements qui correspondaient aux données du journal source.

messageType

Les données de messages utilisent le type « DATA_MESSAGE ». CloudWatch Logs peut parfois émettre des enregistrements Kinesis de type « CONTROL_MESSAGE », principalement pour vérifier si la destination est accessible.

logEvents

Les données du journal réelles, représentées sous la forme d'un tableau d'enregistrements d'événements du journal. La propriété ID est un identifiant unique pour chaque événement de journal.