本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
Kafka 事件來源映射記錄
您可以設定 Kafka 事件來源映射的系統層級記錄,以啟用和篩選 Lambda 事件輪詢器傳送至 CloudWatch 的系統日誌。
此功能僅適用於 Kafka 事件來源映射,以及佈建模式。
對於使用記錄組態的事件來源映射,您也可以立即從主控台 Lambda > 其他資源 > 事件來源映射頁面的監控索引標籤中,從預先建置的日誌查詢檢查系統日誌。
記錄的運作方式
當您在事件來源映射中設定日誌層級的記錄組態時,Lambda 事件輪詢器會傳送對應的日誌 (事件來源映射系統日誌)。
事件來源映射會與您的 Lambda 函數重複使用相同的日誌目的地。請確定 Lambda 函數的執行角色具有必要的記錄許可。
事件來源映射將擁有自己的日誌串流,其中日期和事件來源映射 UUID 作為日誌串流名稱,例如 2020/01/01/12345678-1234-1234-1234-12345678901。
對於事件來源映射系統日誌,您可以選擇下列日誌層級。
| 日誌層級 | Usage |
|---|---|
| DEBUG (大多數詳細資訊) | 事件來源處理進度的詳細資訊 |
| INFO | 有關事件來源映射正常操作的訊息 |
| WARN (最少詳細資訊) | 有關可能導致意外行為之潛在警告和錯誤的訊息 |
當您選取日誌層級時,Lambda 事件輪詢器會在該層級和更低層級傳送日誌。例如,如果您將事件來源映射系統日誌層級設定為 INFO,事件輪詢器不會在 DEBUG 層級傳送日誌輸出。
設定 記錄
您可以在建立或更新 Kafka 事件來源映射時設定記錄設定。
設定記錄 (主控台)
設定記錄 (主控台)
-
開啟 Lambda 主控台中的函數頁面
。 -
選擇您的函數名稱。
-
執行以下任意一項:
-
若要新增新的 Kafka 觸發條件,請在函數概觀下,選擇新增觸發條件。
-
若要修改現有的 Kafka 觸發條件,請選擇觸發條件,然後選擇編輯。
-
-
在事件輪詢器組態下,針對佈建模式,啟用設定核取方塊。此時會顯示日誌層級設定。
-
按一下日誌層級下拉式清單,並選取事件來源映射的層級。
-
選擇底部的新增或儲存,以建立或更新事件來源映射。
設定記錄 (AWS CLI)
使用 記錄建立事件來源映射
下列範例會使用記錄組態建立 Amazon MSK 事件來源映射:
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"}'
對於自我管理的 Kafka,請使用相同的語法:
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"}'
更新記錄組態
使用 update-event-source-mapping命令來新增或修改記錄組態:
aws lambda update-event-source-mapping \ --uuid 12345678-1234-1234-1234-123456789012 \ --logging-config '{"SystemLogLevel":"WARN"}'
Kafka 事件來源映射系統日誌的記錄格式
當 Lambda 事件輪詢器傳送日誌時,每個日誌項目都包含一般事件來源映射中繼資料,以及事件特定內容。
WARN 日誌記錄
WARN 記錄包含來自事件輪詢器的錯誤或警告,並在事件發生時發出。例如:
{
"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"
}
}
INFO 日誌記錄
INFO 記錄包含每個事件輪詢器中的 Kafka 取用者用戶端組態,並在建立或變更取用者時發出。例如:
{
"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"
]
}
}
}
DEBUG 日誌記錄
DEBUG 日誌包含事件來源映射處理中的 Kafka 偏移相關資訊,並且每分鐘發出偏移資訊。例如:
{
"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
}
}