私はいくつかのパターンに一致するログをフィルタリングしようとしています。例えば:私は抽出する基本的パターン:複数の定義済みパターンのlogstashでのGrokフィルタリング
E/vincinity/dholland_view_sql_global/IN/Cluster_Node/SSL-CACHE/Dsal1
F/vincinity/dholland_view_sql_local/IN/Cluster_Node3/SSL-CACHE/Dsal4
R/vincinity/dholland_view_sql_bran/IN/Cluster_Node /サンプル/ vr1.log
は、今私は丸太の束から、これらの3つのパスをgrep検索したいですそれは単に*vincinity*sql*IN*
だろう正規表現を持つように、「vincinity」「SQL」と「IN」を含むログは、私はこのGROKフィルタを試している:
grok {
match => { "Vinc" => "%{URIPATHPARAM:*vincinity*sql*IN*}" }
}
は、その後、私はkibanaで_grokparsefailureを取得する - 私は完全に理解する新しいブランドです、だからおそらく私はこれに近づいていないctly。
GROKフィルタが動作するはず方法はmessage
である
grok {
match => {
"message" => "%{PATTERN:named_capture}"
}
}
ある:GROKパターンのgrok filter documentation
構文から
あなたの表現は近いです。 '(?。*?vincinity。*?sql。*?IN。*)'はおそらくあなたのためにうまくいくでしょう。 '。*? '構造体は'。* 'の非貪欲型構造であり、結果として幾分良い結果を出さなければなりません。より少ない部分文字列検索。 –
sysadmin1138