1

我面临的问题是,我没有使用在本地服务器上运行的 fluentd 实例。我只是通过连接到远程 fluentd 来通过 Java 代码推送一些数据。

示例:FluentLogger LOG = FluentLogger.getLogger(app, FLUENTD_ADDRESS, FLUENTD_PORT); 我像这样连接到远程流利的。并且只是使用地图推送一些数据。

这样我只连接到一个流利的远程实例。如果由于网络故障而无法连接怎么办。我的信息丢失了。有趣的是,如果未建立连接,我想捕获异常。如果未建立连接导致 Java 编译器不理解它,我将无法捕获异常。它只是在控制台中显示无法连接,但它不会捕获块。

如果您看到上面的连接语句,则从 LOG 中我无法查看连接是否打开 例如有 LOG.open() 我想将日志写回文件以防连接失败,但我找不到这样的方法去做。

您能否分享您对此的想法。

提前致谢。

4

1 回答 1

1

如果您需要高可用性配置,可能的解决方案

  • 如果您可以安装本地 fluentd 实例,则可以使用该forward类型,该插件可以将日志转发到多个 fluentd 以进行 HA。

  • 使用软件负载平衡器(TCP 或 HTTP)

参考:http ://docs.fluentd.org/articles/high-availability

于 2013-10-30T15:06:17.180 回答