email - Elastalert使用字段值作为电子邮件警报中的地址

标签 email elasticsearch kibana elastic-stack elastalert

目前,我正在使用Elasticsearch存储数据,使用Kibana进行可视化,使用elastalert进行警报。
这是使用黑名单规则的电子邮件警报的工作规则。

name: email blacklist rule

type: blacklist

index: subjects

compare_key: subject

blacklist:
- "Hindi"

alert:
- "email"

email:
 - "example@gmail.com"
当我在规则中对电子邮件地址进行硬编码时,此规则可以正常工作。
这是elasticsearch索引的文档之一:
{
  "subject" : "Hindi",
  "@timestamp" : "2020-08-19T12:23:00.000Z",
  "mail_to" : "sample@gmail.com"
}
现在有什么方法可以从文档中提取电子邮件并将其发送给它?
我的意思是应该将邮件发送到sample@gmail.com,而不是example@gmail.com。

最佳答案

要将警报发送到正在通过elastalert规则的doc字段之一中显示的邮件,我们可以使用内置功能调用

email_from_field: "fields_that_consists_emailid"
这是索引中的文档之一:
{
  "subject" : "Hindi",
  "@timestamp" : "2020-08-19T12:23:00.000Z",
  "mail_to" : "sample@gmail.com"
}
这是它的工作规则:
name: field value rule

type: blacklist

index: subjects

compare_key: subject

blacklist:
- "Hindi"

alert:
- "email"

email:
 - "example@gmail.com"
 
email_from_field: "mail_to"

在上述规则中,电子邮件是必填参数,如果在email_from_field参数中没有有效的mail-id时将使用该参数。
因此,在上述规则中,警报将发送到sample@gmail.com

关于email - Elastalert使用字段值作为电子邮件警报中的地址,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/63487573/

相关文章:

elasticsearch - ElasticSearch无法从字符串转换为ElasticClient.searchRequestparameters

elasticsearch - 如何使用Elasticsearch 5.5.1为文件建立索引

python - 在 1&1 上通过 Python/django 发送电子邮件

java - Android - Firebase - 电子邮件地址格式错误

html - 如何使我的地址格式正确?

javascript - jQuery 使用同一数组查找并删除数组中的字符串

templates - 创建针对特定索引ES 6.x的Elasticsearch模板

elasticsearch - 应用多个过滤器,使用 elasticsearch 聚合到单个指标中

elasticsearch - 如何在 Kibana 发现页面中添加时间范围过滤器?

elasticsearch - 问题ELK:ElasticSearch + kibana + Searchguard