

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 Zuordnung von Kafka-Ereignisquellen
<a name="esm-logging"></a>

Sie können die Protokollierung auf Systemebene für Ihre Kafka-Ereignisquellenzuordnungen konfigurieren, um die Systemprotokolle zu aktivieren und zu filtern, an die Lambda-Ereignisabfragen senden. 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 Protokollierungskonfiguration können Sie jetzt auch die Systemprotokolle aus vorgefertigten Protokollabfragen auf der Registerkarte **Monitor** auf der Seite Konsole **Lambda** > **Zusätzliche Ressourcen** > **Ereignisquellenzuordnungen** überprüfen.

## Wie funktioniert die Protokollierung
<a name="esm-logging-overview"></a>

Wenn Sie die Protokollierungskonfiguration mit Protokollebene in Ihrer Ereignisquellenzuordnung festlegen, sendet der Lambda-Ereignisabfrage entsprechende Protokolle (Systemprotokolle für die Ereignisquellenzuweisung).

Die Zuordnung der Ereignisquelle verwendet dasselbe [Protokollziel](https://docs.aws.amazon.com/lambda/latest/dg/monitoring-logs.html#configuring-log-destinations) wie Ihre Lambda-Funktion erneut. 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, mit Datum und UUID für die Zuordnung der Ereignisquelle als Protokollstreamname, 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 der Ereignisquelle | 
| INFO | Meldungen über den normalen Betrieb Ihrer Ereignisquellenzuordnung | 
| 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-Ereignisabfrage Protokolle auf dieser Ebene und niedriger. Wenn Sie beispielsweise die Systemprotokollebene für die Zuordnung von Ereignisquellen auf INFO setzen, sendet der Event-Poller keine Protokollausgaben auf der DEBUG-Ebene.

## Konfigurieren der Protokollierung
<a name="esm-logging-configure"></a>

Sie können die Protokollierungskonfiguration festlegen, wenn Sie eine Kafka-Ereignisquellenzuordnung erstellen oder aktualisieren.

### Konfiguration der Protokollierung (Konsole)
<a name="esm-logging-console"></a>

**Um die Protokollierung zu konfigurieren (Konsole)**

1. Öffnen Sie die Seite [Funktionen](https://console.aws.amazon.com/lambda/home#/functions) der Lambda-Konsole.

1. Wählen Sie den Namen Ihrer Funktion.

1. 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** aus.
   + **Um einen vorhandenen Kafka-Trigger zu ändern, wählen Sie den Auslöser aus und klicken Sie dann auf Bearbeiten.**

1. **Aktivieren Sie unter **Konfiguration des Event-Pollers** für den **Bereitstellungsmodus** das Kontrollkästchen Konfigurieren.** Und die Einstellung für die **Protokollebene** würde angezeigt.

1.  Klicken Sie auf die Dropdownliste **Protokollebene** und wählen Sie eine Ebene für die Zuordnung der Ereignisquellen aus.

1. Wählen Sie unten **Hinzufügen** oder **Speichern**, um die Zuordnung der Ereignisquellen zu erstellen oder zu aktualisieren.

### Protokollierung konfigurieren (AWS CLI)
<a name="esm-logging-cli"></a>

#### Erstellen einer Ereignisquellenzuordnung mit Protokollierung
<a name="esm-logging-cli-create"></a>

Das folgende Beispiel erstellt eine Amazon MSK-Ereignisquellenzuordnung mit Protokollierungskonfiguration:

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

#### Die Logging-Konfiguration wird aktualisiert
<a name="esm-logging-cli-update"></a>

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 Systemprotokoll zur Zuordnung von Kafka-Ereignisquellen
<a name="esm-logging-record-format"></a>

Wenn der Lambda-Ereignisabfrage das Protokoll sendet, enthält jeder Protokolleintrag allgemeine Metadaten zur Zuordnung von Ereignisquellen sowie ereignisspezifische Inhalte.

### WARN-Protokolldatensatz
<a name="esm-logging-warn-record"></a>

Der WARN-Datensatz enthält Fehler oder Warnungen vom Event-Poller und wird ausgegeben, als 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-Protokolleintrag
<a name="esm-logging-info-record"></a>

Der INFO-Datensatz enthält Kafka-Consumer-Client-Konfigurationen in jedem Event-Poller und 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-Protokolleintrag
<a name="esm-logging-debug-record"></a>

Das DEBUG-Protokoll enthält die Informationen zu den Kafka-Offsets bei der Verarbeitung der Ereignisquellenzuordnung, und die Offsetinformationen 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
    }
}
```