Docker 使用Filebeat在Openshift上使用pod日志
我已经配置了Docker 使用Filebeat在Openshift上使用pod日志,docker,logging,openshift,filebeat,Docker,Logging,Openshift,Filebeat,我已经配置了filebeat实例,当它在没有错误的情况下运行时,我发现它什么都不做 我在日志中找到了以下行: INFO log/input.go:138 Configured paths: [/var/lib/docker/containers/*/*.log] 快速检查,我发现,openshift和纯docker之间的区别在于,docker中/var/lib/docker/containers下的目录包含日志文件,而openshift下的目录不包含日志文件 我应该如何配置file
filebeat
实例,当它在没有错误的情况下运行时,我发现它什么都不做
我在日志中找到了以下行:
INFO log/input.go:138 Configured paths: [/var/lib/docker/containers/*/*.log]
快速检查,我发现,openshift
和纯docker
之间的区别在于,docker
中/var/lib/docker/containers
下的目录包含日志文件,而openshift
下的目录不包含日志文件
我应该如何配置
filebeat
以在openshift
下工作 AFAIK OpenShift还以/var/lib/docker/containers/*-json.log格式注销容器日志,有关更多详细信息,请参阅。如果在目录中找不到,您的docker
日志驱动程序可能配置为journald
,它可以从/etc/sysconfig/docker
进行检查
OPTIONS=' --selinux-enabled --log-driver=journald --signature-verification=False'
然后您应该将journald
更改为json文件
,以便登录到/var/lib/docker/containers//*-json.log
OPTIONS=' --selinux-enabled --log-driver=json-file --signature-verification=False'
您需要重新启动docker.service
才能生效。好的,至少我知道发生了什么。我更喜欢侵入性较小的解决方案,但它似乎没有内置对filebeat的journald的支持。我知道您更喜欢对配置进行较少的更改,OCP是什么版本?从v3.9开始,docker的默认日志驱动程序更改为json文件,因此您通常可以通过上面提供的配置使用filebeat。参考