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会关闭原来的日志文件并重新打开它。

相关推荐
辞旧 lekkk9 小时前
【Qt】信号和槽
linux·开发语言·数据库·qt·学习·mysql·萌新
2301_8092047010 小时前
JavaScript中严格模式use-strict对引擎解析的辅助.txt
jvm·数据库·python
zjy2777711 小时前
mysql如何选择合适的索引类型_mysql索引设计实战
jvm·数据库·python
笨蛋不要掉眼泪11 小时前
Mysql架构揭秘:update语句的执行流程
数据库·mysql·架构
万邦科技Lafite11 小时前
京东item_get接口实战案例:实时商品价格监控全流程解析
java·开发语言·数据库·python·开放api·淘宝开放平台
秋912 小时前
ruoyi项目更换为mysql9.7.0数据库
数据库
Andya_net12 小时前
MySQL | MySQL 8.0 权限管理实践-精确赋予库、表只读等权限
android·数据库·mysql
筑梦之路13 小时前
harbor数据库报错权限异常如何处理——筑梦之路
数据库·harbor
czlczl2002092514 小时前
理解 MySQL 行锁:两阶段锁协议与热点更新优化
数据库·mysql
AllData公司负责人14 小时前
通过Postgresql同步到Doris,全视角演示AllData数据中台核心功能效果,涵盖:数据入湖仓,数据同步,数据处理,数据服务,BI可视化驾驶舱
java·大数据·数据库·数据仓库·人工智能·python·postgresql