Registro de asignación de orígenes de eventos de Kafka
Puede configurar el registro a nivel del sistema para las asignaciones de orígenes de eventos de Kafka para habilitar y filtrar los registros del sistema que los sondeadores de eventos de Lambda envían a CloudWatch.
Esta característica solo está disponible para asignaciones de orígenes de eventos de Kafka y con el modo aprovisionado.
Para la asignación de orígenes de eventos con configuración de registro, ahora también puede consultar los registros del sistema a partir de consultas de registro prediseñadas en la pestaña Supervisar desde la página de la consola Lambda > Recursos adicionales > asignación de orígenes de eventos.
Cómo funciona el proceso de registro
Cuando establece la configuración de registro con el nivel de registro en su asignación de orígenes de eventos, el sondeador de eventos de Lambda envía los registros correspondientes (registros del sistema de asignación de orígenes de eventos).
La asignación de orígenes de eventos reutiliza el mismo destino de registro con la función de Lambda. Asegúrese de que el rol de ejecución de la función de Lambda tenga los permisos de registro necesarios.
La asignación de orígenes de eventos tendrá su propio flujo de registro, cuyo nombre estará compuesto por la fecha y el UUID de la asignación de orígenes de eventos, por ejemplo, 2020/01/01/12345678-1234-1234-1234-12345678901.
Para los registros del sistema de la asignación de orígenes de eventos, puede elegir entre los siguientes niveles de registro.
| Nivel de registro | Uso |
|---|---|
| DEBUG (más detallado) | Información detallada sobre el progreso del procesamiento del origen de eventos |
| INFO | Mensajes sobre el funcionamiento normal de la asignación de orígenes de eventos |
| WARN (menos detallado) | Mensajes sobre posibles advertencias y errores que pueden provocar un comportamiento inesperado |
Al seleccionar un nivel de registro, el sondeador de eventos de Lambda envía los registros a ese nivel y a niveles inferiores. Por ejemplo, si establece el nivel de registro del sistema de asignación de orígenes de eventos en INFO, el sondeador de eventos no envía las salidas de registro en el nivel DEBUG.
Configuración del registro
Puede establecer la configuración de registro cuando crea o actualiza una asignación de orígenes de eventos de Kafka.
Configuración de registro (consola)
Cómo configurar el proceso de registro (consola)
-
Abra la página de Funciones
en la consola de Lambda. -
Elija el nombre de su función.
-
Realice una de las siguientes acciones:
-
Para añadir un nuevo desencadenador de Kafka, en Descripción general de la función, seleccione Añadir desencadenador.
-
Para modificar un desencadenador de Kafka existente, selecciónelo y, a continuación, elija Editar.
-
-
En la sección Configuración del sondeador de eventos, para el Modo aprovisionado, habilite la casilla Configurar. Aparecerá la configuración del Nivel de registro.
-
Haga clic en la lista desplegable de Nivel de registro y seleccione un nivel para la asignación de orígenes de eventos.
-
Seleccione Añadir o Guardar en la parte inferior para crear o actualizar la asignación de orígenes de eventos.
Configuración de registros (AWS CLI)
Creación de una asignación de orígenes de eventos con registro
En el siguiente ejemplo, se crea una asignación de orígenes de eventos de Amazon MSK con configuración de registro:
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"}'
En el caso de Kafka autoadministrado, utilice la misma sintaxis:
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"}'
Actualización de la configuración de registro
Use el comando update-event-source-mapping para añadir o modificar la configuración de registro:
aws lambda update-event-source-mapping \ --uuid 12345678-1234-1234-1234-123456789012 \ --logging-config '{"SystemLogLevel":"WARN"}'
Formato del registro del sistema de una asignación de orígenes de eventos de Kafka
Cuando el sondeador de eventos de Lambda envía el registro, cada entrada del registro contiene metadatos generales de la asignación de orígenes de eventos y también contenido específico del evento.
Registro WARN
El registro WARN contiene errores o advertencias del sondeador de eventos y se emite cuando ocurre el evento. Por ejemplo:
{
"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"
}
}
Registro INFO
El registro INFO contiene las configuraciones de los clientes consumidores de Kafka en cada sondeador de eventos y se emite en caso de que se cree o modifique un consumidor. Por ejemplo:
{
"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"
]
}
}
}
Registro DEBUG
El registro DEBUG contiene la información relacionada con los desplazamientos de Kafka en el procesamiento de la asignación de orígenes de eventos, y la información de desplazamiento se emite por minuto. Por ejemplo:
{
"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
}
}