Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/ruby/23.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
Ruby Logstash正则表达式模式问题_Ruby_Regex_Logstash_Logstash Grok_Oniguruma - Fatal编程技术网

Ruby Logstash正则表达式模式问题

Ruby Logstash正则表达式模式问题,ruby,regex,logstash,logstash-grok,oniguruma,Ruby,Regex,Logstash,Logstash Grok,Oniguruma,我有一个纯文本示例: ..done, Total time: 10, Errors: 5, there is some text here Results:, , Total time: 10, Errors: 5, , [INFO]... 我正在尝试使用以下模式分析Logstashgrok过滤器中总时间和错误字段的值: grok { match => {"message" => ".*Total\stime\:\s(?<time>\d

我有一个纯文本示例:

..done, Total time: 10, Errors: 5, there is some text here Results:, , Total time: 10, Errors: 5, , [INFO]...
我正在尝试使用以下模式分析Logstash
grok
过滤器中
总时间
错误
字段的值:

grok {
  match => {"message" => ".*Total\stime\:\s(?<time>\d*).*Errors\:\s(?<errors>\d*)"}
}
grok{
match=>{“message”=>“*Total\stime\:\s(?\d*).*Errors\:\s(?\d*)”}
}
但它为每个字段指定两个值:

总时间10,10

错误5、5


只有一个值,有没有办法正确解析这些字段的值?

我记得有人有类似的问题。检查1)您的输入是否在一行上,并且
总时间
错误:
只出现一次(否则,尝试将
*
替换为
[\s\s]
[\\s\\s]
,不确定反斜杠的数量),2)尝试在elasticsearch中删除现有管道,然后重试。我也会使用
*Total\s+时间:\s*(?\d+).*错误:\s*(?\d+)
模式。@WiktorStribiżew谢谢。我尝试了此模式
*总计\s+时间:\s*(?\d+).*错误:\s*(?\d+)
,但它再次创建了两个值。我还尝试了
[\s\s]总计\s+时间:\s*(?\d+)[\s\s]错误:\s*(?\d+)
,但失败了,尽管它被传递了。您还有其他建议吗?我实际上是指
[\s\s]*
,而不是
[\s\s]
。不过,我相信管道或输入存在一些问题。