ELKとGrokフィルタリングにはかなり新しく、grokフィルタでこの特定のパターンを解析するのに苦労しています。時間カウンタのGrokフィルタHH:MM
私はこれを試して解決するためにgrok debuggerを使用しましたが、私はこのツールを気に入っていますが、私はちょうどカスタムパターンで混乱します。
最終的には、filestatがlogstashに送る多くのログファイルを解析し、解析されたログをelasticsearchに送信し、kibanaまたは類似の視覚化ツールを使用して表示することを望みます。
Iは、次のパターンに従う解析する必要がある行:
1310 2017-01-01 16:48:54 [325:51] [326:49] [359:57] Some log info text
- 最初の4桁は、ログタイプ識別子であり、グループ化のために使用されるであろう。私はフィールド "LogLineID"と呼ばれています。
- 日付はYYYY-MM-DD HH:MM:SSと書式設定され、okと解析されます。フィールド "LogDate"と呼んだ。
- しかし、今問題が始まります。大括弧の中には、好きなようにMM:SSとしてフォーマットされたカウンターがあります。私の人生はこれらを整理する方法を見つけることはできませんが、私はこれらの時間を比較する必要があるので、数字だけでなく数分で保存したいと思います。
- 最初は
- 第二カウンタ「TimeStarted」と
- 第三のカウンタ「TimeSinceDown」であり、「TimeSpent」カウンタです。
- 最後に、%{GREEDYDATA:LogInfo}を単に適用してgrokを管理した情報テキストがあります。
、私は分の量が時間以内に標準の60分よりもはるかに高い可能性があることに気づくので、私は、このようなTIMESTAMP_ISO8601として日付パターンとそれを解析しようと、ここで間違ったツリーを吠えてもよいが、私は本当にこれをどうやって行うのか分かりません。
だから、私はこれまでのところに来た:
%{NUMBER:LogLineID} %{TIMESTAMP_ISO8601:LogDate}
をし、(角括弧の部分を切り欠いて)することが述べたように作成すること
%{GREEDYDATA:LogInfo}
でログ情報テキストを解析しましたフィールドLogInfo。
しかし、それは私が立ち往生していたことです。誰かが残りの部分を把握するのを助けてくれますか?
大変ありがとうございます。
PS!私も%{NUMBER:duration}を見つけましたが、コロンではなく、ドットでタイムスタンプを解析することしかできませんでした。