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数据库常用的10条操作命令
Jun 18 MongoDB
Mongo服务重启异常问题的处理方法
Jul 01 MongoDB
mongodb的安装和开机自启动详细讲解
Aug 02 MongoDB
mongodb数据库迁移变更的解决方案
Sep 04 MongoDB
mongodb清除连接和日志的正确方法分享
Sep 15 MongoDB
SpringBoot 整合mongoDB并自定义连接池的示例代码
Feb 28 MongoDB
一次线上mongo慢查询问题排查处理记录
Mar 18 MongoDB
MongoDB支持的数据类型
Apr 11 MongoDB
MongoDB修改oplog大小的四种方法
Apr 11 MongoDB
Centos系统通过Docker安装并搭建MongoDB数据库
Apr 12 MongoDB
NoSQL优缺点与MongoDB数据库简介
Jun 05 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
Zend Framework教程之Zend_Form组件实现表单提交并显示错误提示的方法
2016/03/21 PHP
php执行多个存储过程的方法【基于thinkPHP】
2016/11/08 PHP
关于PHP5.6+版本“No input file specified”问题的解决
2019/12/11 PHP
javascript模块化是什么及其优缺点介绍
2013/09/02 Javascript
jquery动态改变form属性提交表单
2014/06/03 Javascript
js实现搜索框关键字智能匹配代码
2020/03/26 Javascript
jquery获取复选框的值的简单实例
2016/05/26 Javascript
jQuery中JSONP的两种实现方式详解
2016/09/26 Javascript
JS实现类似51job上的地区选择效果示例
2016/11/17 Javascript
js操作浏览器的参数方法
2017/01/21 Javascript
Avalonjs双向数据绑定与监听的实例代码
2017/06/23 Javascript
js中apply()和call()的区别与用法实例分析
2018/08/14 Javascript
理顺8个版本vue的区别(小结)
2018/09/17 Javascript
JavaScript函数式编程(Functional Programming)纯函数用法分析
2019/05/22 Javascript
nodejs环境使用Typeorm连接查询Oracle数据
2019/12/05 NodeJs
解决vue scoped scss 无效的问题
2020/09/04 Javascript
学习python (2)
2006/10/31 Python
python检测服务器是否正常
2014/02/16 Python
Python实现基于HTTP文件传输实例
2014/11/08 Python
python连接远程ftp服务器并列出目录下文件的方法
2015/04/01 Python
仅用50行Python代码实现一个简单的代理服务器
2015/04/08 Python
Python实现简单HTML表格解析的方法
2015/06/15 Python
python中yaml配置文件模块的使用详解
2018/04/27 Python
Python实现对文件进行单词划分并去重排序操作示例
2018/07/10 Python
python2.7实现邮件发送功能
2018/12/12 Python
结合OpenCV与TensorFlow进行人脸识别的实现
2019/10/10 Python
Python 数据分析之逐块读取文本的实现
2020/12/14 Python
Python解析m3u8拼接下载mp4视频文件的示例代码
2021/03/03 Python
HTML5 Canvas之测试浏览器是否支持Canvas的方法
2015/01/01 HTML / CSS
美国Rue La La闪购网站:奢侈品、中高档品牌限时折扣
2016/10/19 全球购物
印尼第一大家居、生活和家具电子商务:Ruparupa
2019/11/25 全球购物
吸烟检讨书2000字
2014/02/13 职场文书
三项教育活动实施方案
2014/03/30 职场文书
基层党组织整改方案
2014/10/25 职场文书
入党介绍人意见怎么写
2015/06/03 职场文书
Docker下安装Oracle19c
2022/04/13 Servers