1. ホーム
  2. mongodb

[解決済み] mongoがどのポートをリッスンしているか、mongoシェルから見るにはどうしたらいいですか?

2022-10-05 05:14:09

質問

mongoインスタンスが起動している場合、シェルからどのポート番号でリッスンしているかを確認するにはどうしたらよいでしょうか?私は、以下のように考えました。 db.serverStatus() でできると思ったのですが、見当たりません。私はこれを参照してください

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

これは近いです...しかし、ありません。提案はありますか?ドキュメントを読みましたが、これを行うコマンドを見つけることができないようです。

どのように解決するのですか?

システムシェルから lsof (以下のDerickの回答を参照)または netstat -an を使用して、プロセスが実際に行っていることを表示することができます。 しかし、あなたがアクセスできるのは mongo シェルにしかアクセスできないと仮定すると (質問のタイトルから推測される)、 あなたは serverCmdLineOpts() コマンドを実行します。 この出力は、コマンドラインで渡されたすべての引数 (argv) と設定ファイルからの引数 (parsed) を与え、ports を推測することができます。 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