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数据库常用的10条操作命令
Jun 18 MongoDB
MongoDB 常用的crud操作语句
Jun 20 MongoDB
SpringBoot整合MongoDB的实现步骤
Jun 23 MongoDB
浅析MongoDB之安全认证
Jun 26 MongoDB
阿里云服务器部署mongodb的详细过程
Sep 04 MongoDB
关于CentOS 8 搭建MongoDB4.4分片集群的问题
Oct 24 MongoDB
springboot + mongodb 通过经纬度坐标匹配平面区域的方法
Nov 01 MongoDB
MongoDB使用场景总结
Feb 24 MongoDB
一次线上mongo慢查询问题排查处理记录
Mar 18 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
异步加载技术实现当滚动条到最底部的瀑布流效果
2014/09/16 PHP
Laravel 6.2 中添加了可调用容器对象的方法
2019/10/22 PHP
js利用Array.splice实现Array的insert/remove
2009/01/13 Javascript
javascript控制swfObject应用介绍
2012/11/29 Javascript
select标签模拟/美化方法采用JS外挂式插件
2013/04/01 Javascript
Node.js中使用Log.io在浏览器中实时监控日志(等同tail -f命令)
2014/09/17 Javascript
ajax如何实现页面局部跳转与结果返回
2015/08/24 Javascript
BootStrap中Tab页签切换实例代码
2016/05/30 Javascript
详解jQuery停止动画——stop()方法的使用
2016/12/14 Javascript
javascript中闭包概念与用法深入理解
2016/12/15 Javascript
JavaScript正则替换HTML标签功能示例
2017/03/02 Javascript
基于JavaScript实现幸运抽奖页面
2020/07/05 Javascript
Vue中使用webpack别名的方法实例详解
2018/06/19 Javascript
微信小程序的开发范式BeautyWe.js入门详解
2019/07/10 Javascript
vue将后台数据时间戳转换成日期格式
2019/07/31 Javascript
解决layer.confirm选择完之后消息框不消失的问题
2019/09/16 Javascript
JavaScript原型式继承实现方法
2019/11/06 Javascript
javascript实现商品图片放大镜
2019/11/28 Javascript
vue tab切换,解决echartst图表宽度只有100px的问题
2020/07/19 Javascript
解决element-ui的下拉框有值却无法选中的情况
2020/11/07 Javascript
原生JS实现pc端轮播图效果
2020/12/21 Javascript
用python分割TXT文件成4K的TXT文件
2009/05/23 Python
python使用arp欺骗伪造网关的方法
2015/04/24 Python
解决pandas.DataFrame.fillna 填充Nan失败的问题
2018/11/06 Python
python_opencv用线段画封闭矩形的实例
2018/12/05 Python
浅谈Python 多进程默认不能共享全局变量的问题
2019/01/11 Python
解决Django 在ForeignKey中出现 non-nullable field错误的问题
2019/08/06 Python
pygame实现俄罗斯方块游戏(对战篇1)
2019/10/29 Python
使用批处理脚本自动生成并上传NuGet包(操作方法)
2019/11/19 Python
CSS实现定位元素居中的方法
2015/06/23 HTML / CSS
详解Html5中video标签那些属性和方法
2019/07/01 HTML / CSS
基于HTML5陀螺仪实现ofo首页眼睛移动效果的示例
2017/07/31 HTML / CSS
群众路线教育实践活动总结
2014/10/30 职场文书
Nginx域名转发https访问的实现
2021/03/31 Servers
图文详解Nginx版本平滑升级方案
2021/09/15 Servers
漫画「你在春天醒来」第10卷封面公开
2022/03/21 日漫