Regex grok-如何找到带引号的字符串
我试图从nginx日志文件获取输出并将其发送到logstashRegex grok-如何找到带引号的字符串,regex,logstash,grok,Regex,Logstash,Grok,我试图从nginx日志文件获取输出并将其发送到logstash 10.1.10.20 - bob [14/Feb/2014:18:57:05 +0000] “POST /main/foo.git/git-upload-pack HTTP/1.1” 200 3653189 “-” “git/1.8.3.4 (Apple Git–47)” 格罗克能找到前3个单词,很好 10.1.10.20 - bob [14/Feb/2014:18:57:05 +0000] %{IPV4:user_ip} -
10.1.10.20 - bob [14/Feb/2014:18:57:05 +0000] “POST /main/foo.git/git-upload-pack HTTP/1.1” 200 3653189 “-” “git/1.8.3.4 (Apple Git–47)”
格罗克能找到前3个单词,很好
10.1.10.20 - bob [14/Feb/2014:18:57:05 +0000]
%{IPV4:user_ip} - %{USERNAME:user_name} \[%{HTTPDATE:time_local}\]
[14/Feb/2014:18:57:05 +0000] “POST /main/foo.git/git-upload-pack HTTP/1.1”
\[%{HTTPDATE:time_local}\] %{QUOTEDSTRING:request}
格罗克能够找到第三个和第四个单词
10.1.10.20 - bob [14/Feb/2014:18:57:05 +0000]
%{IPV4:user_ip} - %{USERNAME:user_name} \[%{HTTPDATE:time_local}\]
[14/Feb/2014:18:57:05 +0000] “POST /main/foo.git/git-upload-pack HTTP/1.1”
\[%{HTTPDATE:time_local}\] %{QUOTEDSTRING:request}
然而,当我把它们结合起来,并试图找到全部4个时,格罗克说没有结果(用于测试)
有人知道如何在上面的示例中获取带引号的字符串吗
我是grok的新手,所以可能我没有正确地处理这个问题
更新
有趣的是,如果我使用下面的日志行,然后手动键入url,它确实可以工作
bob 14/Feb/2014:18:57:05 +0000 "herp"
#Once herp works, replace herp, with POST
bob 14/Feb/2014:18:57:05 +0000 "POST"
#Once POST works, keep expounding until the whole thing is in place
autobuild 14/Feb/2014:18:57:05 +0000 "POST /main/builder.git/git-upload-pack HTTP/1.1"
过帐到堆栈溢出的过程发现了问题 如果仔细观察,双引号的解析方式会有所不同
"POST
vs
手动键入双引号修复了问题过帐到堆栈溢出的过程确定了问题 如果仔细观察,双引号的解析方式会有所不同
"POST
vs
手动键入双引号修复了问题过帐到堆栈溢出的过程确定了问题 如果仔细观察,双引号的解析方式会有所不同
"POST
vs
手动键入双引号修复了问题过帐到堆栈溢出的过程确定了问题 如果仔细观察,双引号的解析方式会有所不同
"POST
vs
手动键入双引号修复了模式中的“POST/main/builder.git/git-upload-pack HTTP/1.1”问题
“%{WORD:verb}%{URIPATHPARAM:request}HTTP/%{NUMBER:httpversion}”“模式中的POST/main/builder.git/git-upload-pack HTTP/1.1”
”
“%{WORD:verb}%{URIPATHPARAM:request}HTTP/%{NUMBER:httpversion}”“模式中的POST/main/builder.git/git-upload-pack HTTP/1.1”
”
“%{WORD:verb}%{URIPATHPARAM:request}HTTP/%{NUMBER:httpversion}”“模式中的POST/main/builder.git/git-upload-pack HTTP/1.1”
”
“%{WORD:verb}%{URIPATHPARAM:request}HTTP/%{NUMBER:httpversion}”您也可以在日志更改的情况下使用此表达式:
"%{WORD:verb}(?:| %{URIPATHPARAM:request})(?:| HTTP/%{NUMBER:httpversion})"
它与:
"POST /main/builder.git/git-upload-pack HTTP/1.1"
或
或
试试看……) 您还可以将此表达式用于日志更改的情况:
"%{WORD:verb}(?:| %{URIPATHPARAM:request})(?:| HTTP/%{NUMBER:httpversion})"
它与:
"POST /main/builder.git/git-upload-pack HTTP/1.1"
或
或
试试看……) 您还可以将此表达式用于日志更改的情况:
"%{WORD:verb}(?:| %{URIPATHPARAM:request})(?:| HTTP/%{NUMBER:httpversion})"
它与:
"POST /main/builder.git/git-upload-pack HTTP/1.1"
或
或
试试看……) 您还可以将此表达式用于日志更改的情况:
"%{WORD:verb}(?:| %{URIPATHPARAM:request})(?:| HTTP/%{NUMBER:httpversion})"
它与:
"POST /main/builder.git/git-upload-pack HTTP/1.1"
或
或
试试看……) 您好,您是否设法以正确的类型格式(如现场时间\本地识别为日期)将数据发送至elasticsearch?您好,您是否设法以正确的类型格式(如现场时间\本地识别为日期)将数据发送至elasticsearch?您好,您是否设法以正确的类型格式将数据发送至elasticsearch(例如现场时间\当地确认为日期)?您好,您是否设法将数据以正确的类型格式发送到elasticsearch(例如现场时间\当地确认为日期)?