ElastAlert flatline找不到结果
问题描述:
使用ElastAlert框架创建一个flatline
警报类型。ElastAlert flatline找不到结果
当我用完全相同的语法在Kibana UI中使用查询时,它返回结果,但ElastAlert没有返回任何结果。
这里是我的elastalert规则-file.xml
name: Test Flatline
type: flatline
run_every:
seconds: 15
relalert:
minutes: 0
es_host: localhost
es_port: 9200
threshold: 1
timeframe:
minutes: 5
index: my-index-*
filter:
- query:
query_string:
query: "_type:metric" # this returns results in both kibana and elastalert
#query: "_type:metric AND _exists_:My\ Field\ With\ Spaces.value" # this returns results in kibana but not in elastalert
timestamp_type: unix_ms
alert:
- command
command: ["my-bash-script.sh"]
于是,我就玩的查询,如果我只需指定_type:metric
然后在Kibana搜索结果似乎以匹配ElastAlert。
但是,当我尝试在第二个查询中使用带有_exists_
lucene语法的查询时,ElastAlert不会返回任何内容,而Kibana似乎对语法没有问题。
任何想法?
答
我明白了......只是忘了发表一个答案。
显然为现场与大家需要逃避反斜杠所以在这个行应该是这样的空间:
query: "_type:metric AND _exists_:My\\ Field\\ With\\ Spaces.value"
此外,在特殊情况下使用的是你需要Ansible(YAML)配置添加反斜杠以转义每个反斜杠。
所以在YAML文件中的条目将是这个样子:
query: "My\\\\ field\\\\ With\\\\ Spaces.value"