2017-10-19 19 views
1

ElastAlertフレームワークを使用してflatlineアラートタイプを作成しています。ElastAlertフラットラインで結果が見つかりません

私はKibana UIで全く同じ構文でクエリを使用しても結果は返されますが、ElastAlertは結果を返しません。

はここ

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のものと一致しているように見える私のelastalertルール-file.xmlです。

しかし、_exists_の2番目のクエリでlucene構文を使用してクエリを使用しようとすると、ElastAlertは何も返しません。一方、Kibanaは構文が正常であるようです。

アイデア?

答えて

0

私はそれを得ました...答えを投稿するのを忘れてしまった。

query: "_type:metric AND _exists_:My\\ Field\\ With\\ Spaces.value" 

さらに、あなたはAnsible(YAMLに)必要な設定を使用している特殊なケースには:あなたが問題になっている行はこのようになりますので、バックスラッシュをエスケープする必要があり、スペースを持つフィールド用どうやら

各バックスラッシュをエスケープするためにバックスラッシュを追加します。

のでYAMLファイルのエントリは次のようになります。

query: "My\\\\ field\\\\ With\\\\ Spaces.value" 
関連する問題