Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/ssis/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
google fluentd和Stackdriver在自定义配置中落后一个条目_Fluentd_Stackdriver_Google Cloud Logging - Fatal编程技术网

google fluentd和Stackdriver在自定义配置中落后一个条目

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

我有一个运行在谷歌云上的虚拟机,并已通过谷歌fluentd安装了日志记录,根据网站上的说明。我为一个应用程序设置了一个自定义配置,该应用程序将日志输出到/var/log/myapp.log

我创建了一个名为
/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
,以便立即发送记录