MongoDB集群日志轮转切割

日志文件查看

           

 MongoDB自带机制

            这样会使mongo关闭当前日志文件,重启一个新的日志文件,不需要停止mongodb服务

            

            这种方式简单,但是不够灵活

            2.向进程发送 SIGUSR1 信号来切割日志

             

 定时任务轮转日志

                  

#!/bin/sh

logfile=/var/log/mongodb  #Mongodb日志存放目录
days=7 #代表删除7天前的备份,即只保留最近7天的备份
/bin/kill -SIGUSR1 `cat /data/tianyiyun/mongod/mongos/log/mongos.pid` #切割日志
find $logfile/ -mtime +$days -delete #删除7天前的备份文件
                                                        
cut_mongodb_log.sh    
#!/bin/sh

MONGO_CMD=/usr/local/mongodb/bin/mongo
KEEP_DAY=7

#flush mongod log
datadir=/data/mongodb
port=27017
role=mongod
destdir=/data/backup/mongolog/${role}
if [ ! ‐d "${destdir}" ]; then
  mkdir ‐p ${destdir}
fi
$MONGO_CMD ‐‐authenticationDatabase admin admin ‐ubackup ‐p"*****" ‐‐eval
"db.runCommand({logRotate:1})" ‐‐port $port
mv ${datadir}/mongod.log.????‐??‐??T??‐??‐?? ${destdir}/
find $destdir ‐name "mongod.log.*" ‐mtime +${KEEP_DAY} ‐exec rm ‐rf {} \;
sample.sh
#内容
pidfilepath = /data/tianyiyun/mongod/mongos/log/mongos.pid
logpath = /var/log/mongodb/mongos.log
logappend = true

bind_ip = 0.0.0.0
port = 37017
fork = false

#监听的配置服务器,只能有1个或者3个configs为配置服务器的副本集名字
keyFile=/data/tianyiyun/conf/keyFile.key




configdb = configs/192.168.0.113:31000,192.168.0.171:31000,192.168.0.57:31000
#设置最大连接数
maxConns = 20000
mongos.conf

    crontab -e
    0 0 * * * /data/tianyiyun/cut_mongodb_log.sh    #表示每天凌晨执行备份

  mongodb配置文件格式  

      MongoDB目前支持两种配置文件格式,第一种就是普通的key=value这种格式,跟MySQL一样

      第二种是yaml格式,而且新版本的MongoDB更推荐使用yaml格式的配置文件写法

#内容
pidfilepath = /data/tianyiyun/mongod/mongos/log/mongos.pid
logpath = /var/log/mongodb/mongos.log
logappend = true

bind_ip = 0.0.0.0
port = 37017
fork = false

#监听的配置服务器,只能有1个或者3个configs为配置服务器的副本集名字
keyFile=/data/tianyiyun/conf/keyFile.key





configdb = configs/192.168.0.113:31000,192.168.0.171:31000,192.168.0.57:31000
#设置最大连接数
maxConns = 2000
普通格式
systemLog:
  destination: file
  logAppend: true
  path:  /var/log/mongodb/mongos.log

processManagement:
  fork: false
  pidFilePath: /data/tianyiyun/mongod/mongos/log/mongos.pid

# network interfaces
net:
  port: 37017
  bindIp: 0.0.0.0
  maxIncomingConnections: 2000

sharding:
   configDB: configs/192.168.0.57:31000,192.168.0.171:31000,192.168.0.113:31000


security:
   keyFile: /data/tianyiyun/conf/keyFile.key
   clusterAuthMode: keyFile


setParameter:
  diagnosticDataCollectionEnabled: false
yaml格式 

 

日志生产量

       

      find /var/log/mongodb/ -mtime +1 -delete

      

     修改日志保留时长

     

 

posted @ 2022-08-08 11:16  不懂123  阅读(330)  评论(0编辑  收藏  举报