Validation du flux des événements du journal - Amazon CloudWatch Logs

Validation du flux des événements du journal

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 à l’aide de la commande aws kinesis get-shard-iterator pour saisir une partition Kinesis, et à l’aide de la commande aws kinesis get-records pour extraire certains registres 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 de registres Kinesis. L'attribut de données du registre Kinesis est compressé au format gzip, puis codé en base64. Vous pouvez examiner les données brutes à partir de la ligne de commande à l’aide de la commande Unix suivante :

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

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

{ "owner": "111111111111", "logGroup": "CloudTrail", "logStream": "111111111111_CloudTrail_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 :

propriétaire

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.