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