即使是不成熟的尝试,也胜于胎死腹中的策略。

帮忙看下grok 语句

Logstash | 作者 zthua | 发布于2018年02月08日 | 阅读数:2059

get请求:
192.168.3.23 | GET /app/images/home/test1.png HTTP/1.1 | - | - | - | 200 | - | 07/Feb/2018:16:34:48 +0800 | - | 9606 | testdo/350 CFNetwork/893.14.2 Darwin/17.3.0 |

POST 请求:
192.168.3.13 | POST /api/test HTTP/1.1 | 3.4.0 | cookie=3333&session=555 | ios | 200 | - | 07/Feb/2018:15:28:39 +0800 | 192.168.2.197:8080 | 83 | testdo/3.4.0 (iPhone; iOS 10.3.3; Scale/2.00) | -

grok语句:
%{IP:remote_ip}|%{WORD:method} |%{DATA:url} HTTP/%{NUMBER:http_version}|%{DATA:mobile_version}|%{DATA:param}|%{DATA:mobile_device}|%{NUMBER:response_code}|%{DATA:body1}|%{HTTPDATE:time}|%{IP:uip}|%{NUMBER:[body_sent][bytes]}|%{DATA:[nginx][access][referrer]}|%{DATA:[nginx][access][agent]} |

匹配后结果:
{
"remote_ip": [
[
"192.168.3.23"
]
],
"IPV6": [
[
null,
null
]
],
"IPV4": [
[
"192.168.3.23",
null
]
],
"method": [
[
null
]
],
"url": [
[
null
]
],
"http_version": [
[
null
]
],
"BASE10NUM": [
[
null,
null,
null
]
],
"mobile_version": [
[
null
]
],
"param": [
[
null
]
],
"mobile_device": [
[
null
]
],
"response_code": [
[
null
]
],
"body1": [
[
null
]
],
"time": [
[
null
]
],
"MONTHDAY": [
[
null
]
],
"MONTH": [
[
null
]
],
"YEAR": [
[
null
]
],
"TIME": [
[
null
]
],
"HOUR": [
[
null
]
],
"MINUTE": [
[
null
]
],
"SECOND": [
[
null
]
],
"INT": [
[
null
]
],
"uip": [
[
null
]
],
"[body_sent][bytes]": [
[
null
]
],
"[nginx][access][referrer]": [
[
null
]
],
"[nginx][access][agent]": [
[
null
]
]
}

为什么不能匹配所有项呢
已邀请:

zthua

赞同来自:

难道要写短点吗

zthua

赞同来自:

我知道了  重现更改nginx请求 以及grok 语句 就可以解决这个问题   话说论坛回答问题的人太少了  

xinian

赞同来自:

把代码用代码编辑器美化一下吧,这样看着太难受了,也不太看清楚你的代码什么问题。

dongne

赞同来自:

很明显是你的 | 没有转义把

要回复问题请先登录注册