0

ログをカスタム形式で解析するのを手伝ってもらいたいです。ログ形式を調べるためにhttp://grokdebug.herokuapp.com/を使用しようとしましたが、残念ながら成功しませんでした。ログの形式は次のとおりです。

#AdressHost#TypeLogs|OrganizationName|user@mail.com|CallMethod|ExecutionTimeOnDB|ExecutionTimeOnAppServer|Date Time

例えば:

#mac.frozm.com#CallInfo|Jonsens|jack.lellow@jonsens.com|GetTotalsInfo|19|3|2014-05-11 07:49:10

私は次のパターンを使用しようとします:

#%{URIHOST}#CallInfo|Jonsens|%{USER:auth}@%{URIPROTO}|GetTotalsInfo|%{NUMBER:duration}|0|%{DATESTAMP} %{TIME}

しかし、Logstash は「_grokparsefailure」をスローし続けます。Logstash ツールでログを解析するための別の方法を教えてください

4

1 に答える 1

1

この部分:

GetTotalsInfo|19|3|

あなたのパターンのこの部分と一致していないようです:

GetTotalsInfo|%{NUMBER:duration}|0|

パターンで 0 を指定すると、例では 3 になります。

grok パターンを構築する際の一般的なアドバイスを次に示します。一度にパターンの小さな部分を行い、大きなパターンを構築する前に、最初にそれらが機能するかどうかを確認します. これを使用して、問題を引き起こしているパターンをデバッグし、個々の部分を取り出してテストすることができます。

たとえば、次のようなパターンから始めて、それが機能するかどうかを確認してください。

"^#%{URIHOST}"

(^ は、先行する文字がないことを保証する正規表現アンカーです) そこから構築します。

これが役に立ったことを願っています!

于 2014-07-02T14:11:14.793 に答える