Registrazione della mappatura delle sorgenti degli eventi Kafka - AWS Lambda

Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.

Registrazione della mappatura delle sorgenti degli eventi Kafka

Puoi configurare la registrazione a livello di sistema per le mappature delle sorgenti degli eventi Kafka per abilitare e filtrare i log di sistema a cui vengono inviati i poller di eventi Lambda. CloudWatch

Questa funzionalità è disponibile solo per le mappature delle sorgenti degli eventi Kafka e con la modalità Provisioned.

Per la mappatura delle sorgenti degli eventi con logging config, puoi anche controllare i log di sistema dalle query di registro predefinite nella scheda Monitor dalla pagina Console Lambda > Risorse aggiuntive > mappature delle sorgenti degli eventi ora.

Come funziona la registrazione

Quando imposti la configurazione di registrazione con il livello di log nella mappatura dell'origine degli eventi, il poller di eventi Lambda invia i log corrispondenti (log del sistema di mappatura dell'origine degli eventi).

La mappatura delle sorgenti degli eventi riutilizza la stessa destinazione di log con la funzione Lambda. Assicurati che il ruolo di esecuzione della tua funzione Lambda disponga delle autorizzazioni di registrazione necessarie.

La mappatura delle sorgenti degli eventi avrà un proprio flusso di log, con data e origine degli eventi che mappano l'UUID come nome del flusso di registro, ad esempio. 2020/01/01/12345678-1234-1234-1234-12345678901

Per i registri di sistema di mappatura delle sorgenti degli eventi, puoi scegliere tra i seguenti livelli di registro.

Livello di log Utilizzo
DEBUG (dettaglio massimo) Informazioni dettagliate sull'avanzamento dell'elaborazione delle fonti degli eventi
INFO Messaggi sul normale funzionamento della mappatura delle sorgenti degli eventi
WARN (dettaglio minimo) Messaggi relativi a potenziali avvisi ed errori che possono portare a comportamenti imprevisti

Quando si seleziona un livello di registro, Lambda event poller invia i log a quel livello e a un livello inferiore. Ad esempio, se imposti il livello di registro del sistema di mappatura delle sorgenti degli eventi su INFO, event poller non invia output di log a livello DEBUG.

Configurazione della registrazione

È possibile impostare la configurazione di registrazione durante la creazione o l'aggiornamento di una mappatura della sorgente degli eventi Kafka.

Configurazione della registrazione (console)

Per configurare la registrazione (console)
  1. Aprire la pagina Funzioni della console Lambda.

  2. Scegli il nome della tua funzione.

  3. Esegui una delle seguenti operazioni:

    • Per aggiungere un nuovo trigger Kafka, in Panoramica delle funzioni, scegli Aggiungi trigger.

    • Per modificare un trigger Kafka esistente, scegli il trigger, quindi scegli Modifica.

  4. In Event poller configuration, per la modalità Provisioned, abilita la casella di controllo Configure. E verrà visualizzata l'impostazione del livello di registro.

  5. Fai clic sull'elenco a discesa del livello di registro e seleziona un livello per la mappatura della fonte dell'evento.

  6. Scegli Aggiungi o Salva in basso per creare o aggiornare la mappatura della fonte dell'evento.

Configurazione della registrazione ()AWS CLI

Creazione di una mappatura della sorgente degli eventi con registrazione

L'esempio seguente crea una mappatura dell'origine degli eventi Amazon MSK con configurazione di registrazione:

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"}'

Per Kafka autogestito, usa la stessa sintassi:

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"}'

Aggiornamento della configurazione di registrazione

Usa il update-event-source-mapping comando per aggiungere o modificare la configurazione di registrazione:

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

Formato di registrazione per un registro del sistema di mappatura delle sorgenti di eventi Kafka

Quando Lambda event poller invia il registro, ogni voce di registro contiene metadati generali di mappatura dell'origine degli eventi e anche contenuti specifici dell'evento.

Record di registro WARN

Il record WARN contiene errori o avvisi provenienti dal poller degli eventi e viene emesso quando si è verificato l'evento. Esempio:

{ "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" } }

Record di registro INFO

Il record INFO contiene le configurazioni del client consumer Kafka in ogni sondaggio di eventi e viene emesso nel caso in cui un consumatore venga creato o modificato. Esempio:

{ "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" ] } } }

Record di registro DEBUG

Il registro DEBUG contiene le informazioni relative agli offset di Kafka nell'elaborazione della mappatura della sorgente degli eventi e le informazioni sull'offset vengono emesse al minuto. Esempio:

{ "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 } }