我正在努力10gen 的 MongoDB 监控服务监控我的 3 节点副本集。副本集在 AWS VPC 中运行。每个节点在不同的 [虚拟] 机器上运行。假设它们的 IP 是192.168.1.1
(主或辅助)、192.168.1.2
(主或辅助)、192.168.1.3
(仲裁器)。
从源代码来看,MMS 似乎获取了其正在运行的机器的主机名,如下所示:
platform.uname()[1]
对于我的 VPC EC2 实例,这将返回类似
ip-192-168-1-1
然后,MMS 尝试连接到此主机名,但无法解析。我宁愿只使用 IP 地址(因为它们始终是静态的),但似乎硬编码使用platform.uname()[1]
inmmsAgent.py
会阻止这一点。
那么,有什么优雅的办法可以解决这个问题?黑客/etc/hosts
?我并不是专门为此设置 DNS 服务器。也许我只是误解了如何配置 MMS。
答案1
代理中的这一部分实际上是代理报告的名称,而不是它要连接的内容。至于它要连接的内容,一旦你运行它:
- mms.10gen.com(端口 443 - SSL)- 它连接到此处以上传数据并读取其配置
- 您从 MMS 页面配置的每个主机(+ 按钮)
- 任何自动发现的主机(例如,如果您添加 mongos)
它将根据您单击添加按钮时输入到 MMS 的主机名连接到主机,或者使用它自动发现的主机名。
注意:您可以将 IP 地址添加到 MMS 配置中,而不是主机名,代理会很好地接收该地址,然后您可以添加别名以提高网站的可读性
因为我为 10gen 工作,所以如果您愿意,可以单独将组名发送给我,我可以查看您的 MMS 组。如果不行,我建议您查看“代理日志”选项卡 - 假设代理可以连接到 mms.10gen.com,该选项卡将列出代理发现的错误。
答案2
我总是设置这样的主机条目:
1.2.3.4 host.domain.com host
正因为如此。据我所知,没有其他方法可以在主机本身上获取 FQDN。