如何跟踪 Serverless Lambda 函数日志

阅读时长 4 分钟读完

Serverless 是一种新兴的云计算技术,它可以让开发人员在不必考虑服务器架构和维护的情况下,专注于应用的开发和部署。 在 Serverless 中,Lambda 是最常用的 Serverless 函数服务。但是,在开发和管理 Lambda 函数时,我们经常需要跟踪函数日志来调试和监控应用程序的运行状态。在本文中,我们将深入探讨如何跟踪 Serverless Lambda 函数日志。

Lambda 日志输出

Lambda 函数默认在 CloudWatch 中输出日志。使用 AWS Lambda 控制台或 AWS CLI,您可以查看 Lambda 函数在 CloudWatch 日志组中生成的输出。为了在代码中打印日志,您可以使用 console.log 或 console.error 方法。这些方法将在 CloudWatch 中的 Lambda 日志组中生成日志消息。以下是示例代码:

-- -------------------- ---- -------
--------------- - ----- --------------- -
    --------------------- -------- --------------------- ----- ----
    ----------------- ----- ------------
    ----- -------- - -
        ----------- ----
        ----- ---------------------- -------------
    --
    ------ ---------
-

上面的代码中,我们在 Lambda 函数中使用 console.log 和 console.error 方法打印日志。这些日志将在 CloudWatch 日志组中生成,可以通过 AWS Lambda 控制台或 AWS CLI 查看。

在 CloudWatch 中查看 Lambda 函数日志

您可以使用 AWS Lambda 控制台或 AWS CLI 查看 Lambda 函数在 CloudWatch 日志组中生成的日志消息。

使用 AWS Lambda 控制台查看日志

在 AWS Lambda 控制台中,选择您的 Lambda 函数,然后选择 “监视” 选项卡。在 “监视” 选项卡中,您可以看到 Lambda 函数的指标和日志。在日志部分,您可以从日志组和日志流中选择日志消息。

使用 AWS CLI 查看日志

使用 AWS CLI,您可以使用以下命令拉取 Lambda 函数的日志消息:

此命令将打印指定日志流上自上次查询以来的新日志消息。

使用 CloudWatch Logs Insights 查询 Lambda 函数日志

使用 CloudWatch Logs Insights,您可以编写复杂的查询,过滤和分析 Lambda 函数的日志消息。默认情况下,Logs Insights 将启用格式化解析器以识别 JSON 格式的日志消息,并将这些消息转换为可查询的字段。

以下是一个示例查询:

这个查询将返回最近的 20 条包含 “ERROR” 关键字的日志消息,并按时间戳倒序排序。

在使用 CloudWatch Logs Insights 进行查询之前,您需要确保已启用 Lambda 函数的自定义日志格式。要启用此功能,请将环境变量设置为以下内容:

Key Value
AWS_LAMBDA_LOG_GROUP_NAME /aws/lambda/$LAMBDA_FUNCTION_NAME
AWS_LAMBDA_LOG_STREAM_NAME $LAMBDA_FUNCTION_NAME/$LAMBDA_FUNCTION_VERSION

结论

跟踪 Serverless Lambda 函数日志是开发和管理 Serverless 应用程序的一个关键方面。在本文中,我们学习了如何在 CloudWatch 中查看 Lambda 函数日志,以及如何使用 CloudWatch Logs Insights 查询和分析日志消息。通过深入了解这些技术,您可以更好地理解 Lambda 函数的运行状况,并更有效地调试和监控 Serverless 应用程序。

来源:JavaScript中文网 ,转载请注明来源 https://www.javascriptcn.com/post/6747c686555db9718d19cb74

纠错
反馈