MongoDB 8.0.4 PSA副本集反复记录AuthenticationAbandoned日志问题
日志含义及处理建议
日志内容解析
你看到的这条日志(ID: 5286307)核心含义是:一个客户端发起了认证会话,但在认证流程完成前主动断开了连接,MongoDB终止了这个未完成的认证过程,标记为失败。
关键字段解读:
error: "AuthenticationAbandoned: Authentication session abandoned, client has likely disconnected":明确说明客户端断开连接导致认证会话被放弃client: "172.22.0.1:39686":这个是Docker默认网关地址,说明发起连接的是容器外部客户端或容器内部的临时连接isClusterMember: false:排除了副本集节点间的内部连接,是外部客户端的连接
为什么副本集环境才会出现?
单实例部署时,客户端只会连接一个节点;而副本集架构下,客户端驱动通常会自动发现集群节点、尝试连接多个节点(比如故障转移探测、读写分离路由),或者容器网络的短暂波动可能导致部分连接中途中断,这类场景在单实例中不存在,所以只有副本集才会出现这类日志。
是否需要处理?
不需要特殊处理,属于正常现象。
只要你的集群复制正常、业务访问没有出现认证失败或连接异常,这类日志只是临时连接中断的记录,不会影响集群稳定性或业务功能。常见触发场景包括:
- 客户端连接超时后主动断开
- 驱动在探测集群节点时的临时连接被放弃
- 容器网络的瞬间波动导致连接中断
可选优化建议(非必须)
- 检查客户端驱动的连接配置:调整连接超时、重试策略,减少不必要的临时连接尝试
- 若日志量过大干扰排查,可以调整MongoDB的
ACCESS组件日志级别,但不建议这么做——保留这类日志有助于排查真正的认证失败问题 - 监控容器网络状态,确认是否存在频繁的网络波动(如果有其他异常时再处理)
附用户提供的相关配置
异常日志
{"t":{"$date":"2025-02-10T17:08:53.642+00:00"},"s":"I", "c":"ACCESS", "id":5286307, "ctx":"conn440","msg":"Failed to authenticate","attr":{"client":"172.22.0.1:39686","isSpeculative":false,"isClusterMember":false,"mechanism":"","user":"","db":"","error":"AuthenticationAbandoned: Authentication session abandoned, client has likely disconnected","result":337,"metrics":{"conversation_duration":{"micros":358000215,"summary":{}}},"extraInfo":{}}}
Docker Compose配置
version: '2' services: mongodb: image: "mongo:8.0.4" logging: &log driver: json-file command: --replSet myReplSet --wiredTigerEngineConfigString="cache_size=512M" --maxConns=26214 environment: GLIBC_TUNABLES: glibc.pthread.rseq=0 depends_on: - mongodb-arb - mongodb-dr mongodb-arb: image: "mongo:8.0.4" ports: - "27018:27017" logging: *log restart: always command: --replSet myReplSet --wiredTigerEngineConfigString="cache_size=512M" --maxConns=26214 mongodb-dr: image: "mongo:8.0.4" ports: - "27019:27017" logging: *log restart: always command: --replSet myReplSet --wiredTigerEngineConfigString="cache_size=512M" --maxConns=26214
副本集初始化配置
{ "_id": "myReplSet", "members": [ { "_id": 0, "host": "mongodb:27017", "priority": 1 }, { "_id": 1, "host": "mongodb-dr:27017", "priority": 0}, { "_id": 2, "host": "mongodb-arb:27017", "arbiterOnly": true } ] }
内容的提问来源于stack exchange,提问作者Chad Showalter
相关产品推荐
相关产品推荐

