【问题标题】:Email alert with Logstash使用 Logstash 的电子邮件警报
【发布时间】:2015-08-05 11:49:45
【问题描述】:

我已经配置了一个 elk 堆栈(Logstash、Elastic search 和 kibana),并且我们有一个自定义日志文件,如下所示。

05/August/2015:16:55:10 : www.****.com : statuscode = 200 : 时间 加载秒数 = 0.734 05/August/2015:16:55:11 : ****.my : statuscode = 403:加载时间(以秒为单位)= 0.340 05/August/2015:17:00:01:www。 ****.mx:状态码 = 200:加载时间(以秒为单位)= 2.282 05/August/2015:17:00:03:www。 ****.my : statuscode = 200 : 时间 加载秒数 = 2.663 05/August/2015:17:00:06 : www. ****.co.id: statuscode = 200 :加载时间(以秒为单位) = 1.455 2015 年 8 月 5 日:17:00:08:****。 ****.my : statuscode = 200 : 时间 加载秒数 = 1.684

我已在 logstash 上成功配置了此日志,并且它在 Kibana 中正确显示。 现在我想配置一个电子邮件警报,如果日志中的任何上述网站连续显示 504 或 403 状态代码超过 5 个计数。 我知道我需要添加一个匹配日志文件模式的过滤器。但由于这是自定义日志,我无法做到。

【问题讨论】:

    标签: logstash logstash-grok elastic-stack


    【解决方案1】:

    最好的方法是编写自己的脚本,我是用 Python 完成的。

    以下是必需的:

    • 脚本将被调度并在 Elasticsearch 中搜索结果。
    • 一旦找到结果,您将触发反应。
    • 如果您有一个监控系统,您可以向该系统发送一个触发器以拥有一个集中式界面。
    • 如果您只想要一封电子邮件,您可以使用 python 发送一封电子邮件,其中包含发现的错误数量、服务器名称和任何其他有助于调试问题的信息。
    • 如果您每 10 分钟运行一次脚本,它应该在 Elasticsearch 数据库中查找过去 10 分钟的事件,如果您每小时运行一次,那么它应该查找过去一小时的数据。
    • 您可以使用 cron 来安排脚本,但您需要找到一种方法来监控它以防它失败,我为此使用 rundeck,如果我的一个作业失败,它会向我发送一封电子邮件。

    我知道它可能看起来很复杂,但是如果您使用的是 logstash 基础架构,那么编写这个脚本是值得的,并且一旦编写好它就可以很容易地调整它以适应不同的搜索。

    另一种选择可能是等待 Elastic 的 watcher 插件,从他们网站上的帖子中,他们计划在正式 GA 版本发布后为其添加 GUI 界面,我不知道什么时候会发生但它可能是一个更好的解决方案,即使它比使用 python 更受限制。

    【讨论】:

      【解决方案2】:

      【讨论】:

        【解决方案3】:

        由于您的情况有点复杂(随着时间的推移,不同响应代码的计数)我会劝阻不要使用 logstash。

        然而,这正是 elasticsearch 插件 Watcher 的用途。您可以使用 Watcher 到 search for specific response codesspecify conditions(例如,计数超过 5 个)并安排到 send an email

        我建议你看看 elastic 的watcher introduction。我很确定它会适合你的目的。

        【讨论】:

        • 如果您没有能力支付支持以获取观察者,那么编写自己的投票也很容易。
        【解决方案4】:

        您可以使用像 Logz.io 这样的服务来帮助您做到这一点。如果您每天最多发送 1GB(每月 30GB),则它是免费的。

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2019-03-21
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          相关资源
          最近更新 更多