我build立了一个服务器,收集不同的其他服务器的统计数据。 我正在使用collectd的networking插件,所以我通过设置一个监听器来configuration插件networking。
在我的networking中,我可以在configuration中使用专用IP作为“服务器”。 一切正常。 其中一台服务器是远程服务器,只能通过Internet访问。 所以服务器被configuration为将数据发送到DNS地址(请参阅configuration代码片段)。 在这个服务器上启动collectd的服务后,它的工作完美。 如果为我的连接获取新的dynamicIP地址,则远程服务器不会发送数据给collectd。 只有在远程服务器上重新启动collectd时,它才会工作,直到IP地址再次被更改。
在我看来,插件只在启动时parsingDNS地址一次。 有没有任何选项来解决我的问题,而无需重新启动collectd服务?
configuration:
<Plugin network> # # client setup: Server "name.of.server" "25826" </Plugin>
有没有任何选项来解决我的问题,而无需重新启动collectd服务?
这个问题在七年前也被问到了。 但是,除了重新启动collectd之外,仍然没有解决此限制的方法。
另请参见类似github问题: networking插件不会自动重新连接dynamicIP地址
networking插件使用UDP,所以没有真正的“连接”发生。 解决这个问题意味着要对通过networking发送的每批数据进行一次DNS查找,这将会影响性能。
我想这是一个问题,你也看到与其他“客户端服务器”系统共享此设置? 你不能通知collectd的服务器IP地址更改吗? 或cron在DHCP租约到期时重新加载collectd? 或者使用AMQP插件将这些值发送到服务器,而不会冒任何损失? 我确信我们可以想象其他的解决scheme,看起来更像是一个networking设置问题。