在Elastisearch中实施电子邮件提醒的最佳方式是什么?

时间:2015-12-10 19:41:27

标签: elasticsearch elasticsearch-plugin

我们将构建一个在AWS中运行的新工作板类型站点,我们正在使用Elastisearch来完成所有工作和候选搜索功能。

该网站将提供电子邮件提醒。 1)候选人可以设置警报,以便发布与某些关键字匹配且在特定邮政编码的X英里范围内的新作业将通过电子邮件发送给他们。 2)招聘人员将能够设置提醒,以便将特定邮政编码X英里内某些关键字的简历通过电子邮件发送给他们

是否有开源代码可以让我们入手?

我已经通过Elastic.co阅读了一些关于Watcher的信息,但我们正在自我引导并试图找到一个低成本的解决方案。我会ping Elastic以了解他们的前期费用......

是否有人构建了一个可扩展的Web应用程序,每天可以使用Watcher或其他一些警报工具处理数以万计的警报?

THX,

布伦特拜尔斯

1 个答案:

答案 0 :(得分:4)

如果您不想使用Watcher(还原),下一个可用选项是深入了解percolate API(+ older blog post on the subjectmore recent one)以实现“观察”部分并在您自己的代码中处理“警报”部分。

有些人在做什么的例子:

  1. 您可能想要查看Yelp创建的ElastAlert,哪些应该可以帮助您。

  2. Toplog uses percolate API,以便在特定日志模式为索引时获取警报。他们还创建了percolator Logstash output,以便在文档被索引后立即渗透,并将匹配的渗透查询存储到redis(或者你有什么)。一些Logstash人员已经拥有same idea,可能会认为该插件是一个可行的选择。

  3. another example只要新索引的产品与给定的查询匹配,就会发送电子邮件。

  4. 如果你多挖一点,你肯定会找到更多的例子。但总的想法总是一样的:

    1. 使用percolate API存储作业/候选人查询
    2. 渗透新工作/候选人文件
    3. 如果在步骤2中找到匹配的查询,则发送警报。
    4. 最后,Kibana中有一个您可能还想看的integrating an alerting system未解决的问题。

      更新(2016/05/04)

      我决定创建一个支持ES Percolate API的Logstash过滤器。它类似于Toplog人员所做的,但它作为过滤器运行,以丰富事件,而不是作为redis的输出运行。

      您可以在以下网址找到更多信息:https://github.com/elastic/logstash/issues/2187#issuecomment-216760668