监控MySQL长事务脚本

监控长事务的脚本

#!/bin/bash
mysql -N -uroot -p‘密码‘ -e "select now(),(UNIX_TIMESTAMP(now()) - UNIX_TIMESTAMP(a.trx_started)) diff_sec,b.id,b.user,b.host,b.db,d.SQL_TEXT from information_schema.innodb_trx a inner join
information_schema.PROCESSLIST b
on a.TRX_MYSQL_THREAD_ID=b.id and b.command = ‘Sleep‘
inner join performance_schema.threads c ON b.id = c.PROCESSLIST_ID
inner join performance_schema.events_statements_current d ON d.THREAD_ID = c.THREAD_ID;" | while read A B C D E F G H
do
#echo $C
if [ "$C" -gt 5 ]
then
echo date "+%Y-%m-%d %H:%M:%S"
echo "processid[$D] [email protected]$F in db[$G] hold transaction time $C SQL:$H"
fi
done >> /tmp/longtransaction.txt

    简单说明一下,这里的-gt 5是5秒钟的意思,只要超过了5秒钟就认定是长事务,可以根据实际需要自定义。用法就是定义个定时任务中每分钟执行一次。

原文地址:http://blog.51cto.com/8370646/2150175

时间: 2024-11-06 07:35:38

监控MySQL长事务脚本的相关文章

shell监控MySQL主从状态脚本两则

内容为自己的一点总结,如有不对欢迎狠劲儿拍砖 本文来自http://yijiu.blog.51cto.com/转载请经博主同意,翻版可耻 监控主从复制正常与否 相比各位都应该知道,监控主从是否工作正常,涉及命令如下: show slave status\G; 那么,我们需要关注的参数如下: 1. 首先查看SQL和IO线程是否为YES状态(想必各位都明白了) 2. 是否有延迟 是否大于0   #一般生成环境延迟是否大于500秒,如果大于500则报警,如大于1000则严重报警 #比如传递一个sql到

监控MySQL主从同步脚本

#!/bin/sh#date:2015-12-07#filename:Check_MySQL-rep.sh#作者:linuxzkq #Email:[email protected]#version:v1.0 Mysql_cmd="mysql -uroot -poldboy"Error_num=(1158 1159 1008 1007 1062) while truedo    rep=($($Mysql_cmd -e "show slave status\G;"|e

开发监控MySQL数据库的脚本

操作系统:CentOS release 6.8 (Final) [[email protected] chapter7]# vi  mysql_method.sh echo method1------------ if [ `lsof -i tcp:3306|wc -l` -gt 0 ]     #通过过虑端口号来取值判断  then echo "MySQL  is Running." else echo "MySQL is Stopped." /etc/init.

生产环境监控mysql服务状态

在生产环境中,如果某个重要的服务关闭了,可能会产生不可预料的结果,这时候,我们要作一个脚本,这个脚本可以监控服务状态,在服务关闭的时候,可以自动打开服务,确保用户的利益. 下面我自己写了一个监控Mysql服务的脚本,目前还没有发现bug,如果有大神发现bug的话可以和我说一下哈,本人QQ:1090139534,我也是刚刚学习的,大家可以加我和我交流. #3306是mysqld服务的端口,看看是否是LISTEN状态. stat="`netstat -lnt|grep 3306 |grep  LIS

zabbix监控mysql存活及性能

Zabbix环境已经部署完成:Zabbix_aget: 安装在/etc/zabbix1.开放端口10050 firewall-cmd --zone=public --add-port=10050/tcp --permanent firewall-cmd--reload 2.关闭setenforcesetenforce 0 3.vim /etc/zabbix/zabbix_agentd.d/userparameter_mysql.conf写上: ####监控mysql性能的脚本 UserParam

Nagios 里面监控MySQL事务一直RUNNING没有结束的报警通知

序言:        业务报警订单提交异常,页面一直没有反应,排查后是事务没有提交或者回滚导致,想到如果及时监控事务的运行状态报警出来,那么就可以及时排查出问题所在,方便运营处理,所以自己就弄了一个shell脚本放在nagios来处理事务报警情况.1,编写事务监控脚本 #!/bin/bash# author: tim.man# version: 1.0# desc: check the RUNNING TRANSACTION over ST_OK=0  ST_WR=1  ST_CR=2  ST_

shell脚本:监控MySQL服务是否正常

监控MySQL服务是否正常,通常的思路为:检查3306端口是否启动,ps查看mysqld进程是否启动,命令行登录mysql执行语句返回结果,php或jsp程序检测(需要开发人员开发程序)等等: 方法1:监听3306端口 #!/bin/bash #written by [email protected] port=`netstat -nlt|grep 3306|wc -l` if [ $port -ne 1 ] then  /etc/init.d/mysqld start else  echo "

zabbix脚本监控mysql

Zabbix监控mysql 1.1 客户端配置 1.1.1 安装客户端包 yum -y install unixODBC rpm -ivh zabbix-agent-3.0.3-1.el6.x86_64.rpm 1.1.2 编辑配置文件 注释所有添加以下内容 vim /etc/zabbix/zabbix_agentd.d/userparameter_mysql.conf UserParameter=mysql.version,mysql -V UserParameter=mysql.status

zabbix监控mysql多实例和mariadb自定义脚本及其部署

最近新部署zabbix监控,发现有很多DB服务器都是mysql多实例的状态,mpm默认的mysql监控无法有效的监控mysql的运行状态和复制关系,故针对双实例的mysql制作的手工的zabbix脚本监控如下 首先新建新的zabbix的mysql多实例监控模板,操作如下 名称 为模板信息名称 类型 因为使用的脚本出发所以修改成zabbix捉捕器 键值 脚本返回的信息,可以为数值,也可以是字元,这里定义为字元 数据类型 字元 同时也可以设置主动捕捉,如下:监控多实例端口状态 名称 为模板信息名称