Аутентификация службы мониторинга MongoDB

У меня есть сегментированный кластер mongodb, 2 сегмента, каждый сегмент представляет собой набор реплик из 3 серверов. все серверы находятся в aws-vpc и с keyFile без опции аутентификации, только у сервера mongos есть IP-адрес и внешний доступ, и у него есть опция аутентификации. Я установил службу MMS 10gen на сервер mongos, и она определила все мои серверы, но начала выдавать ошибки в журнал:

Problem collecting blocking data from (check if it is up and DNS): 10.0.1.150:27017 -
exception: Traceback (most recent call last): File "/root/mms-agent/blockingStats.py",
line 81, in _collectBlockingStats stats = self._collectStats( passes, monitorConn ) File
"/root/mms-agent/blockingStats.py", line 175, in _collectStats root['serverStatus'] = 
monitorConn.admin.command( 'serverStatus' ) File "/usr/lib/python2.6/site-
packages/pymongo-2.5.2-py2.6-linux-x86_64.egg/pymongo/database.py", line 393, in
command msg, allowable_errors) File "/usr/lib/python2.6/site-packages/
pymongo-2.5.2-py2.6-linux-x86_64.egg/pymongo/helpers.py", line 147, in 
_check_command_response raise 
OperationFailure(msg % errmsg, code) OperationFailure: command SON([('serverStatus', 1)]) 
failed: unauthorized

я пытался добавить

globalAuthUsername = """MY_USER"""

globalAuthPassword = """MY_PASS"""

но все равно выдает эту ошибку, немного по другому

Problem collecting blocking data from: 10.0.1.150:27017 - exception: Traceback (most 
recent call last): File "/root/mms-agent/blockingStats.py", line 57, in run monitorConn = 
self.mmsAgent.getDbConnection( self.hostKey ) File "/root/mms-agent/mmsAgent.py",
line    107,
in getDbConnection return pymongo.Connection( hostDef['mongoUri'] , slave_okay=True, 
document_class=bson.son.SON ) File "/usr/lib/python2.6/site-packages/pymongo-2.5.2-py2.6-
linux-x86_64.egg/pymongo/connection.py", line 220, in __init__ max_pool_size, 
document_class, 
tz_aware, _connect, **kwargs) File "/usr/lib/python2.6/site-packages/pymongo-2.5.2-py2.6-
linux-x86_64.egg/pymongo/mongo_client.py", line 355, in __init__ raise 
ConfigurationError(str(exc)) ConfigurationError: command SON([('authenticate', 1),
('user', u'root'), ('nonce', u'523396ae8ef27d70'), ('key',
u'ce27e3fa05186bd1b7d3594cd3efb00f')]) failed: auth fails

Любые идеи?


person Dima    schedule 16.06.2013    source источник
comment
вы говорите с keyFile без аутентификации, но keyFile автоматически включает аутентификацию: docs .mongodb.org/manual/tutorial/enable-authentication/ см. второе предложение.   -  person Asya Kamsky    schedule 16.06.2013


Ответы (1)


Нашел ответ... Все экземпляры должны иметь имя пользователя и пройти аутентификацию

person Dima    schedule 16.06.2013
comment
Эта соответствующая учетная запись пользователя нужна только базе данных администратора? - person Nic Cottrell; 05.11.2013