目前,我有一个 docker 容器使用 gelf 将日志发送到 Logstash。在用于创建容器的 docker-compose 文件中设置了相当标准的配置。
我正在研究将 docker 容器的日志发送到多个 ELK 实例的可行性。这不是生产所需要的,但会大大提高我们开发团队的生活质量。
阅读文档,似乎我需要的东西是不可能的(至少,他们没有提到该gelf-address
属性是否接受 URI 列表,我必须假设它没有在我寻找更多信息时)。
有谁知道这是否可以实现?谢谢!
在这里和这里查看docker 的代码,我想说目前只支持一个目标地址。
// New creates a gelf logger using the configuration passed in on the
// context. The supported context configuration variable is gelf-address.
func New(info logger.Info) (logger.Logger, error) {
// parse gelf address
address, err := parseAddress(info.Config["gelf-address"])
潜在地,这个项目和viro/grayproxy看起来可以帮助您获取单个 GELF 输入,并将其转发给多个 GELF 收集器:
默认情况下,grayproxy 将输入配置为 udp://0.0.0.0:12201 并且没有输出。使用 -out 标志添加输出,并且可以指定多次