MongoDB慢sql统计

为了防止mongodb的部分垃圾sql拖慢数据库,采集慢sql还是很有必要的。

 官方文档有些可供参考: https://docs.mongodb.com/manual/reference/method/db.currentOp/

 

cat /root/scripts/monit_mongo_slowlog.sh 

#!/bin/bash
# 检查mongodb上查询执行超过2s的操作,并发送邮件
# 官方文档 https://docs.mongodb.com/manual/reference/method/db.currentOp/

source /etc/profile

echo 'db.currentOp( { "active" : true, "secs_running" : { "$gte" : 2 } ,"op" : { "$in" : [ "insert", "update", "remove","query" ] } , "ns" : /^db1|db2|db3|db4\./ } )' | mongo 127.0.0.1:27017/admin -uroot -p123456 > /root/mongo_slowlog

[ `wc -l /root/mongo_slowlog | awk '{print $1}' ` -eq 4 ] && exit || cat /root/mongo_slowlog | mailx -v -s "$(hostname -s) 出现超过2s的慢查" xxxxx@qq.com

 

然后,可以添加一个每2分钟一次的cronjob

*/2 * * * * sh /root/scripts/monit_mongo_slowlog.sh >/dev/null 2>&1

 

 

捕获到的慢sql 会自动通过邮件发送出来,类似如下:

 

转载于:https://www.cnblogs.com/lirulei90/p/10405252.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值