高并发采集时部分连接失败的解决方法
现象描述
服务器集群采集失败,报错结果如下图所示。

可能原因
由于服务器集群采集采用并发SSH登录方式同时连接服务器,瞬时建立的未认证连接数超过了sshd默认配置的阈值。当并发量达到一定规模(如10+)时,触发了MaxStartups的随机拒绝机制(或完全拒绝状态),导致部分采集任务因连接被主动切断而失败。
处理步骤
修改服务器sshd并发限制阈值。
- 登录待采集服务器,打开sshd_config配置文件。
vi /etc/ssh/sshd_config
找到MaxStartups配置,如下图所示。

- 按“i”进入编辑模式,修改MaxStartups配置。
配置示例如下:
MaxStartups 50:30:100
MaxStartups参数用于限制SSH守护进程同时等待认证的并发连接数,格式为“未认证上限:拒绝概率百分比:最大上限”。以配置MaxStartups 50:30:100为例:
- 0 ~ 50个连接:服务器正常接受所有新连接。
- 51 ~ 100个连接:当未认证连接数超过50个,从第51个连接开始,服务器开始随机拒绝新连接。拒绝概率从30%开始,随连接数量增加而线性递增,直至达到100个连接时拒绝率为100%。
- 超过100个连接:服务器直接丢弃所有新的SSH连接请求,直到活跃连接数下降至10个以下。
请根据实际需求并发量配置该参数,未认证上限配置需大于0且小于等于最大上限,拒绝概率百分比参数取值为1到100。
- 完成后按“Esc”键,输入:wq!再按“Enter”键保存并退出。
- 配置完成后进行语法检查。
sshd -t && echo "config OK"
语法配置检查通过返回信息如下:
config OK
- 平滑重载配置(保持现有连接不会断开)。
systemctl reload sshd
- 重新尝试服务器集群采集。
父主题: FAQ