Проблема развертывания OpsManager mongodb при добавлении аутентификации PLAIN - PullRequest
0 голосов
/ 26 марта 2020

Я пытаюсь включить безопасность аутентификации PLAIN для сегмента реплики mongodb, управляемого OpsManager, следуя их документации https://docs.opsmanager.mongodb.com/v4.0/tutorial/enable-ldap-authentication-for-group/.

Проблема, с которой я сталкиваюсь, связана с автоматизацией. агент пытается получить статус mongoS при перезапуске после включения защиты. Пожалуйста, смотрите вывод ошибок ниже:

<mongos_5> [09:18:19.711] Failed to compute states : 
<mongos_5> [09:18:19.711] Error calling ComputeState : <mongos_5> [09:18:19.632] Error getting current config from running mongo using conn params = mongos01:27017 (local=false) : 
<mongos_5> [09:18:19.632] Error getting pid for mongos01:27017 (local=false) : 
<mongos_5> [09:18:19.632] Error running command for runCommandWithTimeout(dbName=admin, cmd=[{serverStatus 1} {locks false} {recordStats false}]) : 
result={"$clusterTime":{"clusterTime":6808443558471663617,"signature": {"hash":"e44BxV30B7dTpampo4VZsVuio7E=","keyId":6808441655801151517}},"code":13,"codeName":"Unauthorized", 
"errmsg":"command serverStatus requires authentication","ok":0,"operationTime":6808443558471663617} connection=&{mongos01:27017 (local=false) 2 true 0xc4207b21a0 2020-03-26 09:18:19.627337419 +0000 UTC 0xc4207bdef0 <nil> } 
identityUsed= : command serverStatus requires authentication

Я заметил, что даже если opsmanager не может получить статус, безопасность была успешно включена и механизм аутентификации PLAIN работает, но статус зависает на

    Start the process   ... Start MongoDB process  

Я попробовал это через API после репозитория mongodb-labs https://github.com/mongodb-labs/mms-api-examples/blob/master/automation/api_usage_example/configs/security_ldap_cluster.json, но также и вручную, следуя документации mongodb, но каждый раз я сталкиваюсь с одной и той же ошибкой.

1 Ответ

0 голосов
/ 27 марта 2020

В конце концов я включил LDAP (PLAIN) только для mon go в файле mongoconfig (см. Ниже пример вызова фрагмента API ops manager) и избегал включения в opsmanager для агентов.

{
        "args2_6": {
            "net": {
                "port": 28001
            },
            "replication": {
                "replSetName": "rs0"
            },
            "storage": {
                "dbPath": "/data/mongo"
            },
            "systemLog": {
                "destination": "file",
                "path": "/data/mongo/mongodb.log"
            },
            "security": {
                "authorization": "enabled"
            },
            "setParameter": {
                "saslauthdPath": "",
                "authenticationMechanisms": "PLAIN,MONGO-CR,SCRAM-SHA-256",
            }
        }, ...
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...