我在http://mms.10gen.com/help/single/index.html#mms-requirements的帮助下编辑了代理程序安装中的settings.py
文件,以便useSslForAllConnections value is True
现在,当我运行python agent.py时,我得到这样的错误
2012-12-19 15:09:37,209 ERROR Problem collecting non-blocking data from: gobingoo:27017 - exception: Traceback (most recent call last):
File "/home/prem/mms-agent/nonBlockingStats.py", line 56, in run
monitorConn = self.mmsAgent.getDbConnection( self.hostKey )
File "/home/prem/mms-agent/mmsAgent.py", line 109, in getDbConnection
return pymongo.Connection( hostDef['mongoUri'] , slave_okay=True, ssl=True )
File "/usr/local/lib/python2.7/dist-packages/pymongo-2.4.1-py2.7-linux-x86_64.egg/pymongo/connection.py", line 180, in __init__
max_pool_size, document_class, tz_aware, _connect, **kwargs)
File "/usr/local/lib/python2.7/dist-packages/pymongo-2.4.1-py2.7-linux-x86_64.egg/pymongo/mongo_client.py", line 274, in __init__
raise ConnectionFailure(str(e))
ConnectionFailure: SSL handshake failed. MongoDB may not be configured with SSL support.
这背后的原因是什么..
答案 0 :(得分:1)
问题是您没有使用与MongoDB的SSL连接:http://docs.mongodb.org/manual/administration/ssl/
由于情况并非如此,并且您已在代理中将其启用,因此MMS会尝试与MongoDB群集进行SSL握手并失败。
您应该在代理设置文件中将此标志设置为false,因为您不在MongoDB群集中使用SSL连接。
您所谈论的设置是特定情况的特定子集:http://mms.10gen.com/help/single/index.html#using-ssl-with-mms一个不适用于您的情况。
答案 1 :(得分:1)
请注意,我有一个完整的集群正在运行,现在有MMS监控,一切都运行SSL,所以我可以确认它有效。但是,我将每个主机启用为单独启用SSL,而不是更改代理配置并重新启动。也就是说,方法2在这里:
http://mms.10gen.com/help/single/index.html#using-ssl-with-mms
您可能想尝试以个别设置以防万一
要先测试一下,请尝试使用mongo
shell从运行代理的主机连接到该组的每个成员,并使用SSL并验证连接是否成功:
/ path / to / mongo --ssl --host --port
如果成功,您已验证代理应该能够连接,并且您的MongoDB设置正在运行。那时在Jira中提交MMS问题以进一步排除故障可能是一个好主意: