如何在MongoDB集合中获取有关进程编写的信息

如何在MongoDB集合中获取有关进程编写的信息,mongodb,Mongodb,MongoDB中有一个集合,在此集合中定期添加一些文档。我关闭了在此集合中写入的应用程序,但此过程不会停止 如何获取有关IP或写入进程名称的信息 版本:MongoDB 2.6 我尝试了tcpdump嗅探mongo主机,但没有得到任何信息。您可以从mongo shell上的以下命令中获得大量信息: db.currentOp(true).inprog.reduce( (accumulator, connection) => { ipaddress = connection.clie

MongoDB中有一个集合,在此集合中定期添加一些文档。我关闭了在此集合中写入的应用程序,但此过程不会停止

如何获取有关IP或写入进程名称的信息

版本:MongoDB 2.6


我尝试了
tcpdump
嗅探mongo主机,但没有得到任何信息。

您可以从mongo shell上的以下命令中获得大量信息:

db.currentOp(true).inprog.reduce(
  (accumulator, connection) => {
    ipaddress = connection.client;
    accumulator[ipaddress] = (accumulator[ipaddress] || 0) + 1;
    accumulator["TOTAL_CONNECTION_COUNT"]++;
    return accumulator;
  },
  { TOTAL_CONNECTION_COUNT: 0 }
)

从linux shell:

sudo netstat -anp --tcp --udp | grep -i mongo

谢谢你的回答,我得到了很多ip地址,因为很多应用都使用MongoDB。如何获取有关此集合中的特定集合和ip写入的更准确信息?您可以使用db.collection.stats(),或访问oplog,在这里您可以找到任何单个操作中涉及的集合和文档(ns)以及操作类型(op),但请注意,因为访问oplog非常繁重,所以至少要避免从你的主人那里进入。
sudo netstat -anp --tcp --udp | grep -i mongo