Logstash-grok未分析两位数浮点值
Grok能够使用BASE16FLOAT解析具有单个数字的浮点值,如1.2 但在解析两位数(如12.5)时抛出“\u grokparsefailure” 例如: 适用于日志事件Logstash-grok未分析两位数浮点值,logstash,logstash-grok,Logstash,Logstash Grok,Grok能够使用BASE16FLOAT解析具有单个数字的浮点值,如1.2 但在解析两位数(如12.5)时抛出“\u 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
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
使用对数存储过滤器
“消息”=>“%{TIME:TIME}CPU Util%:%{BASE16FLOAT:MIN_CPU}/%{BASE16FLOAT:AVG_CPU}/%{BASE16FLOAT:MAX_CPU}磁盘Util%:%{BASE16FLOAT:MIN_Disk}/%{BASE16FLOAT:AVG_Disk}/%{BASE16FLOAT:MAX_Disk}”
我不明白为什么它适用于一位数的浮点值,而不适用于两位数的值。您可以使用%{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}"
要确定这一点,您必须对BASE16FLOAT进行反向工程,即“\b(?不过,我可以想象,您的磁盘利用率百分比实际上是base10,因此您可以尝试使用%{NUMBER}。