Registro do mapeamento da origem do evento do Kafka
Você pode configurar o registro em nível de sistema para seus mapeamentos da origem de eventos do Kafka a fim de habilitar e filtrar os logs do sistema que os agentes de sondagem de eventos Lambda enviam para o CloudWatch.
Esse recurso está disponível apenas para mapeamentos de origens de eventos do Kafka e com o Modo provisionado.
Para fazer o mapeamento da origem do evento com a configuração de registro, você também pode verificar os logs do sistema a partir de consultas de logs pré-criadas na guia Monitor da página Console Lambda > Recursos adicionais > mapeamentos da origem do evento agora.
Como funciona o registro em log
Quando você define a configuração de registro com o nível de log em seu mapeamento da origem do evento, o agente de sondagem de eventos do Lambda envia os logs correspondentes (logs do sistema de mapeamento da origem do evento).
O mapeamento da origem do evento reutiliza o mesmo destino de log com a função do Lambda. Certifique-se de que a função do Lambda tenha as permissões de registro em log necessárias.
O mapeamento da origem do evento terá seu próprio fluxo de logs, com a data e o UUID do mapeamento da origem do evento como nome do fluxo de logs, como 2020/01/01/12345678-1234-1234-1234-12345678901.
Para logs do sistema de mapeamento da origem do evento, você pode escolher entre os níveis de log a seguir.
| Nível de log | Usage |
|---|---|
| DEBUG (mais detalhes) | Informações detalhadas sobre o progresso do processamento da origem do evento |
| INFORMAÇÕES | Mensagens sobre a operação normal do mapeamento da origem do evento |
| WARN (menos detalhes) | Mensagens sobre possíveis avisos e erros que podem levar a um comportamento inesperado |
Quando você seleciona um nível de log, o agente de sondagem de eventos do Lambda envia logs desse nível, e de níveis inferiores. Por exemplo, se você definir o nível de log do sistema de mapeamento da origem do evento como INFO, o agente de sondagem de eventos não enviará saídas de log no nível DEBUG.
Configurar o registro em log da
É possível definir a configuração de registro em log ao criar ou atualizar um mapeamento da origem do evento do Kafka.
Configurar o registro em log (console)
Para configurar o registro em log (console)
-
Abra a página Funções
do console do Lambda. -
Escolha o nome da sua função.
-
Execute um destes procedimentos:
-
Para adicionar um novo acionador do Kafka, em Visão geral da função, escolha Adicionar acionador.
-
Para modificar um acionador existente do Kafka, escolha o acionador e, em seguida, escolha Editar.
-
-
Em Configuração do agente de sondagem de eventos, para o Modo provisionado, ative a caixa de seleção Configurar. A configuração do Nível de log deve aparecer.
-
Clique na lista suspensa Nível de log e selecione um nível para o mapeamento da origem do evento.
-
Escolha Adicionar ou Salvar na parte inferior para criar ou atualizar o mapeamento da origem do evento.
Configurar o registro em log (AWS CLI)
Criar um mapeamento da origem do evento com o registro em log
O exemplo a seguir cria um mapeamento da origem do evento do Amazon MSK com configuração de registro em log:
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"}'
Para o Kafka autogerenciado, use a mesma sintaxe:
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"}'
Atualizar a configuração do registro em log
Use o comando update-event-source-mapping para adicionar ou modificar a configuração do registro em log:
aws lambda update-event-source-mapping \ --uuid 12345678-1234-1234-1234-123456789012 \ --logging-config '{"SystemLogLevel":"WARN"}'
Formato de registro para um log do sistema de mapeamento da origem do evento do Kafka
Quando o agente de sondagem de eventos do Lambda envia o log, cada respectiva entrada contém metadados gerais de mapeamento da origem do evento e o conteúdo específico do evento.
Registro em log WARN
O registro WARN contém erros ou avisos do agente de sondagem de eventos e é emitido quando o evento ocorre. Por exemplo:
{
"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 em log INFO
O registro INFO contém configurações de cliente consumidor do Kafka em cada agente de sondagem de eventos e é emitido no caso de um consumidor ser criado ou alterado. Por exemplo:
{
"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 em log DEBUG
O log DEBUG contém as informações relacionadas aos deslocamentos do Kafka no processamento do mapeamento da origem do evento, e as informações de deslocamento são emitidas por minuto. Por exemplo:
{
"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
}
}