Welcome to MLink Developer Q&A Community for programmer and developer-Open, Learning and Share
Welcome To Ask or Share your Answers For Others

Categories

0 votes
289 views
in Technique[技术] by (71.8m points)

怎样通过 logstash 采集 docker daemon 的日志

docker daemon 的日志是输出到标准输出和标准出错的.
为管理方便, 决定用 systemd 做 dockerd 的启停, 这样日志就被 systemd 的 journal 模块收集去了.
通过 journalctl -u docker -f -n 0 可以实时 follow, 类似 tail -f.
对接 logstash 的 pipe 也没问题.

但不完美.
一旦 logstash 挂掉, 或者重启, 下次再重新 follow 日志的时候, 就接不上了, 会丢一部分.

看了几天的 systemd 没有找到好的方法.
现在正在考虑直接把 syslog 日志全部收集出来, 看有没有办法后面再做区分.


与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
Welcome To Ask or Share your Answers For Others

1 Answer

0 votes
by (71.8m points)

我们加了一层fluentd,把journald / syslog / container的log倒到s3和ELK.

fluentd有可以配置的buffer,在logstash出错时暂停,重新连上后再继续写。


与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
Welcome to MLink Developer Q&A Community for programmer and developer-Open, Learning and Share
...