Mongodb日志类型以及日志轮转

Mongodb日志类型以及日志轮转

1.Mongodb日志类型

系统日志:启动、关闭、错误、警告等。

Journal 日志:保证崩溃恢复的数据完整性。

Oplog:副本集复制操作记录。

慢查询日志:超过 slowms 阈值的操作,包含执行计划、锁等待、CPU 时间等。

优化建议:

开启慢查询日志:db.setProfilingLevel(1, 200)

定期日志轮转:logRotate: rename

敏感数据脱敏:redactClientLogData: true

结合监控工具(如 MongoDB Cloud Manager、Prometheus+Grafana)进行可视化分析。

说明:

db.setProfilingLevel(level,) 0=off 1=slow 2=all

第一个参数是指定级别,不同的级别代表不同的意义,0表示关闭,1表示默认记录耗时大于100毫秒的操作,2表示记录所有操作。第二个参数则是自定义"耗时过长"标准,比如记录所有耗时操作200ms的操作

2.Mongodb日志轮转

1.MongoDB自带机制,执行如下命令可以切换日志文件,不需要重启服务

db.runCommand({logRotate:1})

参考链接:https://mongodb.ac.cn/docs/manual/reference/command/logRotate/

建议配置

复制代码
systemLog:
  quiet: false
  destination: file
  logAppend: true
  logRotate: reopen
  path: /var/log/mongodb/mongod.log

quiet的不同值的含义:

quiet: true:如果将quiet设置为true,MongoDB 会显著减少日志输出量。只有非常重要的日志消息,如严重错误(例如数据库无法启动、关键组件故障等)才会被记录。这种设置在生产环境中可能用于减少日志文件的大小和降低 I/O 负载,但同时也会导致可用于故障排查和系统监控的信息大幅减少。例如,在日常操作过程中,常规的连接建立、查询执行等信息将不会被记录。

quiet: false: 当设置为false时,你会得到更详细的日志,有助于调试和监控 MongoDB 的运行状况。例如,你可以看到每个客户端连接的详细信息、执行的查询语句(如果开启了查询日志记录相关配置)、副本集状态变化等信息,这些对于诊断性能问题、排查连接故障以及了解数据库整体运行情况非常有帮助。例如,在排查某个慢查询问题时,详细的日志可能记录了查询执行的时间、涉及的集合以及查询条件等关键信息。

·destination:定义日志存在哪里,可以设置为file、syslog

·path:日志文件的位置和名称。缺省是:/var/log/mongodb/mongod.log。如果设置了destination: file,就必须配置path

·verbosity:定义日志级别

·quiet:如果设置为true,mongodb会运行在quite模式,限制写入日志的量。生产环境通常建议设置为false

·traceAllExceptions:如果设置为true,会打印verbose信息,提供用于调试的额外信息

·syslogFacility:默认是user,与操作系统的syslog设置有关

·logAppend:如果设置为 true,重启后将日志条目追加到已经存在日志文件;如果设置为 false,重启后将创建新的日志文件,并将老的日志文件做备份。

·logRotate:设置日志文件rotation,可以设置成rename、reopen。rename会在老的日志文件后面加上时间戳,并打开新的日志文件;reopen会关闭原来的日志文件并重新打开它。

相关推荐
wangbing112521 分钟前
SQL Server2008 R2版自动备份问题
数据库
Trouvaille ~27 分钟前
【Redis篇】Redis 渐进式遍历与数据库管理
数据库·redis·缓存·中间件·数据库管理·后端开发·scan
xcLeigh33 分钟前
KES数据库运维监控与故障排查实战
运维·数据库·sql·故障排查·运维监控·kes
GlobalSign数字证书35 分钟前
中小企业的 SSL/TLS 证书管理,有更轻量的方案
数据库·网络协议·ssl
梓䈑39 分钟前
【MySQL】库的操作(数据库的创建、查看、修改 和 备份)
数据库·mysql
yuzhiboyouye1 小时前
原生 SQL 常用核心语句基础语法
数据库·sql·oracle
我是一颗柠檬1 小时前
【Redis】事务与Lua脚本Day7(2026年)
数据库·redis·后端·lua·database
流星白龙1 小时前
【MySQL高阶】14.MySQL存储结构
android·数据库·mysql
一只fish1 小时前
Oracle官方文档翻译《Database Concepts 26ai》第18章-进程架构
数据库·oracle
流星白龙2 小时前
【MySQL高阶】17.InnoDB 内存结构
数据库·mysql·adb