2

我们使用 mongoDB 作为生产数据库的 DBMS。我们为我们的数据库启用了 2 个副本集。

出乎意料的是,我们注意到我们生产中的两个数据库都已被删除。我们绝对确定没有人这样做。当我们查看日志时,我们注意到两个数据库上的 dropDatabase 确实被调用了。但是,我们找不到连接建立的任何日志语句。如果有人使用 mongo shell 或 bash 删除数据库,那么也应该有新连接的日志。

Primary 的日志语句:

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 服务器到底发生了什么。此外,任何指针将不胜感激。

4

1 回答 1

0

如果您的实例仍在运行,您可以发出

db.adminCommand( { getLog: "global" } )

为了找出发生了什么。getLog命令从 RAM 而不是从日志文件中读取 MongoDB 日志 - 以防万一有人篡改了日志文件,甚至......

于 2017-08-22T20:00:12.157 回答