美文网首页mongodb
【mongoDB】MongoDB的 4种日志

【mongoDB】MongoDB的 4种日志

作者: Bogon | 来源:发表于2022-09-13 00:08 被阅读0次

任何一种数据库都有各种各样的日志,MongoDB也不例外。

MongoDB中有4种日志:分别是系统日志(log)、Journal日志、主从日志(oplog)、慢查询日志等。

这些日志记录着MongoDB数据库不同方面的踪迹。

  1. 系统日志

系统日志在MongoDB数据库中很重要,它记录着MongoDB启动和停止的操作,以及服务器在运行过程中发生的任何异常信息。

配置系统日志的方法比较简单,在启动mongod时指定logpath参数即可

mongod  -logpath=/path/to/mongod.log   -logappend

系统日志会向logpath指定的文件持续追加。

  1. Journal日志

journaling日志功能则是 MongoDB 里面非常重要的一个功能 ,

它保证了数据库服务器在意外断电 、 自然灾害等情况下数据的完整性。

它通过预写式的redo日志为MongoDB增加了额外的可靠性保障。

开启该功能时,MongoDB会在进行写入时建立一条Journal日志,其中包含了此次写入操作具体更改的磁盘地址和字节。

因此一旦服务器突然停机,可在启动时对日记进行重放,从而重新执行那些停机前没能够刷新到磁盘的写入操作。

WiredTiger使用检查点以提供磁盘上数据的一致视图,并允许MongoDB从最后一个检查点恢复。
但是,如果MongoDB在检查点之间意外退出,则需要日记来恢复上一个检查点之后发生的信息。

从MongoDB 4.0开始,对于使用WiredTiger存储引擎的副本集成员,不能指定—nojournal选项或storage.journal.enabled:false。
使用日志记录的恢复过程:

1.在数据文件中查找最后一个检查点的标识符

2.在日记文件中搜索与最后一个检查点的标识符匹配的记录

3.从上一个检查点开始,将操作应用于日志文件。
  1. 主从日志oplog

Replica Sets复制集用于在多台服务器之间备份数据。

MongoDB的复制功能是使用操作日志oplog实现的,操作日志包含了主节点的每一次写操作。

oplog是主节点的local数据库中的一个固定集合。备份节点通过查询这个集合就可以知道需要进行复制的操作。

  1. 慢查询日志

MongoDB中使用系统分析器(system profiler)来查找耗时过长的操作。

系统分析器记录固定集合system.profile中的操作,

并提供大量有关耗时过长的操作信息,

但相应的mongod的整体性能也会有所下降。

因此我们一般定期打开分析器来获取信息。

参考

mongoDB 参考 > 存储 > 日志记录 > 管理日记
https://mongodb.net.cn/manual/tutorial/manage-journaling

MongoDB中有几种日志?
https://www.cnblogs.com/leoyang63/articles/12023731.html
https://www.cnblogs.com/duanxz/p/4375252.html

MongoDB日志记录
https://mongoing.com/archives/76040
https://mongodb.net.cn/manual/core/journaling

MongoDB 使用规范及最佳实践
https://mongoing.com/archives/82633

一文读懂如何查询 MongoDB 文档
https://mongoing.com/archives/82302

相关文章

  • MongoDB运行日志自动分割

    所谓自动分割MongoDB日志文件,就是指Rotate MongoDB log files,即让MongoDB每天...

  • ubuntu18.04 安装mongoDB

    安装MongoDB 下载mongodb软件包从mongoDB下载软件包 解压 建立数据目录 建立日志目录 添加环境...

  • MongoDB 初探

    这次用mongoDB 只是存储请求日志。 1.mongodb是什么? MongoDB 是由C++语言编写的,是一个...

  • mongo-java-driver 中log4j对其日志的管理

    在项目中引用了mongodb-java-driver的jar包后,日志多出很多mongodb操作的日志,导致自己找...

  • 【mongoDB】MongoDB的 4种日志

    任何一种数据库都有各种各样的日志,MongoDB也不例外。 MongoDB中有4种日志:分别是系统日志(log)、...

  • 十分钟搞定mongodb副本集

    mongodb副本集配置 最近项目中用到了mongodb,由于是用mongodb来记录一些程序的日志信息和日...

  • MongoDB中有几种日志?

    任何一种数据库都有各种各样的日志,MongoDB也不例外。MongoDB中有4种日志,分别是系统日志、Journa...

  • mongodb按天查询数量

    1、引言 最近做报表,日志都是存入mongodb,所以需要从mongodb统计查询。 需求:1、按天查询当天日志条...

  • MongoDB日志输出解析

    如上的日志怎么解读在调教优化MongoDB的过程显得尤为重要,这里做下文档解释。 MongoDB日志文件官方文档在...

  • 【mongoDB】mongoDB journal日志

    运行MongoDB如果开启了journaling日志功能,MongoDB先在内存保存写操作,并记录journali...

网友评论

    本文标题:【mongoDB】MongoDB的 4种日志

    本文链接:https://www.haomeiwen.com/subject/xotcortx.html