在 haproxy 的日志中,我看到一个 cD 标志。Balancer 位于 rabbitmq 节点前面。当 nagios 检查节点时,日志如下所示:SD 标志
[10/Nov/2014:14:48:01.190] from NAGIOS IP to Rabbitmq:5672 rabbitmq_01 SD req_size=6 resp_size=0
当客户端连接时,日志如下所示:cD 标志。客户端从 tomcat 连接。
[10/Nov/2014:14:43:52.692] from Client to Rabbitmq:5672 rabbitmq_-02 cD req_size=853 resp_size=686
如果我将超时时间从 200 秒更改为 300 秒,则日志中的消息如下所示:
[10/Nov/2014:15:25:42.576] from Client to Rabbitmq:5672 rabbitmq_02 SD req_size=937 resp_size=681
不明白如何修复超时,并避免有关 SD、cD 标志的问题。
Haproxy 配置如下
defaults
log global
mode tcp
option tcplog
option dontlognull
option redispatch
retries 3
timeout connect 5000
timeout client 200s
timeout server 200s
frontend localnodes
bind *:5673
mode tcp
option tcplog
log global
log-format [%t]\ from\ %ci:%cp\ to\ %si:%sp\
%s\ %ts\ req_size=%U\ resp_size=%B
default_backend rabbit
backend rabbit
mode tcp
log global
option tcplog
option tcpka
balance roundrobin
server rabbitmq_01 :5672 check
server rabbitmq_02 :5672 check
答案1
当我尝试下载由 apache tomcat 提供的大文件时,我还在 haproxy 日志中看到了“SD--”终止状态的随机问题。
通过在 tomcat 连接器的配置中将 connectionTimeout 从 5 秒增加到 30 秒来解决该问题。
也许 rabbitmq 也有一些类似的可调参数。