Elastalert白名单/黑名单无法正常工作

时间:2017-01-19 23:28:37

标签: elasticsearch elastalert

所以我在(Yelp的)Elastalert中运行了某个查询,我试图过滤掉包含多个关键字之一的日志。如果我使用docker run -d --name webapp -p 7007:7007 -p 7003:7003 -p 5556:5556 -v /c/webapp:/webapp 1213-domain 规则类型,我会得到一组与我所拥有的特定查询相匹配的30个匹配项。当我将ruletype更改为白名单时:

any

即使我知道消息字段包含列出的字符串,我仍然会得到相同的30个匹配项。我也尝试使用与整个字段完全匹配的字符串来更改比较键或字符串,我已将格式更改为

type: whitelist
compare_key: message
ignore_null: true
whitelist: ["exclude_strings"...]

并没有什么有所作为。黑名单类型也会发生同样的情况。

我错过了什么?

1 个答案:

答案 0 :(得分:1)

经过进一步测试,结果表明上述任何一种格式都能正常工作。我认为它不起作用的原因是我正在查看Elastalert状态中的hits术语。相反,我应该看看matches一词。搜索返回了相同数量的hits,因为查询每次都相同,但似乎matches项来自ElasticSearch,而不是来自Elastalert本身。

即,Elastalert将完整查询发送到ElasticSearch,然后根据白名单术语对返回的数据进行过滤。 hits每次都会相同,但匹配取决于白名单。如果将realert设置为零,您将看到生成的警报数与matches的数量相同。