linux下mysql监控脚本

本文介绍了一个用于监控MySQL线程数并发送邮件告警的脚本。该脚本能够获取MySQL正在运行的线程数及全部线程数,并在超过预设阈值时发送邮件通知管理员。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

#mysql正在running的线程数(排除了sleep的)
mysqlRunID=$(mysql -u***** -p***** -P3306 -BNe "select count(*)from information_schema.processlist where info is not null;")
echo "mysql正在running的线程数为$mysqlRunID"
#Mysql的全部线程
mysqlID=$(mysql -u***** -p***** -P3306 -BNe "select count(*)from information_schema.processlist;")
echo "mysql的全部线程数为$mysqlID"
#发送邮件地址
email_address=**********@qq.com
#当前服务器ip
IP=$(ifconfig -a|awk '/(cast)/ {print $2}'|cut -d':' -f2|head -1)
#日志输出
mysqlThreadLog=/tmp/mysqlThread.log


Monitor()
{
echo "[info]开始监控,mysql...[$(date +'%F %H:%M:%S')]"
  # 这里判断mysql线程是否大于60
if [ $mysqlID -gt 60 ] ; then
echo "[info]当前mysql的进程数为$mysqlID"
echo "[error]发送告警开启邮件"  
# | mail -s mail命令一定要有空格
echo "$IP的mysql线程数已经超过60,发送告警开启邮件 [$(date +'%F %H:%M:%S')],mysql的全部线程数为$mysqlID,mysql正在running的线程数为$mysqlRunID" | mail -s "*****mysql报警开启" $email_address
fi
echo "------------------------------"


}
Monitor>>$mysqlThreadLog

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值