logstash解析IPV6地址
logstash parsing IPV6 address
我是 logstash / grok 模式的新手。
在我的日志文件中有一行格式如下:
::ffff:172.19.7.180 - - [10/Oct/2016:06:40:26 +0000] 1 "GET /authenticator/users HTTP/1.1" 200 7369
当我尝试使用简单的 IP 模式匹配 %{IP} 时,使用 grok 构造函数,它仅显示部分匹配:
after match: .19.7.180 - - [10/Oct/2016:06:33:58 +0000] 1 "POST /authenticator/searchUsers HTTP/1.1" 200 280
因此,只有部分 IP 地址匹配,因为 'after match' 部分仍然显示 IP 地址的剩余部分。
查询:
1、IP地址::ffff:172.19.7.180这个格式是什么?
2.如何解决这个问题,确保IP地址被正确解析?
顺便说一句,我正在使用 nodejs 中间件 morgan logger,它以这种格式打印 IP 地址。
请注意,日志包含 IPv4 和 IPv6 地址,用冒号分隔,因此您需要使用的正确模式如下:
%{IPV6:ipv6}:%{IPV4:ipv4}
那么在您的活动中您将有两个字段:
"ipv6" => "::ffff"
"ipv4" => "172.19.7.180"
这将一直有效,直到 this issue 得到解决。
这些 IP 地址采用 IPv4 嵌入式 IPv6 格式,%{IP}
不匹配。唯一的方法是使用 %{DATA}
或编写自己的正则表达式。
我是 logstash / grok 模式的新手。
在我的日志文件中有一行格式如下:
::ffff:172.19.7.180 - - [10/Oct/2016:06:40:26 +0000] 1 "GET /authenticator/users HTTP/1.1" 200 7369
当我尝试使用简单的 IP 模式匹配 %{IP} 时,使用 grok 构造函数,它仅显示部分匹配:
after match: .19.7.180 - - [10/Oct/2016:06:33:58 +0000] 1 "POST /authenticator/searchUsers HTTP/1.1" 200 280
因此,只有部分 IP 地址匹配,因为 'after match' 部分仍然显示 IP 地址的剩余部分。
查询: 1、IP地址::ffff:172.19.7.180这个格式是什么? 2.如何解决这个问题,确保IP地址被正确解析?
顺便说一句,我正在使用 nodejs 中间件 morgan logger,它以这种格式打印 IP 地址。
请注意,日志包含 IPv4 和 IPv6 地址,用冒号分隔,因此您需要使用的正确模式如下:
%{IPV6:ipv6}:%{IPV4:ipv4}
那么在您的活动中您将有两个字段:
"ipv6" => "::ffff"
"ipv4" => "172.19.7.180"
这将一直有效,直到 this issue 得到解决。
这些 IP 地址采用 IPv4 嵌入式 IPv6 格式,%{IP}
不匹配。唯一的方法是使用 %{DATA}
或编写自己的正则表达式。