Logstash 为单个主机创建许多 TCP 连接

Logstash 为单个主机创建许多 TCP 连接

Logstash:5.3.0 nxlog:nxlog-ce-2.9.1716

检查 nestat 发现虽然我只有大约 50 台主机,但已经建立了 300 个连接。

当我在客户端只有一个活动连接时,我对某些主机有大约 40 个连接。

我向输入过滤器添加了 data_timeout => 500,并重新启动了 logstash,但看起来连接仍在增长并保持处于已建立状态。

如果操作系统将连接视为已建立,那么这不算作空闲连接吗?因为在这种情况下 data_timeout 不会产生影响,对吗?

我的 TCP 保持活动设置是默认值,我应该更改它吗?:

  # cat /proc/sys/net/ipv4/tcp_keepalive_time
  7200
  # cat /proc/sys/net/ipv4/tcp_keepalive_intvl
  75
  # cat /proc/sys/net/ipv4/tcp_keepalive_probes
  9

我为单个主机打开了大约 40 个连接,这是预期行为吗?为什么它们仍处于 ESTABLISHED 状态?或者 Logstash 需要为单个主机打开多个连接有什么原因吗?

答案1

您应该进一步调查为什么 logstash 无法正确关闭连接(例如检查日志)。也许您在两者之间有一些网络设备/代理防火墙会终止 TCP 会话?

相关内容