繁体   English   中英

重新创建/重新附加 AWS Lambda 控制台日志记录到 CloudWatch

[英]Recreating/reattaching AWS Lambda console logging to CloudWatch

考虑到我想清除旧日志,我错误地删除了 CloudWatch 上 Lambda 的“日志流”。

结果,正如我醒着时应该预料的那样,现在 CloudWatch 根本没有获取 Lambda 的控制台日志。 哎呀。

日志仍然存在。 我可以看到如何创建一个新的日志 stream。

我在 web 上找不到的是将现有的 Lambda 到 output 到这个新的 stream 的明确说明...即修复我所做的。

有人可以提供说明或指向他们吗? 我敢肯定我不是唯一犯过这个错误的人,所以我认为这是一个值得一试的答案。


更新:决定尝试通过创建一个全新的 Lambda 来恢复,运行相同的代码并以相同的方式配置,期望它能正常工作; 我的理解是新的 Lambda 自动绑定到 CloudWatch 组。

然后我运行我的测试,单击扭曲箭头以查看 output 的末尾,然后单击“单击此处查看相应的 CloudWatch 日志组。”。 它打开 Cloudwatch 查看预期的日志组名称——带有一个大红色警告,表明该组不存在。 单击测试 output 顶部的“(日志)”给出了相同的行为。

我尝试手动创建组,但现在我回到原来的位置——lambda 运行,我得到本地日志 output,但日志没有到达 CloudWatch。

所以看起来有更深层次的错误。 CloudWatch 仍在从关键的 lambda(驱动我新发布的 Alexa 技能的那个)获取日志,而不太重要的那个(技能数据库的计划更新)运行正常,所以我现在绝对不需要它的日志 - - 但我需要弄清楚这一点,以便在后台任务中断时我可以阅读它们。


由于这现在看起来像是真正的意外行为,而不是用户错误,如果他们提出答案,我会将其带到 AWS 论坛并在此处发布。 在该系统上,问题现在位于https://repost.aws/questions/QUDzF2c_m0TPCwl3Ufa527Wg/lambda-logging-to-cloud-watch-seems-to-be-broken

程序员的格言:“如果这很容易,他们就不需要我们了……”

执行 Lambda function 后,您可以 go 到Monitoring选项卡并单击View logs in CloudWatch -- 它将带您到日志应该存在的位置。

If you know that the function has executed but no logs are appearing, then confirm that your Lambda function has the AWSLambdaBasicExecutionRole assigned to the IAM Role being used by the Lambda function. This grants permission for the Lambda function to write to CloudWatch Logs.

请参阅: AWS Lambda 执行角色 - AWS Lambda

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM