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 balancer的使用详解
Apr 30 MongoDB
MongoDB数据库的安装步骤
Jun 18 MongoDB
MongoDB 常用的crud操作语句
Jun 20 MongoDB
Mongo服务重启异常问题的处理方法
Jul 01 MongoDB
阿里云服务器部署mongodb的详细过程
Sep 04 MongoDB
MongoDB日志切割的三种方式总结
Sep 15 MongoDB
MongoDB支持的数据类型
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
用PHP和ACCESS写聊天室(六)
2006/10/09 PHP
PHP 进度条函数的简单实例
2017/09/19 PHP
PHP实现微信公众号验证Token的示例代码
2019/12/16 PHP
laravel邮件发送的实现代码示例
2020/01/31 PHP
javascript对数组的常用操作代码 数组方法总汇
2011/01/27 Javascript
js数组操作学习总结
2013/11/04 Javascript
Flex通过JS获取客户端IP和计算机名的实例代码
2013/11/21 Javascript
jquery使用ajax实现微信自动回复插件
2014/04/28 Javascript
基于jQuery实现的文字按钮表单特效整理
2014/12/07 Javascript
JQuery实现带排序功能的权限选择实例
2015/05/18 Javascript
JavaScript 判断一个对象{}是否为空对象的简单方法
2016/10/09 Javascript
详解nodejs中的process进程
2017/03/19 NodeJs
Angular2 父子组件数据通信实例
2017/06/22 Javascript
基于JavaScript实现报警器提示音效果
2017/10/27 Javascript
JS动态插入脚本和插入引用外部链接脚本的方法
2018/05/21 Javascript
如何在vue里面优雅的解决跨域(路由冲突问题)
2019/01/20 Javascript
Python中列表(list)操作方法汇总
2014/08/18 Python
详解Python发送邮件实例
2016/01/10 Python
Python3 中文文件读写方法
2018/01/23 Python
Django中反向生成models.py的实例讲解
2018/05/30 Python
python截取两个单词之间的内容方法
2018/12/25 Python
python读取几个G的csv文件方法
2019/01/07 Python
python getpass实现密文实例详解
2019/09/24 Python
vscode配置anaconda3的方法步骤
2020/08/08 Python
html5 canvas绘制放射性渐变色效果
2018/01/04 HTML / CSS
英国50岁以上人群的交友网站:Ourtime
2018/03/28 全球购物
设计部经理的岗位职责
2013/11/16 职场文书
综治宣传月活动总结
2014/04/28 职场文书
医院搬迁方案
2014/06/14 职场文书
医学专业大学生求职信
2014/07/12 职场文书
2015年民主评议党员工作总结
2015/05/19 职场文书
花田少年史观后感
2015/06/16 职场文书
2016年感恩母亲节活动总结
2016/04/01 职场文书
HTML页面滚动时部分内容位置固定不滚动的实现
2021/04/14 HTML / CSS
Nginx反向代理配置的全过程记录
2021/06/22 Servers
Nginx实现会话保持的两种方式
2022/03/18 Servers