google fluentd和Stackdriver在自定义配置中落后一个条目
我有一个运行在谷歌云上的虚拟机,并已通过谷歌fluentd安装了日志记录,根据网站上的说明。我为一个应用程序设置了一个自定义配置,该应用程序将日志输出到/var/log/myapp.log 我创建了一个名为google fluentd和Stackdriver在自定义配置中落后一个条目,fluentd,stackdriver,google-cloud-logging,Fluentd,Stackdriver,Google Cloud Logging,我有一个运行在谷歌云上的虚拟机,并已通过谷歌fluentd安装了日志记录,根据网站上的说明。我为一个应用程序设置了一个自定义配置,该应用程序将日志输出到/var/log/myapp.log 我创建了一个名为/etc/google fluentd/config.d/myapp.conf的配置(作为root用户,实际上是tomcat.conf的副本),该配置具有以下内容: <source> @type tail format multiline # Match the dat
/etc/google fluentd/config.d/myapp.conf
的配置(作为root用户,实际上是tomcat.conf
的副本),该配置具有以下内容:
<source>
@type tail
format multiline
# Match the date at the beginning of each entry
format_firstline /^(\d+\/\d+\/\d+\s\d+:\d+:\d+\s)/
format1 /(?<message>.*)/
path /var/log/myapp.log
pos_file /var/lib/google-fluentd/pos/myapp-multiline.pos
read_from_head true
tag myapp
</source>
@型尾
格式化多行
#匹配每个条目开头的日期
格式\u firstline/^(\d+\/\d+\/\d+\s\d+:\d+:\d+\d+\s)/
format1/(?*)/
路径/var/log/myapp.log
pos_文件/var/lib/google fluentd/pos/myapp-multiline.pos
从你的头上读出来是真的
标记myapp
条目显示在Stackdriver中,但只有在下一个条目放入.log文件并显示为错误时间(即,第1行获取第2行的时间戳)后,条目才会进入Stackdriver
在.conf文件中是否有我丢失的东西可能导致此问题?来自\u tail中的插件:
使用format\u firstline
,in\u tail将记录发出延迟到下一个format\u firstline
匹配,因为in\u tail无法判断没有format\u firstline
触发器的多行日志是否结束。如果您的regexp像上面的Rails示例一样正确地表示日志模式,那么您可以删除format\u firstline
,以便立即发送记录