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

pgccezyw  于 2021-06-15  发布在  ElasticSearch
关注(0)|答案(1)|浏览(490)

目前,我正在使用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"
}

现在有没有办法从文档中选取电子邮件并向其发送电子邮件?
我是说example@gmail.com 邮件应该寄到sample@gmail.com.

jvlzgdj9

jvlzgdj91#

对于向正在通过elastalert规则的文档的某个字段中存在的邮件发送警报,我们可以使用内置的功能调用

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是必需的参数,如果email\u from\u字段参数中没有有效的邮件id,则将使用该参数。
因此,在上述规则中,警报将发送到sample@gmail.com

相关问题