我有一个启用了auth的副本集。所有成员都能够通过内部身份验证(密钥文件)相互进行身份验证,并且复制工作正常。我在其中一个mebers中安装了一个监控代理,它连接到mongo cloud。
问题是监视代理程序无法对副本集进行身份验证。我知道因为mongo cloud会发出警告。
Monitoring Agent无法与此主机建立连接 因为身份验证错误。请检查监控代理 记录详细信息。
原木说:
Error: Failure during discovery.
我知道这不是一个发现问题,因为如果我在没有启用auth的情况下启动副本集,那么mongo cloud会显示一切正常。
问题
我需要知道的是如何告诉监视代理程序用于对副本集进行身份验证的用户和密码。我查看了文档,但找不到它。但是我确实发现了这个:
如果您的MongoDB部署强制实施访问控制,请使用Cloud Manager Monitoring Agent必须以具有的用户身份向MongoDB进行身份验证 适当的访问。
https://docs.cloudmanager.mongodb.com/reference/required-access-monitoring-agent/
我可以使用正确的角色创建用户,但是没有说明如何配置监视代理程序以使用该用户和密码。
答案 0 :(得分:0)
在文档中查看了一些之后我终于找到了实现它的方法,但我并不是100%确信这是正确的方法,因为文档将此部分标记为已弃用,但我无法做到找到关于这个主题的任何其他内容。
您可以编辑监视代理程序的配置文件,并添加这两个选项以指定它将使用的用户和密码:
/etc/mongodb-mms/monitoring-agent.config
globalAuthUsername=mms-monitoring-agent
globalAuthPassword=password
https://docs.cloudmanager.mongodb.com/reference/monitoring-agent/#msetting.globalAuthUsername
编辑文件后,重新启动监视代理程序。
修改强>
我没有使用自动化代理,这就是我需要手动完成的原因。如果您使用的是自动化代理,则可以通过mongo cloud中的UI完成此操作。