我们将mongoDB用作生产数据库的DBMS。我们为数据库启用了2个副本集。
出乎意料的是,我们发现生产中的两个数据库都被删除了。我们绝对相信没有人可以访问它。当我们浏览日志时,我们注意到两个数据库上的dropDatabase确实已被调用。但是,我们找不到任何连接建立的日志语句。如果有人使用mongo shell或bash删除数据库,那么也应该有新连接的日志。
主要日志声明:
2017-08-17T14:38:47.019+0000 I - [conn527] AssertionException handling request, closing client connection: 17132 SSL handshake received but server is started without SSL support
2017-08-22T00:18:22.694+0000 I COMMAND [conn541] dropDatabase db1 starting
2017-08-22T00:18:22.708+0000 I COMMAND [conn541] dropDatabase db1 finished
2017-08-22T00:18:23.832+0000 I COMMAND [conn542] dropDatabase db2 starting
2017-08-22T00:18:23.843+0000 I COMMAND [conn542] dropDatabase db2 finished
从第一行的时间戳可以看出,过去5天内没有与mongo服务器建立新的连接
有人可以帮助我们了解我们的mongodb服务器究竟发生了什么。此外,任何指针将不胜感激。
答案 0 :(得分:0)
如果您的实例仍在运行,您可以发出
db.adminCommand( { getLog: "global" } )
以了解发生了什么。 getLog命令从RAM而不是日志文件中读取MongoDB日志 - 以防万一有人篡改了日志文件...