限られたリクエスト値のセットに関する情報を表示するダッシュボードを作成したい:
request:("/path1" OR "/path2" OR "/path3")
私がこれまでに試したこと:
ダッシュボードエディターを使用してこれを行う方法ですか、それとも[設定]-> [オブジェクト]-> [ダッシュボード]からjsonスクリプトを実行する必要がありますか?もしそうなら、この(エスケープされた)構文への良い参照を私に指摘できますか?
Kibana 3では、タイプ「どちらか」のフィルターを定義できます。この機能はKibana4に存在しますか?
Kibana4.0.2を使用しています
これがあなたの実際の質問に対する答えであるかどうかはわかりません。誰かが恩恵を受ける可能性があるので、とにかく書きます。Kibanaフィルター構文の例はグーグルでとらえどころのないものであることがわかりました。
[検出]タブでブールクエリの代わりにブールフィルターを定義して、検索フィールドを整理し、限られた値のセットでさらにフィルタリングを容易にしようとしています。
私は見つけました ドキュメントへのこのリンク ここでAND、OR、NOTフィルター構文が説明されています。少し実験した後、これは私にとってうまくいったものでした、例:
ログエントリを送信するサーバーの名前を含むHost
という名前のフィールドがあります。かなりの数のサーバーがあり、それぞれがいくつかの冗長グループの1つに属しています。サーバー「SERVER06
OR SERVER07
OR SERVER08
」によって生成されたログエントリのみをフィルタリングするには別個の冗長グループに属するB-Servers
次のようにORフィルターを作成できます:
{
"bool": {
"should": [
{
"query": {
"match": {
"Host": {
"query": "SERVER06",
"type": "phrase"
}
}
}
},
{
"query": {
"match": {
"Host": {
"query": "SERVER07",
"type": "phrase"
}
}
}
},
{
"query": {
"match": {
"Host": {
"query": "SERVER08",
"type": "phrase"
}
}
}
}
]
}
}
B-Servers
という検索として保存します。これで、フィルターされたリストが表示されます。ここで、さらに制限の厳しいフィルターを使用してサーバーを選択できます。すべてのサーバーがあり、quick count
が上位5つのエントリのみをリストする前は、1つを選択してから、ターゲットがリストにない場合は手動でフィルターを編集する必要がありました。
これは、他の文字列型フィールドにも役立つはずです。ドキュメントには、原則のデモンストレーションだけでなく、boolステートメントの配置のコンテキストを設定するために、さらにいくつかの例が含まれている必要があります。
このリンク は、フィルターとしてではなく、検索フィールドからブール値を実行する方法を示すのにも役立ちました。
[EDIT]以前の構文を機能させることができなかったため、Kibana5.2のアップデート。以下は5.2でトリックを行いました、私はそれを理解するために このリンク を使用しました:
{
"query": {
"bool": {
"should": [
{
"match": {
"Host": "SERVER06"
}
},
{
"match": {
"Host": "SERVER07"
}
},
{
"match": {
"Host": "SERVER08"
}
}
],
"minimum_should_match": 1
}
}
}
Kibana 4は完全に書き直されたものであり、Kibana3のすべての機能がまだ実装されているわけではないようです。 Kibana githubで「拡張」チケットを見つけました: https://github.com/elastic/kibana/issues/369
これで今のところ私の質問は終わりです。
ダッシュボードにORフィルターを追加できます。ダッシュボードは保存されたビジュアライゼーションから作成されるため、ビジュアライゼーションには、そのようなデータを反映するORを含むフィルターを追加できます。 。
あなたの質問の私の理解に従って、私は私の答えを投稿しています(私を訂正してください):-
それがあなたの質問に答えることを願っています:)