最近我试图找出使用 ELK 堆栈的最佳 Docker 日志记录机制。我对公司在生产中使用的最佳工作流程有一些疑问。我们的系统有典型的软件栈,包括Tomcat、PostgreSQL、MongoDB、Nginx、RabbitMQ、Couchbase等。目前,我们的栈运行在CoreOS集群中。请在下面找到我的问题
- 使用 ELK 堆栈,进行日志转发的最佳方法是什么 - 我应该使用 Lumberjack 吗?我问这个是因为我看到人们使用 Syslog/Rsyslog 将日志转发到 logstash 的工作流程。
- 由于我们所有的软件都是容器化的,我应该在我的所有容器中包含 Log-forwarder 吗?我计划这样做,因为我的大多数容器会根据运行状况切换节点,因此我不热衷于将文件系统从容器安装到主机。
- 我应该使用 redis 作为代理来转发日志吗?如果是,为什么?
- 编写定义要转发到 log-stash 的日志格式的 log-config 文件有多难?
这是一个主观问题,但我确信这是人们早就解决的问题,我不热衷于重新发明轮子。