【问题标题】:Monitoring AWS Lambda errors监控 AWS Lambda 错误
【发布时间】:2020-09-22 06:03:22
【问题描述】:

我想查看两种类型的 AWS lambda last hour 错误:

  • 以错误结束的 Lambda 函数
  • Lambda 函数返回 http 500

我该怎么做?

【问题讨论】:

    标签: aws-lambda


    【解决方案1】:

    如果您有许多 lambda,则可能难以准确识别是哪个 lambda 导致了错误。即使您有数百个 lambda,也可以通过以下方法找到它。

    在 CloudWatch 中,转到 Metrics 页面,然后转到 Graph Metrics 选项卡,然后导航到下拉菜单项“Math expression > Search > Lambda Throttles or Errors”。

    这将为您提供图表中每个 lambda 的错误计数,将鼠标悬停以获取违规 lambda 的名称。

    【讨论】:

    • 有什么方法可以获得包含错误的日志列表?有时当 lambda 每分钟调用 10000 次时很难找到它们
    • 我们有接近 2K 的 lambda 函数,所以这对我们不起作用。我们收到一个错误,“超出了允许的最大指标数”
    【解决方案2】:

    在您启动 AWS Lambda 项目后,CloudWatch 会自动监视该项目。

    以错误结束的 Lambda 函数

    您可以从 Lambda 默认视图的监控选项卡中查看 Lambda 函数错误。

    Lambda 函数返回 http 500

    我猜你的 Lambda 函数是 WEB API。如果您的 WEB API 由 Lambda 函数创建,您需要使用标准输出输出日志,以便在 CloudWatch 上查看日志记录。

    请从Accessing Amazon CloudWatch Logs for AWS Lambda查找文件

    【讨论】:

      【解决方案3】:

      注意:如果您使用serverless

      或者,您可以使用无服务器 cli 监控 lambda 函数日志。

      例如,获取过去 1 小时的日志:

      sls logs -f functionName --startTime 1h
      

      您也可以根据过去 1 小时内的字符串 'error' 进行过滤:

      sls logs -f functionName --startTime 1h --filter error
      

      请查看the doc

      【讨论】:

      • 这仅适用于 OP 使用 serverless 的情况。您能否将其添加到您的答案中,以便未来的读者不会感到困惑?
      • @dashmug 感谢您的更正!已经更新了我的答案。
      【解决方案4】:

      您可以从 lambda 仪表板启用 X 射线跟踪

      Lambda Console Enable X-Ray Tracing

      X-Ray 服务显示 lambda 执行结果的跟踪映射。该服务非常适合检查 lambda 函数中的错误结果,但如果您正在寻找详细的错误结果日志,CloudWatch 是您的最佳选择。

      【讨论】:

        【解决方案5】:

        您也可以尝试类似Logbird 的方法,它会针对 AWS Lambda、API Gateway 和其他云服务中的所有错误处理 CloudWatch 流,并可以触发通知。

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2017-02-11
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          相关资源
          最近更新 更多