2017-08-02 11 views
0

こんにちは私はELKとGROKパターンに新しいです。以下はGROKパターンを作成するログファイルラインです。私が必要とするフィールドは、 '='の前にSplunkによって解析されます。GROKパターンのヘルプが必要です

01 Aug 2017 17:58:19,048 INFO ProfileAspect[{applicationSystemCode=appname, clientIP=10.x.x.x, clusterId=Cluster-Id-NA, containerId=Container-Id-NA, correlationId=536bacc1-1b50-3866-5c8c-8d0efa037f8f, domainName=defaultDomain, hostName=ip-x-x-x.domain.com, messageId=10.x.x.23-e2250a0e-b706-4e95-8e11-5b9bf310eabd, userId=ANONYMOUS, webAnalyticsCorrelationId=66D276FF1489DFF845056FD915664268|F90B27374FD5E26D2566CEE3AFDA3AB0}]: class com.provider.base.v1.HomeBaseApiConsumer.searchTasks execution time: 15 ms 

この例では、最後の15 msに表示される実行時間も取得します。

私は明らかに動作していないこのGROKパターンを考え出しました。言及したカスタムパターンのための文書を1として

%{MONTHDAY} %{MONTH} %{YEAR} %{TIME},%{NUMBER:duration} %{WORD:loglevel} %{WORD:Activity} [{%{(“applicationSystemCode”= \w)} 

は、(?ここでは パターン)

私の更新GROKパターンが

%{MONTHDAY} %{MONTH} %{YEAR} %{TIME},%{NUMBER:duration} %{WORD:loglevel} %{WORD:Activity} \[\{(?<applicationSystemCode>\W\w+\W\w+) 

である私はregex101.com1で正規表現をテストしていることgrok Debuggerでは動作しません。

どのような体でも役に立ちますか?

答えて

0

以下のgrokパターンは、applicationSystemCodeと実行時間を取得します。必要に応じて、同じ方法で他のフィールドもキャプチャできます。

%{MONTHDAY}%{YEAR}%{TIME}%{LOGLEVEL:loglevel}%{WORD:Activity} [{applicationSystemCode =%{WORD:applicationSystemCode}%{GREEDYDATA:msg}実行時間:%{GREEDYDATA:time}

これが役に立ちます。

+0

ありがとう、しかし、私は '='記号で区切られたすべてのフィールド値のペアをキャプチャする必要があります。 –

0

これは私が私のGROKパターンをデバッグするために使用オンラインデバッガです:「\」https://grokdebug.herokuapp.com/

特殊な正規表現文字をエスケープするためのものです。

これは一例ですが、私はあなたがここから続けることができると信じて:

%{MONTHDAY} %{MONTH} %{YEAR} %{TIME} %{LOGLEVEL:loglevel} %{WORD:Profile}\[\{applicationSystemCode=%{DATATYPE:NAMEYOUGIVE} 

私は明らかだったし、これはあなたを助け願っています。

+0

ありがとう、しかし、私は '='記号で区切られたすべてのフィールドの値のペアをキャプチャする必要があります –

+0

あなたは大歓迎です。次のようなパターンを続けて入力することができます:%{MONDDAY}%{MONTH}%{YEAR}%{TIME}%{LOGLEVEL}%{WORD} \ [applicationSystemCode =%{WORD:SystemCode}、clientIP =% {CHOOSEDATYPE:ClientIp}、clusterId =%{CHOOSEDATATYPE:clusterId}、またはこれが動作するかどうかわからない場合は、kvフィルタを探すことができます。これは、フィルタを自動的に解析するためのものです。ここにkvフィルタのリンクがあります:https://www.elastic.co/guide/en/logstash/current/plugins-filters-kv.html –

+0

ありがとう、私はKVフィルタを使いました。それはチャンピオンのように機能しました。 :) –