千家信息网

MongoDB 实现currentOp定时捕获

发表于:2025-02-02 作者:千家信息网编辑
千家信息网最后更新 2025年02月02日,问题描述:当分析生产环境发生的性能问题时,常常因为没有实时的依据而无从下手。那么笔者通过捕获db.currentOp()到文件,并作为定时任务,可供后续分析。解决方法:步骤一:Shell脚本记录db.
千家信息网最后更新 2025年02月02日MongoDB 实现currentOp定时捕获


问题描述:

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


解决方法:

步骤一:Shell脚本记录db.currentOp()

1. 创建文件夹

mkdir currentOp


2.创建currentOp.sh

#!/bin/shMONGO=/usr/bin/mongoDATE=$(date +%Y%m%d%H%M)CURRENTOPFILE=/home/xucy/currentOp/$DATE$MONGO admin -uxucy -pPassw0rd --eval "rs.slaveOk();printjson(db.currentOp());" > $CURRENTOPFILE 2>&1LOCATION=/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