journald docker logging驱动程序是否已知可用的Fluentd守护程序,以便我可以将K8S pod日志发送到Elasticsearch?
与add support to log in kubeadm一样,kubeadm安装的K8S的默认日志记录驱动程序是journald。
社区一般会在每个可能的地方集中远离磁盘上的文件,不幸的是,这将倒退一步。 ...您可以编辑/etc/docker/daemon.json将其默认日志设置为json文件,并设置最大大小和最大文件以处理日志轮换。之后,日志将不会写入日志,您将能够将日志文件发送到ES。
但是,如果我理解正确的话,K8S EFK addon和Fluentd K8S或Aggregated Logging in Tectonic仍然希望在主机的/ var / log / containers中查找文件。
看起来Alternative fluentd docker image designed as a drop-in replacement for the fluentd-es-image看起来采用了日记驱动程序。但无法让它运行pod。
答案 0 :(得分:1)
docker log driver journald
将 docker 日志发送到 systemd-journald.service
因此,我们需要将 systemd-journald
持久保存到 /var/log/journal
编辑/etc/systemd/journald.conf
:
...
[Journal]
Storage=persistent
#Compress=yes
...
然后重新启动以应用更改:
systemctl restart systemd-journald
ls -l /var/log/journal
由于 /var/log
已安装到 fluentd pod 中,一切都完成了,重新启动 fluentd pod 它对我有用@202104。
顺便说一下,我正在使用来自以下内容的 fluentd yaml:
并且 env FLUENTD_SYSTEMD_CONF
值不应为 disable