2017-01-19 7 views
0

(Yelpの)Elastalertで特定のクエリを実行していて、いくつかのキーワードの1つを含むログをフィルタリングしようとしています。 anyルールタイプを使用すると、私が持っている特定のクエリに対して30個の一致のセットが得られます。私はホワイトリストにのRuleTypeを変更する場合:Elastalertホワイトリスト/ブラックリストが機能しない

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

私はまだ私がメッセージ欄には記載されている文字列が入っていることがわかっている場合でも、同じ30試合を取得します。私もまさにフィールド全体に一致する文字列を使用して、比較キーまたは文字列を変更しようとしました、私は

whitelist: 
- "string" 
... 

に書式を変更しましたし、何も違いを行っていません。同じことがブラックリストタイプでも起こります。

私には何が欠けていますか?

答えて

1

さらにテストしたところ、上記のいずれのフォーマットも正しく動作することが判明しました。私はそれが働いていないと思った理由は、私がElastalertステータスでhitsという用語を見ていたことです。代わりに、私はmatchesという用語を見ていたはずです。クエリは毎回同じクエリだったので、同じ番号のhitsが返されましたが、matchesという用語はElasticSearchではなくElastalert自身から来ているようです。

つまり、ElastalertはElasticSearchに完全なクエリを送信し、ホワイトリストの用語に基づいて返されたデータをフィルタリングします。 hitsは毎回同じですが、一致するのはホワイトリストによります。 realertをゼロに設定すると、生成されたアラートの数はmatchesの数と同じになります。

関連する問題