Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/regex/19.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Regex grok-如何找到带引号的字符串_Regex_Logstash_Grok - Fatal编程技术网

Regex grok-如何找到带引号的字符串

Regex 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} -

我试图从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} - %{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(例如现场时间\当地确认为日期)?