Aerospike:如何从任何 aerospike 服务器中找到哪些客户端正在访问它?
Aerospike: How to find from any aerospike server which clients are accessing it?
我们配置了多个客户端来与这个 aerospike 节点集群通信。现在我们已经从我们知道的所有客户端中删除了配置,仍然有一些 read/write 请求进入该集群,如 AMC 中所示。
我查看了/var/log/aerospike/aerospike.log中生成的日志文件,但无法获取任何信息。
更新
@kporter 的回答中提到的 netstat 命令显示连接数,状态为 ESTABLISHED、TIME_WAIT、CLOSE_WAIT 等。但是,这并不意味着这些连接当前正在运行用于 get/set 操作。如何获取当前正在进行 aerospike 操作的 IP?
更新 2(已解决)
如对@kporter 的回答的评论中所述,罪魁祸首客户端上的 tcpdump 命令显示数据包仍在发送到配置文件中不再引用的 aerospike 集群。这是在该集群的 AMC 不再显示 read/write TPS 时发生的。
我后来发现在客户端上重新启动 nginx
服务后,它停止了。请注意,客户端中的配置文件现在引用了一个新的 aerospike 集群,并且在 nginx 重启后发送到该集群的数据包没有停止。这很奇怪,但它奏效了。
客户端通过端口 3000 连接到 Aerospike:
以下命令在服务器节点上 运行 时,将显示通过端口 3000 连接到服务器的主机地址。
netstat --tcp --numeric-ports | grep 3000
我们配置了多个客户端来与这个 aerospike 节点集群通信。现在我们已经从我们知道的所有客户端中删除了配置,仍然有一些 read/write 请求进入该集群,如 AMC 中所示。
我查看了/var/log/aerospike/aerospike.log中生成的日志文件,但无法获取任何信息。
更新
@kporter 的回答中提到的 netstat 命令显示连接数,状态为 ESTABLISHED、TIME_WAIT、CLOSE_WAIT 等。但是,这并不意味着这些连接当前正在运行用于 get/set 操作。如何获取当前正在进行 aerospike 操作的 IP?
更新 2(已解决)
如对@kporter 的回答的评论中所述,罪魁祸首客户端上的 tcpdump 命令显示数据包仍在发送到配置文件中不再引用的 aerospike 集群。这是在该集群的 AMC 不再显示 read/write TPS 时发生的。
我后来发现在客户端上重新启动 nginx
服务后,它停止了。请注意,客户端中的配置文件现在引用了一个新的 aerospike 集群,并且在 nginx 重启后发送到该集群的数据包没有停止。这很奇怪,但它奏效了。
客户端通过端口 3000 连接到 Aerospike:
以下命令在服务器节点上 运行 时,将显示通过端口 3000 连接到服务器的主机地址。
netstat --tcp --numeric-ports | grep 3000