【问题标题】:Why can't I see CloudWatch Logs for Lambda function?为什么我看不到 CloudWatch Logs for Lambda 函数?
【发布时间】:2020-09-10 10:21:22
【问题描述】:

我希望能够在我的 Lambda 执行时监控 Cloudwatch 中的日志,目前 Lambda 控制台顶部有一个部分:

它显示了我在执行 Lambda 时遇到的任何错误,但是如果我点击 logs,它会将我定向到 CloudWatch 并向我显示 log group does not exist,有谁知道我为什么以及如何能够在 Cloudwatch 中查看日志? (我以为它会是自动的...)

【问题讨论】:

  • 你能在你的代码运行之前显示函数是启动还是崩溃?

标签: amazon-web-services aws-lambda amazon-cloudwatch amazon-cloudwatchlogs


【解决方案1】:

您的 AWS Lambda 函数需要以下权限才能访问 CloudWatch Logs:

{
    "Version": "2012-10-17",
    "Statement": [
        {
            "Effect": "Allow",
            "Action": [
                "logs:CreateLogGroup",
                "logs:CreateLogStream",
                "logs:PutLogEvents"
            ],
            "Resource": "*"
        }
    ]
}

这将授予它创建日志组并将事件存储在日志组中的权限。

分配此权限的最简单方法是将AWSLambdaBasicExecutionRole 托管策略添加到您的 Lambda 函数正在使用的 IAM 角色。

【讨论】:

    【解决方案2】:

    此问题的最常见原因是您尚未将 IAM 角色分配给有权在 CloudWatch 中创建日志的 Lambda 函数。

    【讨论】:

    • 我觉得应该是自动的,但是我在cloudwatch里拿不到,但是我加了lambda权限后得到了日志。
    【解决方案3】:

    您的日志组应该会自动创建。

    如果您单击详细信息箭头,您会看到失败的原因,可能是崩溃了。

    我想你在处理程序运行之前遇到了 lambda 运行时错误。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2020-11-22
      • 2021-04-09
      • 1970-01-01
      • 2023-01-15
      • 1970-01-01
      • 2021-11-05
      • 2016-06-04
      • 2021-12-01
      相关资源
      最近更新 更多