最近我试图找出使用ELK堆栈的最佳Docker日志机制。我有一些关于公司在生产中使用的最佳工作流程的问题。我们的系统具有典型的软件堆栈,包括Tomcat,PostgreSQL,MongoDB,Nginx,RabbitMQ,Couchbase等。到目前为止,我们的堆栈运行在CoreOS集群中。请在下面找到我的问题使用ELK堆栈的最佳Docker日志记录体系结构
- 使用ELK堆栈,什么是最好的方法来做日志转发 - 我应该使用伐木工人吗?我这样问是因为我已经看到人们使用Syslog/Rsyslog将日志转发到logstash的工作流程。
- 因为我们所有的软件都是集装箱的,我应该在所有容器中包含Log-forwarder吗?我打算这样做,因为我的大部分容器都是基于健康状况切换节点的,所以我并不热衷于将容器中的文件系统安装到主机上。
- 我应该使用redis作为转发日志的代理吗?如果是,为什么?
- 编写定义要转发到日志存储的日志格式的log-config文件有多困难?
这是一个主观的问题,但我相信这是一个很久以前人们已经解决的问题,我并不热衷于重新发明车轮。
这很危险,因为您可能会无限循环无法正确解析的logstash错误日志,并且在此识别不同的日志类型也很困难 –