Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/logging/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
Docker 使用Filebeat在Openshift上使用pod日志_Docker_Logging_Openshift_Filebeat - Fatal编程技术网

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。参考