Wie behebe ich den Fehler „Protokollgruppe ist nicht vorhanden“ für Lambda-Funktionsprotokolle in der CloudWatch-Konsole?

Lesedauer: 2 Minute
0

Wenn ich versuche, Protokolle für meine AWS-Lambda-Funktion in der Amazon-CloudWatch-Konsole anzuzeigen, erhalte ich die Fehlermeldung „Protokollgruppe ist nicht vorhanden“. Wie behebe ich den Fehler?

Kurzbeschreibung

Wenn bei dem Versuch, die Protokolle Ihrer Funktion anzuzeigen, keine Protokollgruppe für Ihre Lambda-Funktion vorhanden ist, gibt CloudWatch den folgenden Fehler zurück:

"Log group does not exist. The specific log group: <log group name> does not exist in this account or region."

Protokolle werden generiert, nachdem Sie Ihre Funktion zum ersten Mal ausgeführt haben. Wenn nach dem Aufrufen der Funktion keine Protokollgruppe vorhanden ist, liegt das in der Regel daran, dass ein Problem mit den AWS Identity and Access Management (IAM)-Berechtigungen der Funktion vorliegt.

Stellen Sie Folgendes sicher, um den CloudWatch-Fehler Protokollgruppe ist nicht vorhanden zu beheben:

  • Die Ausführungsrolle Ihrer Lambda-Funktion verfügt über ausreichende Berechtigungen, um Protokolle in CloudWatch zu schreiben.
  • Die Protokollgruppenressource in der IAM-Richtlinie enthält den Namen Ihrer Funktion.

Hinweis: Informationen zu berechtigungsbezogenen Protokollierungsproblemen mit Lambda@Edge finden Sie unter Serviceverknüpfte Rollen für Lambda@Edge.

Lösung

Überprüfen und bearbeiten Sie die IAM-Richtlinie für die Ausführungsrolle der Lambda-Funktion in der IAM-Konsole, sodass Folgendes zutrifft:

  • Die Schreibvorgänge CreateLogGroup und CreateLogStream sind zulässig.
    Hinweis: Wenn Sie für Ihre Funktion keine benutzerdefinierten Berechtigungen benötigen, können Sie die verwaltete Richtlinie AWSLambdaBasicExecutionRole anhängen. Diese verwaltete Richtlinie ermöglicht es Lambda, Protokolle in CloudWatch zu schreiben.
  • Die im Amazon-Ressourcennamen (ARN) angegebene AWS-Region entspricht der Region Ihrer Lambda-Funktion.
  • Die Ressource log-group enthält den Namen Ihrer Lambda-Funktion. Wenn Ihre Funktion beispielsweise myLambdaFunction heißt, ist /aws/lambda/myLambdaFunction die zugehörige log-group.

**Im Folgenden finden Sie eine Beispielrichtlinie, die die erforderlichen Berechtigungen für eine Lambda-Rolle enthält, um auf CloudWatch-Protokolle zuzugreifen:
**

{
    "Version": "2012-10-17",
    "Statement": [
        {
            "Effect": "Allow",
            "Action": "logs:CreateLogGroup",
            "Resource": "arn:aws:logs:region:accountId:*"
        },
        {
            "Effect": "Allow",
            "Action": [
                "logs:CreateLogStream",
                "logs:PutLogEvents"
            ],
            "Resource": [
                "arn:aws:logs:region:accountId:log-group:/aws/lambda/functionName:*"
            ]
        }
    ]
}

Relevante Informationen

AWS-Lambda-Berechtigungen

AWS OFFICIAL
AWS OFFICIALAktualisiert vor 3 Jahren