【问题标题】:What is the best possible way to send alerts to slack on lambda function failures?在 lambda 函数失败时向 slack 发送警报的最佳方法是什么?
【发布时间】:2020-10-29 19:19:32
【问题描述】:

据我所知,有多种方法可以做到这一点。我知道的一些方法是

  1. 监控 cloudwatch 事件并在 lambda 失败时触发 cloud watch 警报。使用云手表警报,我们可以触发 sns/slack。

使用第一种方法,我无法使用单个警报来监控我的 lambda。因为如果我有 100 个 lambda,则很难确定哪个 lambda 实际失败了。

  1. 使用目标。我们可以在失败时异步触发 sns 或其他 lambda 函数。

还有其他方法可以收到有关 lambda 失败的通知吗?如果是这样,哪种方法最好?

【问题讨论】:

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


    【解决方案1】:

    不确定“我不能使用单个警报来监控我的 lambda”是什么意思,通常每个 lambda 都有一个警报。这是一个很好的做法,因为每个 lambda 可能有一组不同的特征,因此您的监控指标可能会因一个而异。这也对您有所帮助,因为每个警报都可以有不同的名称,例如 service-stage-region-alarm-myFunction,因此很容易识别。如果您使用无服务器或 SAM 等框架,则可以轻松地为每个 lambda 生成一个警报,并且使用 terraform 或 cloudformation 等工具是一项合理的任务。

    如果您希望每个错误触发一个通知,则第二种方法可能是一种有效的方法。这可能不是您想要的,因为在交通繁忙的情况下,您不希望收到数百条具有相同错误的消息。它也不适用于同步 lambdas(如附加到 APIGateway 的那些)。

    【讨论】:

      【解决方案2】:

      @RoberMP 列出了非常好的要点。延长他;

      创建具有不同配置、阈值和限制的单个警报后,您可能不想在每次故障后触发 SNS/Slack。

      如果您不想用这些警报制造太多噪音,您可以将您的第一种方法与composite alarms 结合起来。

      使用复合警报可以帮助您减少警报噪音。如果您设置了复合警报来通知您状态变化,但将基础指标警报设置为不自行发送通知,则仅当复合警报的警报状态发生变化时才会通知您。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2023-01-28
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2021-03-16
        • 1970-01-01
        相关资源
        最近更新 更多