2017-08-03 17 views
0

ためGROKフィルタを書く、私は次のログファイルを持っている私のユースケース

、上記ログの[DEBUG] [こんにちは]

[2017年7月7日11:30.794:41]私は下の図のようにgrokフィルタを書いています。 と一致=> {"メッセージ" => "[%{LOGIMVEL:logLevel}] [%{WORD:machineName}]"}

しかし、ログの最後の部分が少し変わった別のシナリオがあります。

[2017年7月7日11:41:30.794] [DEBUG] [C:0:O:1]このため

iが適切GROKフィルタを記述することができません。

HOSTNAME Iは

マッチ=> { "メッセージ" => "[%{LOGLEVEL:ログレベル}] [%{HOSTNAME MACHINENAME}] [タイムスタンプ}%{TIMESTAMP_ISO8601]"}、以下試み動かない。使用するキーワードを教えてください。 0:

+0

を提案することに役立つだろうES、。あなたのmachineNameにマッチさせたくない場合は、単に「GREEDYDATA」を使用してください。 – Fairy

+0

マシン名の後にいくつかのパターンがあります。私はちょうどその一部を述べました。** C:0:O:1の正確なキーワードは何ですか? ** –

+0

@Fairyブラケットをスキップしています..しかし、私がここに貼り付けると、その表示されていないことはわかりません。おかしいです。しかし、私のlogstashフィルタの構文は正しいです。それについて心配しないでください –

答えて

0

あるVinod、あなたは[Cのようなものを得る場合には、また

ニキル

+0

私の入力がC:0:O:1の場合、HOSTNAME:machineNameはそれを解析できません。 私の入力がC:0:O.1の場合、HOSTNAME:machineNameはそれを解析できます。 HOSTNAME:machineNameにはすでに存在しています...それを解決する方法があるからですか?ここで助けてください –

0

を動作するはず

\[%{TIMESTAMP_ISO8601:TimeStamp}\]\[%{LOGLEVEL:logLevel}\]\[%{HOSTNAME:machineName}\] 

のような\と[、]ブラケットをスキップしようとする場合があります:O:1]を指定すると、

と表示されます。
\[%{GREEDYDATA:machineName}\] 

ただし、ログラインサンプルあなたのブラケットをエスケープしていないので、あなたのgrokstringsの両方は、単に動作しません正しいパターン

ニキル

+0

私はマシン名の後に他のフィールドがあるので、私は貪欲なデータを使用できません。私は完全なフィルタをここに貼り付けます** match => {"message" => "\ [%{TIMESTAMP_ISO8601:TimeStamp} \] \ [%{LOGLEVEL:logLevel} \] \ [%{HOSTNAME:machineName} \] \ [%{単語{コマンド名} \] "} ** –

+0

machineNameの場合、i C:0:O:1を与えると、うまくいきません。しかし、私はC - 0 - O - 1を与える場合、それは動作します..しかし、私はC:0:O:1を解析することができる適切なキーワードを知りたい。 –

+0

私は角括弧をスキップしています..しかし、私がここに貼り付けるとき、私はそれが表示されていないことを知らない。おかしいです。しかし、私のlogstashフィルタ構文は正しいです..それについて心配しないでください –

関連する問題