Logstash - grok没有解析双位浮点值

时间:2015-12-01 23:16:59

标签: logstash logstash-grok

使用BASE16FLOAT,Grok能够使用单个数字(如1.2)解析浮点值 但在解析像12.5这样的双位数时会抛出[0] "_grokparsefailure"

示例:

适用于日志事件

02:10:28     CPU Util %:   0.1 /   0.2 /   0.6     Disk Util %:   0.0 /   0.0 /   0.0

但不适用于

02:09:46     CPU Util %:   1.3 /   2.3 /   4.2     Disk Util %:   5.6 /  12.5 /  40.9

使用了Logstash过滤器

  

"消息" => "%{TIME:time} CPU Util%:%{BASE16FLOAT:MIN_CPU} /%{BASE16FLOAT:AVG_CPU} /%{BASE16FLOAT:MAX_CPU} Disk Util%:%{BASE16FLOAT:MIN_DISK} /%{BASE16FLOAT:AVG_DISK } /%{BASE16FLOAT:MAX_DISK}"

我不明白为什么它适用于单个数字浮点值,但不适用于双位数值。

1 个答案:

答案 0 :(得分:0)

您可以使用%{NUMBER}和$ {SPACE}

"message" => "%{TIME:time}%{SPACE}CPU Util %:%{SPACE}%{NUMBER:MIN_CPU} /%{SPACE}%{NUMBER:AVG_CPU} /%{SPACE}%{NUMBER:MAX_CPU}%{SPACE}Disk Util %:%{SPACE}%{NUMBER:MIN_DISK} /%{SPACE}%{NUMBER:AVG_DISK} /%{SPACE}%{NUMBER:MAX_DISK}"