

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.

# Journalisation du mappage des sources d'événements Kafka
<a name="esm-logging"></a>

Vous pouvez configurer la journalisation au niveau du système pour vos mappages de sources d'événements Kafka afin d'activer et de filtrer les journaux système auxquels les sondeurs d'événements Lambda envoient des informations. CloudWatch 

Cette fonctionnalité n'est disponible que pour les mappages de sources d'événements Kafka et en mode [provisionné](https://docs.aws.amazon.com/lambda/latest/dg/kafka-scaling-modes.html#kafka-provisioned-mode).

Pour le mappage des sources d'événements avec la configuration de journalisation, vous pouvez également consulter les journaux du système à partir de requêtes de journal prédéfinies dans l'onglet **Monitor** de la page Console **Lambda** **> Ressources supplémentaires >** mappages de **sources d'événements actuels**.

## Comment fonctionne la journalisation
<a name="esm-logging-overview"></a>

Lorsque vous définissez la configuration de journalisation avec le niveau de journalisation dans le mappage de votre source d'événements, le sondeur d'événements Lambda envoie les journaux correspondants (journaux du système de mappage des sources d'événements).

Le mappage de la source d'événements réutilise la même [destination de journal](https://docs.aws.amazon.com/lambda/latest/dg/monitoring-logs.html#configuring-log-destinations) avec votre fonction Lambda. Assurez-vous que le rôle d'exécution de votre fonction Lambda dispose des autorisations de journalisation nécessaires.

Le mappage de la source d'événements aura son propre flux de journal, avec l'UUID du mappage de la date et de la source de l'événement comme nom du flux de journal, par exemple. `2020/01/01/12345678-1234-1234-1234-12345678901`

Pour les journaux du système de mappage des sources d'événements, vous pouvez choisir entre les niveaux de journal suivants.


| Niveau de journalisation | Usage | 
| --- | --- | 
| DEBUG (le plus détaillé) | Informations détaillées sur la progression du traitement des sources d'événements | 
| INFO | Messages concernant le fonctionnement normal du mappage de la source de votre événement | 
| WARN (moindre détail) | Messages concernant les avertissements et les erreurs potentiels susceptibles d'entraîner un comportement inattendu | 

Lorsque vous sélectionnez un niveau de journal, Lambda Event Poller envoie des journaux à ce niveau ou à un niveau inférieur. Par exemple, si vous définissez le niveau de journal du système de mappage de la source d'événements sur INFO, Event Poller n'envoie pas de sorties de journal au niveau DEBUG.

## Configuration de la journalisation
<a name="esm-logging-configure"></a>

Vous pouvez définir la configuration de journalisation lors de la création ou de la mise à jour d'un mappage de source d'événements Kafka.

### Configuration de la journalisation (console)
<a name="esm-logging-console"></a>

**Pour configurer la journalisation (console)**

1. Ouvrez la [page Functions](https://console.aws.amazon.com/lambda/home#/functions) (Fonctions) de la console Lambda.

1. Choisissez le nom de votre fonction.

1. Effectuez l’une des actions suivantes :
   + Pour ajouter un nouveau déclencheur Kafka, sous **Vue d'ensemble des fonctions**, choisissez **Ajouter un déclencheur**.
   + Pour modifier un déclencheur Kafka existant, choisissez-le, puis choisissez **Modifier**.

1. Sous **Configuration du sondeur d'événements**, pour le **mode provisionné, cochez** la case **Configurer**. Et le paramètre du **niveau de journalisation** apparaîtrait.

1.  Cliquez sur la liste déroulante des **niveaux de journalisation** et sélectionnez un niveau pour le mappage des sources d'événements.

1. Choisissez **Ajouter** ou **Enregistrer** en bas pour créer ou mettre à jour le mappage des sources d'événements.

### Configuration de la journalisation (AWS CLI)
<a name="esm-logging-cli"></a>

#### Création d'un mappage des sources d'événements avec journalisation
<a name="esm-logging-cli-create"></a>

L'exemple suivant crée un mappage de source d'événement Amazon MSK avec une configuration de journalisation :

```
aws lambda create-event-source-mapping \
  --function-name my-kafka-function \
  --topics AWSKafkaTopic \
  --event-source-arn arn:aws:kafka:us-east-1:123456789012:cluster/my-cluster/abc123 \
  --starting-position LATEST \
  --provisioned-poller-config MinimumPollers=1,MaximumPollers=3 \
  --logging-config '{"SystemLogLevel":"DEBUG"}'
```

Pour Kafka autogéré, utilisez la même syntaxe :

```
aws lambda create-event-source-mapping \
  --function-name my-kafka-function \
  --topics AWSKafkaTopic \
  --self-managed-event-source '{"Endpoints":{"KAFKA_BOOTSTRAP_SERVERS":["abc.xyz.com:9092"]}}' \
  --starting-position LATEST \
  --provisioned-poller-config MinimumPollers=1,MaximumPollers=3 \
  --logging-config '{"SystemLogLevel":"DEBUG"}'
```

#### Mettre à jour la configuration d'enregistrement
<a name="esm-logging-cli-update"></a>

Utilisez la `update-event-source-mapping` commande pour ajouter ou modifier la configuration de journalisation :

```
aws lambda update-event-source-mapping \
  --uuid 12345678-1234-1234-1234-123456789012 \
  --logging-config '{"SystemLogLevel":"WARN"}'
```

## Format d'enregistrement pour un journal du système de mappage des sources d'événements Kafka
<a name="esm-logging-record-format"></a>

Lorsque Lambda Event Poller envoie le journal, chaque entrée de journal contient des métadonnées générales de mappage des sources d'événements ainsi que du contenu spécifique à l'événement.

### Enregistrement du journal WARN
<a name="esm-logging-warn-record"></a>

L'enregistrement WARN contient des erreurs ou des avertissements provenant de l'analyseur d'événements, et il est émis lorsque l'événement s'est produit. Par exemple :

```
{
    "eventType": "ESM_PROCESSING_EVENT",
    "timestamp": 1546347650000,
    "resourceArn": "arn:aws:lambda:us-east-1:123456789012:event-source-mapping:12345678-1234-1234-1234-123456789012",
    "eventSourceArn": "arn:aws:kafka:us-east-1:123456789012:cluster/tests-cluster/87654321-4321-4321-4321-876543221-s1",
    "eventProcessorId": "12345678-1234-1234-1234-123456789012/0",
    "logLevel": "WARN",
    "error": {
        "errorMessage": "Timeout expired while fetching topic metadata",
        "errorCode": "org.apache.kafka.common.errors.TimeoutException"
    }
}
```

### Enregistrement du journal INFO
<a name="esm-logging-info-record"></a>

L'enregistrement INFO contient les configurations des clients clients Kafka dans chaque sondeur d'événements, et il est émis lors de la création ou de la modification d'un consommateur. Par exemple :

```
{
    "eventType": "POLLER_STATUS_EVENT",
    "timestamp": 1546347660000,
    "resourceArn": "arn:aws:lambda:us-east-1:123456789012:event-source-mapping:12345678-1234-1234-1234-123456789012",
    "eventSourceArn": "arn:aws:kafka:us-east-1:123456789012:cluster/tests-cluster/87654321-4321-4321-4321-876543221-s1",
    "eventProcessorId": "12345678-1234-1234-1234-123456789012/0",
    "logLevel": "INFO",
    "kafkaEventSourceConnection": {
        "brokerEndpoints": "boot-abcd1234.c2.kafka-serverless.us-east-1.amazonaws.com:9098",
        "consumerId": "12345678-1234-1234-1234-123456789012-0",
        "topics": [
            "test"
        ],
        "consumerGroupId": "12345678-1234-1234-1234-123456789012",
        "securityProtocol": "SASL_SSL",
        "saslMechanism": "AWS_MSK_IAM",
        "totalPartitionCount": 2,
        "assignedPartitionCount": 2,
        "partitionsAssignmentGeneration": 5,
        "assignedPartitions": [
            "test-0",
            "test-1"
        ],
        "networkConfig": {
            "ipAddresses": [
                "10.100.141.1"
            ],
            "subnetCidrBlock": "10.100.128.0/20",
            "securityGroups": [
                "sg-abcdefabcdefabcdef"
            ]
        }
    }
}
```

### Enregistrement du journal DEBUG
<a name="esm-logging-debug-record"></a>

Le journal DEBUG contient les informations relatives aux décalages de Kafka lors du traitement du mappage des sources d'événements, et les informations de décalage sont émises par minute. Par exemple :

```
{
    "eventType": "KAFKA_STATUS_EVENT",
    "timestamp": 1546347670000,
    "resourceArn": "arn:aws:lambda:us-east-1:123456789012:event-source-mapping:12345678-1234-1234-1234-123456789012",
    "eventSourceArn": "arn:aws:kafka:us-east-1:123456789012:cluster/tests-cluster/87654321-4321-4321-4321-876543221-s1",
    "eventProcessorId": "12345678-1234-1234-1234-123456789012/0",
    "logLevel": "DEBUG",
    "kafkaPartitionOffsets": {
        "partition": "test-1",
        "endOffset": 5004,
        "consumedOffset": 5003,
        "processedOffset": 5003,
        "committedOffset": 5004
    }
}
```