docker daemon 的日志是输出到标准输出和标准出错的.
为管理方便, 决定用 systemd 做 dockerd 的启停, 这样日志就被 systemd 的 journal 模块收集去了.
通过 journalctl -u docker -f -n 0
可以实时 follow, 类似 tail -f
.
对接 logstash 的 pipe 也没问题.
但不完美.
一旦 logstash 挂掉, 或者重启, 下次再重新 follow 日志的时候, 就接不上了, 会丢一部分.
看了几天的 systemd 没有找到好的方法.
现在正在考虑直接把 syslog 日志全部收集出来, 看有没有办法后面再做区分.
fluentd 계층을 추가하고 저널/syslog/컨테이너 로그를 s3 및 ELK에 덤프했습니다.
Fluentd에는 Logstash 오류가 발생하면 일시 중지하고 다시 연결한 후 쓰기를 재개하는 구성 가능한 버퍼가 있습니다.