0

正如我们所知,我们可以在 EKS 中将 fluentd 部署为 DaemonSet

它可以记录 pod 中的所有 stdout / stderr

但是,如果一个 php 应用程序将日志写入文件,DaemonSet 中的 fluentd 将无法捕获文件的内容

我们如何实现它?

我想把另一个 fluentd 容器放入 pod,然后跟踪日志文件,然后将其转发给 DaemonSet 中的其他 fluentd

例如

laravel.input.conf: |-
    <source>
      @type tail
      format multiline
      multiline_flush_interval 1s
      format_firstline /\[\d{4}-\d{1,2}-\d{1,2} \d{2}:\d{2}:\d{2}\]/
      format1 /^\[(?<time>[^\]]*)\] (?<environment>[^ ]*) (?<severity>[^ ]*): (?<message>.*)$/
      time_format %Y-%m-%d %H:%M:%S
      path /var/log/laravel.log
      pos_file /var/log/laravel.log.pos
      tag myapp.laravel
    </source>

可能吗

以及如何实现?

4

1 回答 1

-1

为什么不直接写出标准输出或错误并使用流利的:

<source>
    @type tail
    @id in_tail_containers_logs
    path /var/log/containers/*.log
    ....
</source>
于 2021-04-21T17:28:35.693 回答