query fields data collection array mongodb

mongodb - fields - ¿Cómo puedo ver qué puertos está escuchando mongo desde mongo shell?



mongodb show collection data (4)

Desde el shell del sistema puede usar lsof (vea la respuesta de Derick a continuación) o netstat -an para ver lo que está haciendo realmente un proceso. Sin embargo, suponiendo que solo tiene acceso al shell mongo (que implica el título de su pregunta), puede ejecutar el serverCmdLineOpts() . Esa salida le dará todos los argumentos pasados ​​en la línea de comando (argv) y los del archivo de configuración (analizado) y puede inferir los puertos que mongod está escuchando en base a esa información. Aquí hay un ejemplo:

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 }

Si no ha pasado opciones de puerto específicas como las de arriba, entonces mongod estará escuchando en 27017 y 28017 ( consola http ) de forma predeterminada. Nota: hay un par de otros argumentos que pueden alterar los puertos sin ser explícitos, mira aquí:

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

Si tengo una instancia mongo ejecutándose, ¿cómo puedo verificar qué números de puerto está escuchando desde el shell? Pensé que db.serverStatus() lo haría pero no lo veo. veo esto

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

Que está cerca ... pero no. Sugerencias? He leído los documentos y parece que no puedo encontrar ningún comando que haga esto.


MongoDB solo escucha en un puerto por defecto (27017). Si la interfaz --rest está activa, el puerto 28017 (27017 + 1000) también abrirá las solicitudes web para detalles.

MongoDB admite un comando getParameter , pero eso solo funciona si ya estás conectado a la base de datos (en ese momento ya conoces el puerto).


Prueba esto:

db.runCommand({whatsmyuri : 1})

Mostrará tanto la dirección IP como el número de puerto.


Puede hacer esto desde el shell del sistema operativo ejecutando:

sudo lsof -iTCP -sTCP:LISTEN | grep mongo