我已经配置了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/<hash>/*-json.log
格式,有关详细信息,请参阅Viewing available container logs
。如果您无法在目录中找到,您的docker
log driver
可能配置为journald
,它可以从/etc/sysconfig/docker
查看。
OPTIONS=' --selinux-enabled --log-driver=journald --signature-verification=False'
然后你应该将journald
更改为json-file
以登录/var/lib/docker/containers/<hash>/*-json.log
。
OPTIONS=' --selinux-enabled --log-driver=json-file --signature-verification=False'
你需要重新启动docker.service
才能生效。