Google Cloud Ops Agent集成Mongo遇SCRAM认证失败(storedKey mismatch)求助
排查Google Cloud Ops Agent与Mongo集成的SCRAM认证失败问题
针对你遇到的AuthenticationFailed: SCRAM authentication failed, storedKey mismatch错误,结合日志和配置信息,给出以下排查方向:
检查认证用户匹配性
错误日志中principalName显示为user,但你的配置里用户名是opsplease,说明Ops Agent可能未正确读取配置中的用户名。- 确认Ops Agent配置文件的YAML缩进是否正确:
mongodb配置块必须位于metrics.receivers层级下,层级错误会导致配置项被忽略,使用默认值。 - 用
yamllint工具验证配置文件的语法是否合规。
- 确认Ops Agent配置文件的YAML缩进是否正确:
处理密码中的特殊字符
你的密码包含$符号,这在YAML中是特殊字符(用于引用变量),若未加引号包裹,会导致密码被错误解析。- 修改配置中的密码字段为:
password: "Williwork$",用双引号将密码完整包裹,确保传递值与设定一致。
- 修改配置中的密码字段为:
确认认证数据库配置
日志显示认证使用的是admin数据库,需确认:opsplease用户确实是在admin数据库下创建的(Mongo用户是数据库级别的)。- 如果用户不在
admin库,需在Ops Agent的Mongo配置中添加auth_database字段,指定用户所在的数据库,例如:auth_database: "your-target-db"。
验证SSL配置的正确性
虽然你开启了insecure_skip_verify: true,仍需确认:/etc/ssl/mongodb.pem文件是否同时包含客户端证书、私钥以及CA证书,格式符合PEM规范。- 临时将
insecure设为true(关闭SSL),测试认证是否正常,排除SSL配置对认证流程的干扰。
检查Ops Agent版本一致性
对比正常实例和故障实例的Ops Agent版本,版本差异可能导致兼容性问题:- 运行
sudo google-cloud-ops-agent version查看当前版本,升级到与正常实例一致的版本后重试。
- 运行
内容的提问来源于stack exchange,提问作者Edwrd_T_Justice
相关产品推荐
相关产品推荐

