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 常用的crud操作语句
Jun 20 MongoDB
MongoDB orm框架的注意事项及简单使用
Jun 20 MongoDB
SpringBoot整合MongoDB的实现步骤
Jun 23 MongoDB
浅析MongoDB之安全认证
Jun 26 MongoDB
关于CentOS 8 搭建MongoDB4.4分片集群的问题
Oct 24 MongoDB
SpringBoot系列之MongoDB Aggregations用法详解
Feb 12 MongoDB
SpringBoot 整合mongoDB并自定义连接池的示例代码
Feb 28 MongoDB
一次线上mongo慢查询问题排查处理记录
Mar 18 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
收音机的保养
2021/03/01 无线电
PHP 创建标签云函数代码
2010/05/26 PHP
浅析php中json_encode()和json_decode()
2014/05/25 PHP
9个经典的PHP代码片段分享
2014/12/18 PHP
PHP如何使用cURL实现Get和Post请求
2020/07/11 PHP
JS面向对象、prototype、call()、apply()
2009/05/14 Javascript
XmlUtils JS操作XML工具类
2009/10/01 Javascript
Angularjs实现搜索关键字高亮显示效果
2017/01/17 Javascript
史上最全JavaScript数组去重的十种方法(推荐)
2017/08/17 Javascript
jQuery实现form表单序列化转换为json对象功能示例
2018/05/23 jQuery
vue-自定义组件传值的实例讲解
2018/09/18 Javascript
JS正则表达式封装与使用操作示例
2019/05/15 Javascript
JavaScript 实现同时选取多个时间段的方法
2019/10/17 Javascript
vue props对象validator自定义函数实例
2019/11/13 Javascript
vue 路由守卫(导航守卫)及其具体使用
2020/02/25 Javascript
微信小程序实现音乐播放页面布局
2020/12/11 Javascript
js实现验证码干扰(静态)
2021/02/22 Javascript
[05:13]TI4 中国战队 机场出征!!
2014/07/07 DOTA
Python Deque 模块使用详解
2014/07/04 Python
python 采集中文乱码问题的完美解决方法
2016/09/27 Python
python3 pandas 读取MySQL数据和插入的实例
2018/04/20 Python
详解通过API管理或定制开发ECS实例
2018/09/30 Python
scrapy-redis的安装部署步骤讲解
2019/02/27 Python
python根据完整路径获得盘名/路径名/文件名/文件扩展名的方法
2020/04/22 Python
解决TensorFlow训练模型及保存数量限制的问题
2021/03/03 Python
CSS3实现瀑布流布局与无限加载图片相册的实例代码
2016/12/22 HTML / CSS
html5与css3小应用
2013/04/03 HTML / CSS
德国奢侈品网上商城:Mytheresa
2016/08/24 全球购物
印尼美容产品购物网站:PerfectBeauty.id
2017/12/01 全球购物
J2EE相关知识面试题
2013/08/26 面试题
小学毕业家长寄语
2014/01/19 职场文书
美术专业自荐信
2014/07/07 职场文书
2014年城管工作总结
2014/11/20 职场文书
Python爬虫:从m3u8文件里提取小视频的正确操作
2021/05/14 Python
配置nginx 重定向到系统维护页面
2021/06/08 Servers
Python爬取奶茶店数据分析哪家最好喝以及性价比
2022/09/23 Python