

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
<a name="CWL_AnalyzeLogData-discoverable-fields"></a>

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 du `message` champ dans [InputLogevent](https://docs.aws.amazon.com/AmazonCloudWatchLogs/latest/APIReference/API_InputLogEvent.html).
+ `@timestamp` contient l'horodatage de l'événement dans le champ `timestamp` de l'événement du journal. C'est l'équivalent du `timestamp` champ dans [InputLogevent](https://docs.aws.amazon.com/AmazonCloudWatchLogs/latest/APIReference/API_InputLogEvent.html).
+ `@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 `{{account-id}}:{{log-group-name}}`. 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.
+ `@entity`contient du JSON aplati lié aux entités pour la fonctionnalité de [télémétrie associée à Explore](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/ExploreRelated.html).

  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, consultez[Classes de log](CloudWatch_Logs_Log_Classes.md).

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](CWL_QuerySyntax.md).

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, consultez[Créez des index de champs pour améliorer les performances des requêtes et réduire le volume de numérisation](CloudWatchLogs-Field-Indexing.md). 


| Type de journal | Champs de journal détectés | 
| --- | --- | 
| Journaux de flux Amazon VPC | `@timestamp`, `@logStream`, `@message`, `accountId`, `endTime`, `interfaceId`, `logStatus`, `startTime`, `version`, `action`, `bytes`, `dstAddr`, `dstPort`, `packets`, `protocol`, `srcAddr`, `srcPort`<br />  | 
| Journaux Route 53 | `@timestamp`, `@logStream`, `@message`, `edgeLocation`, `ednsClientSubnet`, `hostZoneId`, `protocol`, `queryName`, `queryTimestamp`, `queryType`, `resolverIp`, `responseCode`, `version` | 
| Journaux Lambda | `@timestamp`, `@logStream`, `@message`, `@requestId`, `@duration, ``@billedDuration`, `@type`, `@maxMemoryUsed`, `@memorySize`<br />Si une ligne de journal Lambda contient un ID de suivi X-Ray, elle inclut également les champs suivants : `@xrayTraceId` et `@xraySegmentId`.<br />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 `parse`. Pour de plus amples informations, veuillez consulter [Champs des journaux JSON](#CWL_AnalyzeLogData-discoverable-JSON-logs). | 
| CloudTrail journaux<br />Journaux au format JSON | Pour plus d'informations, consultez [Champs des journaux JSON](#CWL_AnalyzeLogData-discoverable-JSON-logs). | 
| Autres types de journaux | `@timestamp`, `@ingestionTime`, `@logStream`, `@message`, `@log`. | 

## Champs des journaux JSON
<a name="CWL_AnalyzeLogData-discoverable-JSON-logs"></a>

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](https://docs.aws.amazon.com/AmazonCloudWatch/latest/logs/CWL_QuerySyntax.html) dans le guide de CloudWatch l'utilisateur Amazon.