Ответ 1
Из mongo shell запустите db.currentOp(), чтобы показать все активные соединения или db.currentOp(true), чтобы показать все подключения.
Я могу определить текущее количество подключений на
db.serverStatus().connections
но все, что дает мне, - это текущее количество подключений. Есть ли способ определить, какие ips подключены и какой номер соединения им назначен?
Из mongo shell запустите db.currentOp(), чтобы показать все активные соединения или db.currentOp(true), чтобы показать все подключения.
Из оболочки mongo будет напечатан клиентский IP-порт, а также идентификатор соединения:
db.currentOp(true).inprog.forEach(function(d){if(d.client)print(d.client, d.connectionId)})
Примечание: передача true
в db.currentOp()
показывает все соединения (включая простаивание). В документах есть больше примеров фильтрации подключений, см.
ссылка db.currentOp и текущие выходные данные currentOp с описаниями.
Это зависит от вашего движка db, но один простой способ сделать это с помощью netstat, проверяя, что ваша база данных позволяет подключиться, и если у вас есть проблемы с безопасностью, вы можете ограничить ip-адреса, которые соединяются в файле конфигурации. Большинство баз данных по умолчанию позволяют локальному хосту подключаться к ним.