[英]logstash grok filter-grok parse failure
我有多行自定义日志,我正在通过filebeat multiline关键字将其作为一行处理。 现在,每行末尾都包含\\ n。 但是,这会导致我的logstsash配置文件中的grok解析失败。 有人可以帮我吗 它们都是这样的:
请为以下行的grok过滤器提供帮助:
2016/11/18 3:05:50:\\ n抛出的错误是:\\ n空队列\\ n ******************************** ********************************************** \\ n发送的请求是: \\ nhpi_hho_de,2015423181057,e06106f64e5c40b4b72592196a7a45cd \\ n ****************************************** *********************************** \\ n收到的响应为:\\ nQSS RMS保留哈希表为空\\ n ***** ****************************************************** ******************
如@Mohsen所建议,您可能必须使用gsub过滤器才能替换日志行中的所有新行字符。
filter {
mutate {
gsub => [
# replace all forward slashes with underscore
"fieldname", "\n", ""
]
}
}
也许您也可以在if
条件下执行上述操作,以确保没有出现grokparse
故障。
if "_grokparsefailure" in [tags] or "_dateparsefailure" in [tags] {
drop { }
}else{
mutate {
gsub => [
# replace all forward slashes with underscore
"fieldname", "\n", ""
]
}
}
希望这可以帮助!
您可以在这里找到答案:
https://www.elastic.co/guide/zh-CN/logstash/current/plugins-filters-mutate.html
您应该使用Mutate块将所有"\\n"
替换为""
(空字符串)。 或使用这个
%{DATESTAMP} %{WORD:time} %{GREEDYDATA}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.