web-dev-qa-db-ja.com

Kibana / ELKで「存在しない場所」タイプのフィルタリングを行う方法

ELKを使用して、ログファイルからダッシュボードを作成しています。 id値と「success」/「failure」値を含むエントリを含むログファイルがあり、特定のidの操作が成功したか失敗したかを表示します。各操作/ IDは、無制限の回数失敗し、最大で1回成功します。 Kibanaダッシュボードでは、各操作IDの「失敗」値を含むログエントリの数を表示しますが、IDの「成功」ログエントリが存在する場合は除外します。すなわち、私は成功しなかった操作にのみ興味があります。これを達成するトリックのヒントはありますか?

31
Anton Kupias

これは、Kibana 5の検索バーでは簡単です。フィルターを追加するだけです

!(_exists_:"your_variable") 

フィルタを切り替えるか、逆クエリを次のように記述できます。

_exists_:"your_variable"

Kibana 4およびKibana 3では、このクエリを使用できますが、このクエリは非推奨になりました

_missing_:"your_variable"  
86
Mlalahoi

! (_exists_:NAME)が機能していません。私はからの提案を使用します:

https://discuss.elastic.co/t/kibana-5-0-0--missing--is-not-working-anymore/64336

NOT _exists_:NAME

[〜#〜] update [〜#〜]私が直面した問題は、ES構文が否定演算子の後のスペースを禁止することです。次のいずれかを使用します。

NOT _exists_:FIELD
!_exists_:FIELD
-_exists_:FIELD

チュートリアルを確認: https://www.timroes.de/2016/05/29/elasticsearch-kibana-queries-in-depth-tutorial/

3
gavenkoa