Pencatatan pemetaan sumber acara Kafka - AWS Lambda

Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.

Pencatatan pemetaan sumber acara Kafka

Anda dapat mengonfigurasi pencatatan tingkat sistem untuk pemetaan sumber peristiwa Kafka Anda untuk mengaktifkan dan memfilter log sistem yang dikirim oleh poller acara Lambda. CloudWatch

Fitur ini hanya tersedia untuk pemetaan sumber acara Kafka, dan dengan mode Provisioned.

Untuk pemetaan sumber peristiwa dengan konfigurasi logging, Anda juga dapat memeriksa log sistem dari kueri log bawaan di tab Monitor dari halaman Konsol Lambda > Sumber daya tambahan> pemetaan sumber peristiwa sekarang.

Cara kerja logging

Saat Anda menyetel konfigurasi logging dengan level log dalam pemetaan sumber peristiwa, poller peristiwa Lambda mengirimkan log yang sesuai (log sistem pemetaan sumber peristiwa).

Pemetaan sumber peristiwa menggunakan kembali tujuan log yang sama dengan fungsi Lambda Anda. Pastikan peran eksekusi fungsi Lambda Anda memiliki izin logging yang diperlukan.

Pemetaan sumber peristiwa akan memiliki aliran lognya sendiri, dengan tanggal dan sumber peristiwa pemetaan UUID sebagai nama aliran log, seperti. 2020/01/01/12345678-1234-1234-1234-12345678901

Untuk log sistem pemetaan sumber peristiwa, Anda dapat memilih antara tingkat log berikut.

Tingkat log Penggunaan
DEBUG (paling detail) Informasi terperinci untuk kemajuan pemrosesan sumber acara
INFO Pesan tentang operasi normal pemetaan sumber acara Anda
PERINGATAN (paling sedikit detail) Pesan tentang peringatan potensial dan kesalahan yang dapat menyebabkan perilaku tak terduga

Saat Anda memilih level log, poller acara Lambda mengirimkan log pada tingkat itu dan lebih rendah. Misalnya, jika Anda menyetel tingkat log sistem pemetaan sumber peristiwa ke INFO, poller peristiwa tidak mengirim output log pada tingkat DEBUG.

Mengonfigurasi pencatatan log

Anda dapat mengatur konfigurasi logging saat membuat atau memperbarui pemetaan sumber peristiwa Kafka.

Mengkonfigurasi logging (konsol)

Untuk mengkonfigurasi logging (konsol)
  1. Buka halaman Fungsi di konsol Lambda.

  2. Pilih nama fungsi Anda.

  3. Lakukan salah satu tindakan berikut:

    • Untuk menambahkan pemicu Kafka baru, di bawah Ikhtisar fungsi, pilih Tambah pemicu.

    • Untuk memodifikasi pemicu Kafka yang ada, pilih pemicu dan kemudian pilih Edit.

  4. Di bawah konfigurasi poller Event, untuk mode Provisioned, aktifkan kotak centang Configure. Dan pengaturan level Log akan muncul.

  5. Klik Daftar tarik-turun tingkat log dan pilih level untuk pemetaan sumber acara.

  6. Pilih Tambah atau Simpan di bagian bawah untuk membuat atau memperbarui pemetaan sumber acara.

Mengkonfigurasi logging ()AWS CLI

Membuat pemetaan sumber peristiwa dengan logging

Contoh berikut membuat pemetaan sumber peristiwa MSK Amazon dengan konfigurasi logging:

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

Untuk Kafka yang dikelola sendiri, gunakan sintaks yang sama:

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

Memperbarui konfigurasi logging

Gunakan update-event-source-mapping perintah untuk menambah atau memodifikasi konfigurasi logging:

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

Format rekaman untuk log sistem pemetaan sumber peristiwa Kafka

Ketika poller peristiwa Lambda mengirim log, setiap entri log berisi metadata pemetaan sumber peristiwa umum dan juga konten khusus acara.

PERINGATKAN catatan log

Catatan PERINGATAN berisi kesalahan atau peringatan dari poller acara, dan itu dipancarkan saat peristiwa terjadi. Contoh:

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

Catatan log INFO

Catatan INFO berisi konfigurasi klien konsumen Kafka di setiap poller acara, dan itu dipancarkan pada saat konsumen sedang dibangun atau diubah. Contoh:

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

Catatan log DEBUG

Log DEBUG berisi info terkait offset Kafka dalam pemrosesan pemetaan sumber peristiwa, dan info offset dipancarkan per menit. Contoh:

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