You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

MongoDB MMS监控Agent无法发现副本集成员问题求助

我来帮你理清这个问题,结合你遇到的日志和Cloud Manager的特性来一步步说明:

什么是MongoDB Cloud Manager的Group?

Group是Cloud Manager里的逻辑分组,用来管理一组MongoDB部署(比如你的副本集、分片集群)。每个监控Agent都会绑定到一个特定的Group,Agent通过配置文件里的密钥和Group ID与Cloud Manager通信,Cloud Manager也只会把对应Group的部署配置下发给绑定的Agent。

如何查看Agent关联的Group?

你可以通过以下步骤确认:

  • 打开Agent的配置文件:/etc/mongodb-mms/monitoring-agent.config
  • 找到mmsGroupId字段,这个就是Agent绑定的Group的唯一ID;同时mmsApiKey是该Group对应的验证密钥
  • 登录MongoDB Cloud Manager控制台,在顶部导航栏的Group下拉列表里,找到和mmsGroupId对应的Group(如果不确定,可以进入每个Group的Settings页面查看Group ID)
解决Agent无法发现副本集成员的问题

正如你补充的,现在Cloud Manager确实需要先手动添加种子主机,Agent才能自动发现副本集的所有成员(和早期MMS的自动发现逻辑有区别),具体操作步骤:

  1. 登录Cloud Manager,进入你确认好的目标Group页面
  2. 导航到Deployment > MongoDB Deployments
  3. 点击页面上的Add按钮,选择Add MongoDB Host
  4. 输入你的副本集节点的连接地址(就是你rs.config()里显示的host值,比如localhost:27017或者具体的IP+端口),因为你没配置认证,直接填写地址即可
  5. 保存配置后,等待1-2分钟,Agent会自动同步新的配置(你可以查看监控日志,会看到类似Received new configuration: Primary agent, Assigned 1 out of 1...的日志),之后就能正常发现副本集成员了
关于你看到的两个Agent进程

你提到的两个进程是正常现象:启动脚本用/bin/sh -c包裹了Agent的启动命令,所以会生成一个shell父进程和一个Agent子进程,终止其中一个另一个会跟着关闭,这不是问题,不用处理。

额外验证建议
  • 确认Agent所在机器能正常访问Cloud Manager:可以执行curl https://cloud.mongodb.com(如果你的配置文件里用了自定义的mmsBaseUrl,就用对应的地址),确保网络连通
  • 验证副本集地址的可达性:在Agent机器上用mongo <你的rs.config()里的host值>测试连接,确保能正常访问MongoDB实例

内容的提问来源于stack exchange,提问作者st-h

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.29 07:02:41