2017-10-11 11 views
1

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}を見つけましたが、コロンではなく、ドットでタイムスタンプを解析することしかできませんでした。

答えて

0

ああを助けますが、スペースは実際に、私のように、私の質問に私とみんなに誤解された。..いた願っていますそれは問題を引き起こしていたログラインではありませんでした。私はちょうど問題を本当にどこに実現したのではなく、最初のものを取ったが、問題の原因となっているのは角括弧内にスペースがあった。[ 42:31]。 2つのがありスペースがあるいくつかの部分でもあるので、私はこの問題を解決するために管理方法が\[%{NUMBER}%{SPACE}を含めるようにした。

%{NUMBER:LogLineID} %{TIMESTAMP_ISO8601:LogDate} \[%{SPACE}%{NUMBER:TimeSpentMinutes}\:%{NUMBER:TimeSpentSeconds}\] \[%{SPACE}%{NUMBER:TimeStartedMinutes}\:%{NUMBER:TimeStartedSeconds}\] \[%{SPACE}%{NUMBER:TimeSinceDownMinutes}\:%{NUMBER:TimeSinceDownSeconds}\] %{GREEDYDATA:LogText} 

私はまだ分と秒のマージを解決していませんしかし、これは後の段階でも処理できます。

私の問題に関心を示してくれてありがとうLin Donに感謝し、早く返信しないのは残念です。

同じ種類の問題に取り組んでいれば、ソリューションは他の人(または自分自身)に役立つことを願っています。

自分自身に注意してください:grok'ingの前にもっと慎重にログを読んでください.. :)

0

grok正規表現は問題の解決に役立ちます。

最初に、[325:51] [326:49] [359:57]がフェッチしたい3つのコンポーネントであることを確認したいのですか?独自のカスタムパターンファイルを定義し、パターンを追加

  1. TimeSpent: 325:51 
    TimeStarted: 326:49 
    TimeSinceDown: 359:57 
    

    私はあなたが次の提案の上で私の方法を使用することができ、ポイントを取得しました。そして、それは次のように結果を返しますあなたのファイル。

  2. だけlogstash confファイルのフィルター部分に式を使用

は、それはあなたに

関連する問題