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

相关推荐
IvorySQL3 分钟前
PostgreSQL 日报|修复截断 zstd 备份检测(10 月 9 日)
数据库·postgresql
刘胡子大叔26 分钟前
SQL 脚本的导入顺序
数据库·sql
代码什么用1 小时前
Spring对IoC的实现
数据库·spring
hz567893 小时前
涉密视频会议设备配置指南:终端、音视频采集与配套设施选型
服务器·网络·数据库·安全·实时音视频·信息与通信·智能硬件
广州浮点FLOATLIC3 小时前
许可证服务器迁移后软件打不开:研发 IT 怎样定位连接问题
linux·服务器·数据库
程序员Sunday3 小时前
MySQL 为什么使用 B+ 树索引?把范围查询、回表和覆盖索引连起来
数据库·mysql
半杯咖啡半行码3 小时前
Qt开发实战:数据库、MV 模式、QProcess与串口通信全攻略
数据库·qt
小米里的大麦4 小时前
16 MySQL 事务
数据库·mysql
西柚小萌新4 小时前
【LLM&&AI应用开发 八股文】--4.3.Agent智能体(下)
java·开发语言·数据库
邓工说电5 小时前
智慧断路器安全吗?数据加密、离线保护与合规认证全解读
大数据·数据库·人工智能·智能断路器·炜晔科技