繁体   English   中英

pgpool日志的Logstash grok模式

[英]Logstash grok pattern for pgpool logs

我在为所有日志找到正确的grok模式以通过logstash解析所有日志时遇到问题。

我的日志示例:

1)2016-04-13 19:55:40:pid 21950:日志:pool_send_and_wait:来自后端的错误或通知消息::数据库节点ID:4后端pid:65156语句:“ UPDATE certname ......”。 ..(其余日志无所谓)

2)2016-04-13 19:55:40:pid 17555:致命:无法从后端读取种类

我的grok模式(部分起作用):

grok {match => {“ message” =>“%{GREEDYDATA:logdate}:pid%{NUMBER:pid}:%{LOGLEVEL:loglevel}:%{GREEDYDATA:logmessage}”}}

如您所见,这些是我关心的事情:1)日志日期2)PID 3)日志级别4)消息本身

除了上面的模式外,我还尝试使用\\ A%{TIMESTAMP_ISO8601:timestamp}模式指定日期(就像grok调试器建议的那样)。

我的假设是,第一个日志是我遇到问题的日志的一种,因为它在其中两次输入了“ log”一词,尽管第二次它没有出现在冒号后面(与我的grok模式不同),所以我没有了解为什么解析操作失败。

实际上,两次不包含“ log”一词的日志都已成功解析-我的模式部分起作用。

谢谢 :)

制作grok模式的技巧是从左侧开始,使第一个模式起作用,然后缓慢向右移动,直到完成。

这样做,您会发现在添加%{LOGLEVEL}时它停止工作。 为什么? 因为“ LOG”对于LOGLEVEL无效,所以无效。 期望像DEBUG之类的东西。改用%{WORD}之类的东西,它可以正常工作。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM