Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.
Journaux pris en charge et champs découverts
CloudWatch Logs Insights prend en charge différents types de journaux. Pour chaque journal envoyé à un groupe de journaux de classe Standard dans Amazon CloudWatch Logs, CloudWatch Logs Insights génère automatiquement cinq champs système :
-
@message
contient l'événement de journal non analysé brut. C'est l'équivalent dumessage
champ dans InputLogevent. -
@timestamp
contient l'horodatage de l'événement dans le champtimestamp
de l'événement du journal. C'est l'équivalent dutimestamp
champ dans InputLogevent. -
@ingestionTime
contient l'heure à laquelle CloudWatch Logs a reçu l'événement du journal. -
@logStream
contient le nom du flux de journaux auquel l'événement de journal a été ajouté. Les flux de journaux regroupent les journaux à travers le même processus qui les a générés. -
@log
est un identificateur de groupe de journaux sous la forme de
. Lors de la requête de plusieurs groupes de journaux, cela peut être utile d'identifier le groupe de journaux auquel appartient un événement particulier.account-id
:log-group-name
-
@entity
contient du JSON aplati lié aux entités pour la fonctionnalité de télémétrie associée à Explore.Par exemple, ce JSON peut représenter une entité.
{ "Entity": { "KeyAttributes": { "Type": "Service", "Name": "PetClinic" }, "Attributes": { "PlatformType": "AWS::EC2", "EC2.InstanceId": "i-1234567890123" } } }
Pour cette entité, les champs système extraits seraient les suivants :
@entity.KeyAttributes.Type = Service @entity.KeyAttributes.Name = PetClinic @entity.Attributes.PlatformType = AWS::EC2 @entity.Attributes.EC2.InstanceId = i-1234567890123
Note
La découverte de champs n'est prise en charge que pour les groupes de journaux de la classe de journaux standard. Pour plus d'informations sur les classes de log, consultezClasses de log.
CloudWatch Logs Insights insère le symbole @ au début des champs qu'il génère.
Pour de nombreux types de CloudWatch journaux, Logs découvre également automatiquement les champs de journal contenus dans les journaux. Ces champs de détection automatique figurent dans le tableau suivant.
Pour les autres types de journaux contenant des champs que CloudWatch Logs Insights ne découvre pas automatiquement, vous pouvez utiliser la parse
commande pour extraire et créer des champs extraits à utiliser dans cette requête. Pour de plus amples informations, veuillez consulter CloudWatch Syntaxe des requêtes en langage Logs Insights.
Si le nom d'un champ de journal découvert commence par le @
caractère, CloudWatch Logs Insights l'affiche avec un ajout @
ajouté au début. Par exemple, si un nom de champ de journal est @example.com
, ce nom de champ s'affiche sous la forme de @@example.com
.
Note
À l'exception de @message
@timestamp
, ou@log
, vous pouvez créer des index de champs pour les champs découverts. Pour plus d'informations sur les index de champs, consultezCréez des index de champs pour améliorer les performances des requêtes et réduire le volume de numérisation.
Type de journal | Champs de journal détectés |
---|---|
Journaux de flux Amazon VPC |
|
Journaux Route 53 |
|
Journaux Lambda |
Si une ligne de journal Lambda contient un ID de suivi X-Ray, elle inclut également les champs suivants : CloudWatch Logs Insights découvre automatiquement les champs de journal dans les journaux Lambda, mais uniquement pour le premier fragment JSON intégré à chaque événement de journal. Si un événement de journal Lambda contient plusieurs fragments JSON, vous pouvez analyser et extraire les champs de journal à l'aide de la commande |
CloudTrail journaux Journaux au format JSON |
Pour plus d'informations, consultez Champs des journaux JSON. |
Autres types de journaux |
|
Champs des journaux JSON
Avec CloudWatch Logs Insights, vous utilisez la notation par points pour représenter les champs JSON. Cette section contient un exemple d'événement JSON et un extrait de code qui montre comment vous pouvez accéder aux champs JSON à l'aide de la notation par points.
Exemple : événement JSON
{ "eventVersion": "1.0", "userIdentity": { "type": "IAMUser", "principalId": "EX_PRINCIPAL_ID", "arn": "arn: aws: iam: : 123456789012: user/Alice", "accessKeyId": "EXAMPLE_KEY_ID", "accountId": "123456789012", "userName": "Alice" }, "eventTime": "2014-03-06T21: 22: 54Z", "eventSource": "ec2.amazonaws.com", "eventName": "StartInstances", "awsRegion": "us-east-2", "sourceIPAddress": "192.0.2.255", "userAgent": "ec2-api-tools1.6.12.2", "requestParameters": { "instancesSet": { "items": [ { "instanceId": "i-abcde123" } ] } }, "responseElements": { "instancesSet": { "items": [ { "instanceId": "i-abcde123", "currentState": { "code": 0, "name": "pending" }, "previousState": { "code": 80, "name": "stopped" } } ] } } }
L'exemple d'événement JSON contient un objet nommé userIdentity
. userIdentity
contient un champ nommé type
. Pour représenter la valeur de type
à l'aide de la notation par points, vous utilisez userIdentity.type
.
L'exemple d'événement JSON contient des matrices qui s'aplatissent en listes de noms et de valeurs de champs imbriqués. Pour représenter la valeur de instanceId
pour le premier élément de requestParameters.instancesSet
, vous utilisez requestParameters.instancesSet.items.0.instanceId
. Le numéro 0
placé avant le champ instanceID
fait référence à la position des valeurs pour le champ items
. L'exemple suivant contient un extrait de code qui montre comment vous pouvez accéder aux champs JSON imbriqués dans un événement du journal JSON.
Exemple : requête
fields @timestamp, @message | filter requestParameters.instancesSet.items.0.instanceId="i-abcde123" | sort @timestamp desc
L'extrait de code affiche une requête qui utilise la notation par points avec la commande filter
pour accéder à la valeur du champ JSON imbriqué instanceId
. La requête filtre les messages dont la valeur de instanceId
équivaut à "i-abcde123"
et renvoie tous les événements du journal contenant la valeur spécifiée.
Note
CloudWatch Logs Insights peut extraire un maximum de 200 champs d'événements de journal à partir d'un journal JSON. Pour les champs supplémentaires non extraits, vous pouvez utiliser la commande parse
pour extraire ces champs à partir de l'événement du journal non analysé brut dans le champ de message. Pour plus d'informations sur la parse
commande, consultez la section Syntaxe des requêtes dans le guide de CloudWatch l'utilisateur Amazon.