как я могу видеть, какие порты монго слушает из Mongo shell?

Если у меня запущен экземпляр mongo, как я могу проверить, какие номера портов он прослушивает из оболочки? Я так и думал!--1--> сделал бы это, но я не вижу его. Я вижу это

"connections" : {
    "current" : 3,
    "available" : 816

что близко... но нет. Предложения? Я прочитал документы и не могу найти команду, которая сделает это.

4 ответов


из системной оболочки вы можете использовать lsof (см. ответ Дерика ниже) или netstat -an чтобы посмотреть, что на самом деле делает процесс. Однако, если у вас есть только доступ к mongo shell (что подразумевает название вашего вопроса), затем вы можете запустить serverCmdLineOpts(). Этот вывод даст вам все аргументы, переданные в командной строке (argv) и из файла конфигурации (проанализированы), и вы можете вывести порты mongod слушает на основе этой информации. Вот пример:

db.serverCmdLineOpts()
{
    "argv" : [
        "./mongod",
        "-replSet",
        "test",
        "--rest",
        "--dbpath",
        "/data/test/r1",
        "--port",
        "30001"
    ],
    "parsed" : {
        "dbpath" : "/data/test/r1",
        "port" : 30001,
        "replSet" : "test",
        "rest" : true
    },
    "ok" : 1
}

если вы не прошли конкретные параметры порта, как те, что выше, то mongod будет слушать 27017 и 28017 (http консоль) по умолчанию. Примечание: есть несколько других аргументов, которые могут изменять порты, не будучи явными, см. здесь:

https://docs.mongodb.org/manual/reference/configuration-options/#sharding.clusterRole


вы можете сделать это из оболочки операционной системы, выполнив:

sudo lsof -iTCP -sTCP:LISTEN | grep mongo

попробуйте это:

db.runCommand({whatsmyuri : 1})

Он будет отображать IP-адрес и номер порта.


MongoDB по умолчанию прослушивает только один порт (27017). Если --rest интерфейс активен, порт 28017 (27017+1000) также будет открыт для обработки веб-запросов для деталей.

MongoDB поддерживает getParameter команда, но это работает только в том случае, если вы уже подключены к базе данных (в этот момент Вы уже знаете порт).