当splunk服务器不可达时,docker日志在哪里去

我正在尝试从运行的docker容器中获取docker日志。 我已经configurationsplunk作为日志驱动程序在我的泊坞窗撰写,我明白,如果splunk服务器无法访问,那么容器将无法启动。

proxysecurity: image: test/image network_mode: host depends_on: - zookeeper ports: - '8083:8083' logging: driver: "splunk" options: splunk-url: "http://XX.X2.X3.X1:XXX7/" splunk-token: "XXXXX5-9CA1-44B8-B9E8-2XXX25" splunk-format: json tag: "{{.ImageName}}/{{.Name}}/{{.ID}}" environment: XXXCONNECT: localhost:32181 XXXXXRS: http://localhost:8083 

现在,如果在容器启动并运行时splunk服务器不可达,是否有任何可以告诉docker容器在本地login的回退机制? 或者是有什么办法来loggingsplunk以及本地内的容器?

我是Splunklogging驱动程序的作者。

如果Splunk不可用,驱动程序将在内存中保存小缓冲区并不断重试。 缓冲区大小的configuration没有logging在驱动程序的官方文档中https://docs.docker.com/engine/admin/logging/splunk/

SPLUNK_LOGGING_DRIVER_BUFFER_MAX If driver cannot connect to remote server, what is the maximum amount of messages it can hold in buffer for retries.

不幸的是,这并不理想,考虑到这个缓冲区可以很快填满,增加缓冲区数量会影响你的容器。 但这是如何写的大多数司机。

我已经构build了另一个向Splunk提供日志和指标的解决scheme。 该解决scheme包含带有收集器和Splunkauthentication应用程序的微小图像。 它build立在json-file驱动程序的基础之上,这意味着当Splunk不可用时,它只会继续从日志文件的位置重试。 日志文件可以有自己的旋转设置,可以使用dockerd 守护进程configuration 。 您可以阅读我们的解决scheme的另一个好处与Splunklogging驱动程序比较 。 以及如何开始监控Docker 。