与mongodb的文档相关,数据库命令(如count )将被记录为组件命令。但是,db.count()和db.runCommand({count:'mycollection'})都不会生成命令日志条目,即使命令的默认日志级别从0提高到1。但是,删除索引、集合或数据库会生成一个命令日志条目,即使默认日志级别为0。
此外,似乎几乎所有的mongodb操作都可以表示为命令(甚至是find),如mongodb的文档所示,因此我想知道如何正确区分记录与查询和命令相关的消息的查询。
我的目标是从用于审计的日志中筛选出(管理)命令(而且我不希望将mongodb的企业版与审计功能一起用于这个目的)。我使用的是mongodb版本4.0.5Linux 64位。
谢谢你为这件事开灯!
发布于 2019-03-02 00:31:05
在将command的详细级别设置为1之后,我能够在日志文件中看到以下条目
2019年-03-01T16:25:56.967-0800 i命令test.icons appName:"MongoDB Shell“命令: COUNT { count:”图标“,$readPreference:{ mode:"secondaryPreferred”},$db:“secondaryPreferred”} planSummary: count :0 docsExamined:0 numYields:0 reslen:45 lock:{ Global:{ r: 1} },数据库:{ acquireCount:{ r: 1} },集合:{ acquireCount:{ r: 1} protocol:op_command 0ms
这里的集合名是icons,数据库是test
我使用下面的命令来增加详细的级别。
db.setLogLevel(1, "command")https://dba.stackexchange.com/questions/231069
复制相似问题