设置MongoDb日志详细级别以最小化日志

u4dcyp6a  于 2023-03-22  发布在  Go
关注(0)|答案(1)|浏览(411)

我在mongodb上安装了3个副本。我在mongodb的日志文件中遇到了很多mongodb日志,我想最小化日志,只显示错误,警告和关键日志,而不是连接和访问。我应该设置日志的详细程度?
配置文件中日志的当前设置:

systemLog:
  destination: file
  logAppend: true
  path: /data/log/mongodb/mongod.log
  component:
      accessControl:
         verbosity: 1
      command:
         verbosity: 1
      # COMMENT some component verbosity settings omitted for brevity
      replication:
         verbosity: 1
         election:
            verbosity: 1
         heartbeats:
            verbosity: 1
         initialSync:
            verbosity: 1
         rollback:
            verbosity: 1
      storage:
         verbosity: 1
         journal:
            verbosity: 1
         recovery:
            verbosity: 1
      write:
         verbosity: 1

还有一个问题,日志对mongoDb性能有影响吗?例如,如果我的mongoDb日志文件在一天内会达到30GB的大小,它会影响mongodb的性能吗?

biswetbf

biswetbf1#

默认级别为0,即级别1甚至会增加日志数量。删除component以下的所有内容以使用默认日志记录,并仅为您希望获得更详细日志的组件增加日志记录。
首先,您可以检查哪个组件创建了最多的日志。

for component in ACCESS COMMAND CONTROL ELECTION FTDC GEO INDEX INITSYNC JOURNAL NETWORK QUERY RECOVERY REPL REPL_HB ROLLBACK SHARDING STORAGE TXN WRITE - ; do
   c=$( jq -rcM 'select(.c == "'$component'")' /var/log/mongodb/mongod.log | wc -l )
   echo "$component => $c"
done

我通过将operationProfiling.slowOpThresholdMs设置为一个更高的值来显著地减小日志文件的大小。“慢操作”的默认阈值是100毫秒,我会说这是相当低的。

相关问题