我已经配置了filebeat
实例,当它运行时没有错误时,我发现它没有任何作用。
我在日志中找到以下行:
INFO log/input.go:138 Configured paths: [/var/lib/docker/containers/*/*.log]
快速检查后发现,openshift
和纯docker
之间的区别在于,docker
下的目录/var/lib/docker/containers
中包含日志文件, openshift
他们没有。
我应该如何配置filebeat
在openshift
下工作?
答案 0 :(得分:1)
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
才能生效。