欢迎光临
我们一直在努力

MongoDB 实现currentOp定时捕获

问题描述:

当分析生产环境发生的性能问题时,常常因为没有实时的依据而无从下手。那么笔者通过捕获db.currentOp()到文件,并作为定时任务,可供后续分析。

 
解决方法:
 
步骤一:Shell脚本记录db.currentOp()

1. 创建文件夹

mkdir currentOp

2.创建currentOp.sh

#!/bin/sh
MONGO=/usr/bin/mongo
DATE=$(date +%Y%m%d%H%M)
CURRENTOPFILE=/home/xucy/currentOp/$DATE
$MONGO admin -uxucy –pPassw0rd --eval "rs.slaveOk();printjson(db.currentOp());" > $CURRENTOPFILE 2>&1
LOCATION=/home/xucy/currentOp/
find $LOCATION -mtime +1 -type f |xargs rm -f

 
步骤二:加入Crontab定时任务

crontab –e
*/5 * * * * /bin/sh /home/xucy/currentOp.sh > /dev/null 2>&1

赞(0)
【声明】:本博客不参与任何交易,也非中介,仅记录个人感兴趣的主机测评结果和优惠活动,内容均不作直接、间接、法定、约定的保证。访问本博客请务必遵守有关互联网的相关法律、规定与规则。一旦您访问本博客,即表示您已经知晓并接受了此声明通告。