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
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. CloudWatch
Cette fonctionnalité n'est disponible que pour les mappages de sources d'événements Kafka et avec le mode Provisioned.
Pour le mappage des sources d'événements avec une configuration de journalisation, vous pouvez également consulter les journaux 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 maintenant.
Comment fonctionne la journalisation
Lorsque vous définissez la configuration de journalisation avec le niveau de journalisation dans votre mappage de source d'événements, l'analyseur d'événements Lambda envoie les journaux correspondants (journaux du système de mappage des sources d'événements).
Le mappage des sources d'événements réutilise la même destination de journal 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 des sources d'événements aura son propre flux de journal, avec l'UUID de mappage de la date et de la source d'événements 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 journalisation 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 de votre mappage des sources d'événements |
| WARN (moindre détail) | Messages concernant des avertissements et des erreurs potentiels susceptibles d'entraîner un comportement inattendu |
Lorsque vous sélectionnez un niveau de journalisation, l'interrogateur d'événements Lambda envoie des journaux à ce niveau et à un niveau inférieur. Par exemple, si vous définissez le niveau de journalisation du système de mappage des sources d'événements sur INFO, Event Poller n'envoie pas de sorties de journal au niveau DEBUG.
Configuration de la journalisation
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)
Pour configurer la journalisation (console)
-
Ouvrez la page Functions
(Fonctions) de la console Lambda. -
Choisissez le nom de votre fonction.
-
Effectuez l’une des actions suivantes :
-
Pour ajouter un nouveau déclencheur Kafka, sous Aperçu des fonctions, choisissez Ajouter un déclencheur.
-
Pour modifier un déclencheur Kafka existant, choisissez-le, puis choisissez Modifier.
-
-
Dans Configuration du poller d'événements, pour le mode provisionné, cochez la case Configurer. Et le réglage du niveau de journalisation apparaîtrait.
-
Choisissez la liste déroulante des niveaux de journalisation et sélectionnez un niveau pour le mappage des sources d'événements.
-
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)
Création d'un mappage de sources d'événements avec journalisation
L'exemple suivant crée un mappage de source d'événements 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
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
Lorsque l'analyseur d'événements Lambda envoie le journal, chaque entrée du journal contient des métadonnées générales de mappage des sources d'événements ainsi qu'un contenu spécifique à l'événement.
Enregistrement du journal WARN
L'enregistrement WARN contient des erreurs ou des avertissements provenant de l'enquêteur 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
L'enregistrement INFO contient les configurations du client client Kafka dans chaque sondeur d'événements, et il est émis lors de la création ou de la modification d'un client. 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
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
}
}