Я могу определить текущее количество соединений по
db.serverStatus().connections
, но все, что мне дает, это текущее количество соединений.Есть ли какой-нибудь способ определить, какие ips подключены и какой номер подключения им назначен?
В оболочке mongo запустите 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 с описаниями .
true
db.currentOp()
Это зависит от вашего движка БД, но одним простым способом вы можете сделать это с помощью netstat, проверяя порт, который позволяет подключать ваша база данных, и, если у вас есть проблемы с безопасностью, вы можете ограничить IP-адреса, которые подключаются в файле конфигурации.Большинство баз данных по умолчанию разрешают только локальный хост подключаться к ним.