MongoDB日志切割的三种方式总结


Posted in MongoDB onSeptember 15, 2021

前言

线上运行的服务会产生大量的运行及访问日志,日志里会包含一些错误、警告及用户行为等信息。通常服务会以文本的形式记录日志信息,这样可读性强,方便于日常定位问题。但当产生大量的日志之后,要想从大量日志里挖掘出有价值的内容,则需要对数据进行进一步的存储和分析。

任何一种数据库都有各种各样的日志,MongoDB也不例外。MongoDB中有4种日志,分别是系统日志、Journal日志、oplog主从日志、慢查询日志等。这些日志记录着MongoDB数据库不同方面的踪迹

MongoDB 默认是不会进行切割日志的,除非我们配置了 logRotate = rename,并且重启 MongoDB 服务,才会进行切割日志的,那么为了避免实际中我们一个日志文件过大,我们需要对日志进行切割,有两个办法:

方法如下

1. 通过 MongoDB 管理命令进行切割

使用该命令时需要在 MongoDB 运行时指定日志文件路径。--logpath [file] ,或者在配置文件中指定。

use admin
db.runCommand({logRotate:1})

2. 通过 Linux 系统自带的服务 logrotate 进行切割

首先我们需要配置 MongoDB 参数 logRotate = reopen, logappend = true,然后通过 Linux 系统自带的 logrotate。配置文件放置在 /etc/logrotate.d/, 切割配置文件示例:

/opt/mongodb/log/mongodb.log {
rotate 180  
daily
size 100M
olddir /opt/mongodb/log/oldlog
copytruncate
dateext
compress
notifempty
missingok
}

3. 通过向进程发送 SIGUSR1 信号来切割日志

如果我们的进程 id 是19555,那么我们可以通过以下命令来切割日志的。只要我们执行了该命令,日志就会立即进行切割。

kill -SIGUSR1   19555

总结

到此这篇关于MongoDB日志切割的三种方式的文章就介绍到这了,更多相关MongoDB日志切割内容请搜索三水点靠木以前的文章或继续浏览下面的相关文章希望大家以后多多支持三水点靠木!

MongoDB 相关文章推荐
MongoDB使用profile分析慢查询的步骤
Apr 30 MongoDB
MongoDB balancer的使用详解
Apr 30 MongoDB
MongoDB数据库常用的10条操作命令
Jun 18 MongoDB
MongoDB orm框架的注意事项及简单使用
Jun 20 MongoDB
详解MongoDB的条件查询和排序
Jun 23 MongoDB
SpringBoot整合MongoDB的实现步骤
Jun 23 MongoDB
SpringBoot 整合mongoDB并自定义连接池的示例代码
Feb 28 MongoDB
MongoDB数据库部署环境准备及使用介绍
Mar 21 MongoDB
MongoDB误操作后使用oplog恢复数据
Apr 11 MongoDB
MongoDB支持的索引类型
Apr 11 MongoDB
MongoDB修改oplog大小的四种方法
Apr 11 MongoDB
详解MongoDB排序时内存大小限制与创建索引的注意事项
May 06 MongoDB
mongodb清除连接和日志的正确方法分享
Sep 15 #MongoDB
阿里云服务器部署mongodb的详细过程
Sep 04 #MongoDB
mongodb数据库迁移变更的解决方案
Sep 04 #MongoDB
mongodb的安装和开机自启动详细讲解
Aug 02 #MongoDB
常用的MongoDB查询语句的示例代码
Jul 25 #MongoDB
Mongo服务重启异常问题的处理方法
Jul 01 #MongoDB
MongoDB安装使用并实现Python操作数据库
You might like
牡丹941资料
2021/03/01 无线电
用PHP实现Ftp用户的在线管理
2012/02/16 PHP
php的XML文件解释类应用实例
2014/09/22 PHP
php 5.6版本中编写一个PHP扩展的简单示例
2015/01/20 PHP
PHP实现简单数字分页效果
2015/07/26 PHP
php+ajax无刷新上传图片的实现方法
2016/12/06 PHP
Jquery中使用setInterval和setTimeout的方法
2013/04/08 Javascript
JavaScript实现按照指定长度为数字前面补零输出的方法
2015/03/19 Javascript
JavaScript获取按钮所在form表单id的方法
2015/04/02 Javascript
AngualrJS中的Directive制作一个菜单
2016/01/26 Javascript
JS创建事件的三种方法(实例代码)
2016/05/12 Javascript
Google 地图叠加层实例讲解
2016/08/06 Javascript
JavaScript中访问id对象 属性的方式访问属性(实例代码)
2016/10/28 Javascript
JS使用插件cryptojs进行加密解密数据实例
2017/05/11 Javascript
ReactNative之键盘Keyboard的弹出与消失示例
2017/07/11 Javascript
JavaScript实现的原生态兼容IE6可调可控滚动文字功能详解
2017/09/19 Javascript
详解VUE2.X过滤器的使用方法
2018/01/11 Javascript
JavaScript设计模式之工厂模式和抽象工厂模式定义与用法分析
2018/07/26 Javascript
python实现网页链接提取的方法分享
2014/02/25 Python
Python3.6.2调用ffmpeg的方法
2019/01/10 Python
python读取.mat文件的数据及实例代码
2019/07/12 Python
python对Excel按条件进行内容补充(推荐)
2019/11/24 Python
结束运行python的方法
2020/06/16 Python
全球领先的鞋类零售商:The Walking Company
2016/07/21 全球购物
DogBuddy荷兰:找到你最完美的狗保姆
2019/04/17 全球购物
值传递还是引用传递
2015/02/08 面试题
ruby如何进行集成操作?Ruby能进行多重继承吗?
2013/10/16 面试题
求职者应聘的自我评价
2013/10/16 职场文书
电子信息专业应届生自荐信
2014/06/04 职场文书
运动会加油稿20字
2014/11/15 职场文书
公司酒会主持词
2015/07/02 职场文书
2016年春节慰问信息大全
2015/11/30 职场文书
《乘法分配律》教学反思
2016/02/24 职场文书
公司员工违法违章行为检讨书
2019/06/24 职场文书
解析MySQL binlog
2021/06/11 MySQL
Spring Security中用JWT退出登录时遇到的坑
2021/10/16 Java/Android