2016-05-24 8 views
0

Logstashで文字列の束を解析しようとしていて、出力がElasticSearchとして設定されています。Logstashカスタムメッセージのフィルタ

サンプル入力文字列がある:2016年5月24日10時20分15秒 "新しいフォルダを作成し、" CREATE USER1

GROKフィルタである:

マッチ=> { "メッセージ" => "%{SYSLOGTIMESTAMP:タイムスタンプ}%{WORD:ユーザ}%{WORD:action_performed}%{WORD:action_description}"}

Elasticsearchにおいて、Iは、timstampとして異なるフィールドの別々の列を見ることができないです、ユーザー、アクション実行など

代わりに、文字列全体が単一の列 "メッセージ"の下にあります。

情報を1つの列ではなく別々のフィールドに保存したいと考えています。

希望するとおりに達成するために、ログシャッシュフィルタで何を変更するべきかわかりません。

ありがとうございます!

答えて

0

grokパターンを変更する必要があります。つまり、WORDの代わりにQUOTEDSTRINGを使用すると効果があります。

match => { "message" => "%{SYSLOGTIMESTAMP:timestamp} %{WORD:user} %{WORD:action_performed} %{QUOTEDSTRING:action_description}"} 
関連する問題