Узнайте, кто создал базу данных / коллекцию в MongoDB - PullRequest
2 голосов
/ 02 июля 2019

У меня на сервере так много приложений, которые используют mongo db.Я хочу узнать имя пользователя, которое используется для создания определенной базы данных.

Я вижу, что какое-то приложение работает со сбоями и продолжает динамически создавать базы данных.Я хочу выяснить, через какое приложение используется пользователь.

До сих пор я обнаружил информацию о соединении из журналов mongodb, выполнив поиск по базе данных, а затем выполнил этот запрос

db.currentOp(true).inprog.forEach(function(o){if(o.connectionId == 502925 ) printjson(o)});

И вот результат, который я получаю,

{
    "host" : "abcd-server:27017",
    "desc" : "conn502925",
    "connectionId" : 502925,
    "client" : "127.0.0.1:39266",
    "clientMetadata" : {
        "driver" : {
            "name" : "mongo-java-driver",
            "version" : "3.6.4"
        },
        "os" : {
            "type" : "Linux",
            "name" : "Linux",
            "architecture" : "amd64",
            "version" : "3.10.0-862.14.4.el7.x86_64"
        },
        "platform" : "Java/AdoptOpenJDK/1.8.0_212-b03"
    },
    "active" : false,
    "currentOpTime" : "2019-07-02T07:31:39.518-0500"
}

Пожалуйста, дайте мне знать, если есть какой-нибудь способ узнать пользователя.

...