Die vorliegende Übersetzung wurde maschinell erstellt. Im Falle eines Konflikts oder eines Widerspruchs zwischen dieser übersetzten Fassung und der englischen Fassung (einschließlich infolge von Verzögerungen bei der Übersetzung) ist die englische Fassung maßgeblich.
Protokollierung der Kafka-Ereignisquellenzuordnung
Sie können die Protokollierung auf Systemebene für Ihre Kafka-Ereignisquellenzuordnungen so konfigurieren, dass die Systemprotokolle, an die Lambda-Event-Poller senden, aktiviert und gefiltert werden. CloudWatch
Diese Funktion ist nur für Kafka-Ereignisquellenzuordnungen und im Bereitstellungsmodus verfügbar. https://docs.aws.amazon.com/lambda/latest/dg/kafka-scaling-modes.html#kafka-provisioned-mode
Für die Zuordnung von Ereignisquellen mit Logging-Konfiguration können Sie jetzt auch die Systemprotokolle von vorgefertigten Protokollabfragen auf der Registerkarte „Monitor“ auf der Seite Console Lambda > Zusätzliche Ressourcen > Zuordnungen von Ereignisquellen überprüfen.
Wie funktioniert die Protokollierung
Wenn Sie in Ihrem Eventquell-Mapping die Logging-Konfiguration mit Log-Level festlegen, versendet der Lambda-Event-Poller entsprechende Logs (Systemprotokolle für die Eventquell-Mapping).
Die Ereignisquellenzuordnung verwendet dasselbe Protokollziel mit Ihrer Lambda-Funktion wieder. Stellen Sie sicher, dass die Ausführungsrolle Ihrer Lambda-Funktion über die erforderlichen Protokollierungsberechtigungen verfügt.
Die Zuordnung der Ereignisquelle wird über einen eigenen Protokollstream verfügen, wobei die UUID für die Datums- und Ereignisquellenzuordnung als Namen des Protokollstreams verwendet wird, z. B. 2020/01/01/12345678-1234-1234-1234-12345678901
Für Systemprotokolle zur Zuordnung von Ereignisquellen können Sie zwischen den folgenden Protokollebenen wählen.
| Protokollebene | Usage |
|---|---|
| DEBUG (am detailliertesten) | Detaillierte Informationen zum Fortschritt der Verarbeitung von Ereignisquellen |
| INFO | Meldungen über den normalen Betrieb Ihres Eventquellen-Mappings |
| WARN (am wenigsten Details) | Meldungen über mögliche Warnungen und Fehler, die zu unerwartetem Verhalten führen können |
Wenn Sie eine Protokollebene auswählen, sendet der Lambda-Event-Poller Protokolle auf dieser Ebene und niedriger. Wenn Sie beispielsweise die Protokollebene für die Systemprotokollierung der Ereignisquelle auf INFO setzen, sendet der Event-Poller keine Protokollausgaben auf der DEBUG-Ebene.
Konfigurieren der Protokollierung
Sie können die Protokollierungskonfiguration festlegen, wenn Sie eine Kafka-Ereignisquellenzuordnung erstellen oder aktualisieren.
Konfiguration der Protokollierung (Konsole)
So konfigurieren Sie die Protokollierung (Konsole)
-
Öffnen Sie die Seite Funktionen
der Lambda-Konsole. -
Wählen Sie Ihren Funktionsnamen.
-
Führen Sie eine der folgenden Aktionen aus:
-
Um einen neuen Kafka-Trigger hinzuzufügen, wählen Sie unter Funktionsübersicht die Option Trigger hinzufügen.
-
Um einen vorhandenen Kafka-Trigger zu ändern, wählen Sie den Trigger aus und klicken Sie dann auf Bearbeiten.
-
-
Aktivieren Sie unter Event-Poller-Konfiguration für den Bereitstellungsmodus das Kontrollkästchen Konfigurieren. Und die Einstellung für die Protokollebene würde angezeigt.
-
Wählen Sie die Dropdownliste Protokollebene und wählen Sie eine Ebene für die Zuordnung der Ereignisquelle aus.
-
Wählen Sie unten Hinzufügen oder Speichern aus, um die Ereignisquellenzuordnung zu erstellen oder zu aktualisieren.
Protokollierung konfigurieren (AWS CLI)
Erstellen einer Ereignisquellenzuordnung mit Protokollierung
Im folgenden Beispiel wird eine Amazon MSK-Ereignisquellenzuordnung mit Protokollierungskonfiguration erstellt:
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"}'
Verwenden Sie für selbstverwaltetes Kafka dieselbe Syntax:
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"}'
Aktualisierung der Protokollierungskonfiguration
Verwenden Sie den update-event-source-mapping Befehl, um die Protokollierungskonfiguration hinzuzufügen oder zu ändern:
aws lambda update-event-source-mapping \ --uuid 12345678-1234-1234-1234-123456789012 \ --logging-config '{"SystemLogLevel":"WARN"}'
Aufzeichnungsformat für ein Kafka-Systemprotokoll zur Zuordnung der Ereignisquelle
Wenn der Lambda-Event-Poller das Protokoll sendet, enthält jeder Protokolleintrag allgemeine Metadaten zur Zuordnung der Ereignisquelle sowie ereignisspezifische Inhalte.
WARN-Protokolldatensatz
Der WARN-Datensatz enthält Fehler oder Warnungen vom Event-Poller und wird ausgegeben, wenn das Ereignis eingetreten ist. Beispiel:
{
"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-Protokolldatensatz
Der INFO-Datensatz enthält Kafka-Consumer-Client-Konfigurationen in jedem Event-Poller. Er wird ausgegeben, wenn ein Consumer erstellt oder geändert wird. Beispiel:
{
"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-Protokolldatensatz
Das DEBUG-Protokoll enthält Informationen zu den Kafka-Offsets bei der Verarbeitung der Ereignisquellenzuordnung, und die Offset-Informationen werden pro Minute ausgegeben. Beispiel:
{
"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
}
}