0

私はlogstash / grokパターンの初心者です。

私のログファイルには、次のような形式の行があります。

::ffff:172.19.7.180 - - [10/Oct/2016:06:40:26 +0000] 1 "GET /authenticator/users HTTP/1.1" 200 7369

grok コンストラクターを使用して %{IP} に一致する単純な IP パターンを使用しようとすると、部分一致のみが表示されます。

after match:    .19.7.180 - - [10/Oct/2016:06:33:58 +0000] 1 "POST /authenticator/searchUsers HTTP/1.1" 200 280

そのため、「一致後」の部分には IP アドレスの残りの部分がまだ表示されているため、IP アドレスの一部のみが一致しました。

クエリ: 1. IP アドレス ::ffff:172.19.7.180 のこの形式は何ですか? 2. この問題を解決して、IP アドレスが正しく解析されるようにするにはどうすればよいですか?

ところで、私はこの形式で IP アドレスを出力している nodejs ミドルウェア morgan logger を使用しています。

4

2 に答える 2

2

ログにはコロンで区切られた IPv4 と IPv6 の両方のアドレスが含まれているため、使用する必要がある正しいパターンは次のとおりです。

%{IPV6:ipv6}:%{IPV4:ipv4}

次に、イベントには 2 つのフィールドがあります。

"ipv6" => "::ffff"
"ipv4" => "172.19.7.180" 

これは、この問題が解決されるまで機能します。

于 2016-10-17T11:01:46.300 に答える