美文网首页
MongoDB日志分割

MongoDB日志分割

作者: 挨踢的懒猫 | 来源:发表于2018-06-12 13:40 被阅读596次

mongo默认是没有进行日志分割的,所有的日志持续写到一个文件中。缺点是很明显的,日志文件会越来越大

  • 占用过多磁盘空间
  • 日志文件写入性能越来越低
  • 问题排查越来越困难

配置分割策略

要实现日志分割,首先要配置日志分割策略,在mongodb的配置中,systemLog下添加logRotate配置。

logRotate总共有两种取值:

rename

说实话,不是很理解这个名字。
这种策略下,需要写一个shell脚本,加到crontab里面
shell脚本内容如下:

#!/bin/sh

datafile=/var/run/mongodb
logfile=/var/log/mongodb
days=15
/bin/kill -SIGUSR1 `cat $datafile/mongod.pid`

find $logfile/ -mtime +$days -delete

crontab配置每晚凌晨0点执行

0 0 * * * /opt/shell/mongodb_log_rotate.sh > /dev/null 2>&1 &

脚本干了两件事

  1. 给mongod进程发出SIGUSR1信号之后,mongod就会乖乖的分割日志。
  2. 清除超过15天的日志

reopen

如果是通过Linux或者Unix系统的logRotate工具来分割,就需要指定reopen, 当然logappend必须也不能少。关闭文件然后重新打开可以防止日志文件丢失。
你需要在/etc/logrotate.d/目录下新建一个名为mongod的文件,加上如下内容:

/var/log/mongodb /*log {
    create 0644 mongod mongod 
    daily
    rotate 15
    missingok
    notifempty
    compress
    sharedscripts
    postrotate
        /bin/kill -USR1 `cat /run/mongodb/mongod.pid 2>/dev/null` 2>/dev/null || true
    endscript
}

这个配置文件的权限必须为-rw-r--r--,不然logrotate不认。

分割之后的文件名格式就是文件名加上分割的时间戳,如mongod.log.2018-05-16T13-08-58。当然这个时间格式可以通过timeStampFormat来配置,默认的是iso8601-local,还可以选择ctimeiso8601-utc

相关文章

  • MongoDB运行日志自动分割

    所谓自动分割MongoDB日志文件,就是指Rotate MongoDB log files,即让MongoDB每天...

  • MongoDB日志分割

    mongo默认是没有进行日志分割的,所有的日志持续写到一个文件中。缺点是很明显的,日志文件会越来越大 占用过多磁盘...

  • logging 模块使用

    简单使用 日志分割 按天分割, 保留5份历史日志 日志等级(level) logging.warn('error ...

  • shell脚本实现日志收集

    一、日志分割 在日志产生端使用logrotate将日志按照小时分割 vim /etc/logrotate.conf...

  • logrotate命令

    说明 logrotate命令是一个日志分割命令 用法 这里以 nginx日志为例 开启日志功能 配置日志分割规则 ...

  • Hadoop日志按天分割和开启审计日志

    Hadoop日志按天分割和开启审计日志 hadoop 各个组件默认日志是大小分割的,到一定大小就分割出 .1 .2...

  • 分割mongo数据库

    参考文章:180万的MongoDB数据,如何分割? MongoDB 数据导出mongoexport 利用mongo...

  • 日志文件

    日志文件分割

  • Funboot开发:系统日志组件

    系统日志组件 目录 系统日志 使用MongoDb存储日志 系统日志 系统日志分为操作日志、错误日志、登录日志、数据...

  • 【mongoDB】MongoDB的 4种日志

    任何一种数据库都有各种各样的日志,MongoDB也不例外。 MongoDB中有4种日志:分别是系统日志(log)、...

网友评论

      本文标题:MongoDB日志分割

      本文链接:https://www.haomeiwen.com/subject/dhileftx.html