В любом случае, чтобы узнать, какие IP-адреса связаны с db?

Я могу определить текущее количество подключений на

db.serverStatus().connections

но все, что дает мне, - это текущее количество подключений. Есть ли способ определить, какие ips подключены и какой номер соединения им назначен?

Ответы

Ответ 1

Из mongo shell запустите db.currentOp(), чтобы показать все активные соединения или db.currentOp(true), чтобы показать все подключения.

Ответ 2

Из оболочки mongo будет напечатан клиентский IP-порт, а также идентификатор соединения:

db.currentOp(true).inprog.forEach(function(d){if(d.client)print(d.client, d.connectionId)})

Примечание: передача true в db.currentOp() показывает все соединения (включая простаивание). В документах есть больше примеров фильтрации подключений, см. ссылка db.currentOp и текущие выходные данные currentOp с описаниями.

Ответ 3

Это зависит от вашего движка db, но один простой способ сделать это с помощью netstat, проверяя, что ваша база данных позволяет подключиться, и если у вас есть проблемы с безопасностью, вы можете ограничить ip-адреса, которые соединяются в файле конфигурации. Большинство баз данных по умолчанию позволяют локальному хосту подключаться к ним.