【发布时间】:2014-10-23 03:50:54
【问题描述】:
我一直在使用UDPAppender 将日志发送到logstash。我希望能够通过DNS实现logstash服务器的故障转移。
隐式地,UDPAppender 不会检测到远程 UDP 端口是否可用,但即使有,当我使用 remoteAddress,在初始化时解析为ip地址,并在RemoteAddresss属性中记录为ip地址。我知道RemotingAppender,但这似乎不喜欢logstash,因为logstash TCP输入没有实现.NET远程协议,看起来它会遇到同样的问题来解决远程IP地址仅在初始化步骤通过 DNS。
我正在考虑实现我自己的附加程序,通过使用 ping 包装 UDPAppender 或通过处理通过 DNS 名称的重新连接来复制 RemotingAppender。类似的东西已经存在了吗?
【问题讨论】:
-
寻找相同的。罗伯成功了吗? Rob,您可以参考任何文章/博客文章以使用 UDPAppender/log4net 和 logstash 进行日志记录。
-
我根据github.com/merchantwarehouse/syslog4net TcpAppender: dotnetfiddle.net/3WE7h9 一起破解了这个适用于我的用途的方法 - 事实证明,您可以选择在未连接时如何缓冲和丢弃数据包。刷新 DNS 缓存的方式可能有点过于激进,但至少它可以工作
标签: c# tcp dns log4net logstash