shell 监控mysql状态

#!/bin/bash 
#/usr/bin/nmap localhost | grep 3306 
#lsof -i:3306 
MYSQLPORT=`netstat -na|grep "LISTEN"|grep "3306"|awk -F[:" "]+ ‘{print $5}‘`

function checkMysqlStatus(){ 
/usr/bin/mysql -uroot -paaaaaa --connect_timeout=5 -e "show databases;" &>/dev/null 2>&1 
if [ $? -ne 0 ] 
then 
restartMysqlService 
if [ "$MYSQLPORT" == "3306" ];then 
echo "mysql restart successful......" 
else 
echo "mysql restart failure......" 
echo "Server: $MYSQLIP mysql is down, !" > /var/log/mysqlerr 
#mail -s "WARN! server: $MYSQLIP mysql is down" [email protected] < /var/log/mysqlerr 
fi 
else 
echo "mysql is running..." 
fi 
}

function restartMysqlService(){ 
echo "try to restart the mysql service......" 
/bin/ps aux |grep mysql |grep -v grep | awk ‘{print $2}‘ | xargs kill -9 
service mysql start 
}

if [ "$MYSQLPORT" == "3306" ] 
then 
checkMysqlStatus 
else 
restartMysqlService 
fi

时间: 2024-10-17 10:36:18

shell 监控mysql状态的相关文章

Zabbix 监控 Mysql 状态

简介: 如何使用 Zabbix 来监控 Mysql 状态 ? Zabbix 有自带监控 Mysql 的模板,但是却不能直接使用.. 需要我们根据模板提供的 Key 自己写脚本获取数据 1.查看都有哪些 Key > Configuration -> Templates ## 在此模板页中,可以看到 Template App MySQL 模板中有 14 个 Items ,我们需要自己写脚本获取这 14 个值 ## 分别是:Com_select.Com_insert .Com_update .Com

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

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

zabbix3.2监控MYSQL状态

一.概述 zabbix自带的MySQL插件来监控mysql数据库,但是太过简陋了,对于我们dba来说,基本没有啥作用,所以需要做更详细的监控,而percona就有这个详细监控的模版以及脚本,正好拿过来用. percona官网: www.percona.com Percona组成介绍 1.PHP脚本    用来数据采集 2.shell脚本  用来调用采集信息 3.zabbix配置文件 4.zabbix模板文件 二.安装及配置 1.下载及安装 https://www.percona.com/down

实时监控MySql状态

大多网站的性能瓶颈都会出在数据库上,所以想把Mysql监控起来,就搜索了下相关资料. 后来和同事讨论了下cacti和nagios有些老套和过时,graphite比较时尚,然后就搜了下相关的资料,最后搞出来了,效果如下 可以实时查看mysql打开的table数,文件数,正在执行,已经创建,已经连接的线程数,锁,查询缓存,表扫描相关的计数器,以及已经完成的select,insert, delete, update的sql数等,总之Mysql的各种状态一览无余. 具体各个指标的意思参考如下链接: ht

Zabbix添加自定义监控项之(监控mysql状态)

一.实验环境 Zabbixserver    192.168.1.103    版本:V3.0.4 ZabbixAgent    192.168.1.128 Mysql       192.168.1.102 二.监控需求 监控mysql的状态,当状态发生异常,发出报警 三.mysql添加监控监控脚本 3.1.使用mysqladmin工具来检测mysql状态 [email protected]:~# mysqladmin -uroot -p1qaz#EDC ping 说明:如果MySQL状态正常

zabbix监控mysql状态

之前是cacti监控的mysql,很多参数监控的不是特别明白,想着就找zabbix监控. 写好监控MYSQL的配置文件 UserParameter=mysql.Ping,mysqladmin -uroot -p123456  ping|grep alive|wc -l UserParameter=mysql.Threads,mysqladmin -uroot -p123456  status|cut -f3 -d":"|cut -f1 -d"Q" UserParam

shell监控mysql主从同步

#!/bin/sh MYSQLPORT=`netstat -na|grep"LISTEN"|grep "3306"|awk -F[:" "]+ '{print $5}'` MYSQLIP=`ifconfig eth0|grep"inet addr" | awk -F[:" "]+ '{print $4}'` STATUS=$(/usr/local/mysql/bin/mysql-e "show s

Zabbix自动发现监控Mysql数据库

结果图展现 先让大家看下结果图,Zabbix通过自动发现监控Mysql每秒的增.删.改.查,通过自动发现监控Mysql的流入流出流量,结果图如下: Mysql给Zabbix监控的权限 首先创建一个监控用户,usage on为比较小的权限,较安全.sql如下 grant usage on *.* to 'monitor'@'127.0.0.1' identified by 'shijiangepwd'; flush privileges; 测试监控用户是否生效,测试结果如下 mysql -umon

zabbix2.2入门教程之监控mysql(六)

zabbix2.2自带了监控mysql的模版,我们可以使用自带的模版来监控mysql,如果模版不能满足我们的需求,我们可以再自定义key来达到我们的需求,接下来就讲下如何使用zabbix自带模版监控mysql状态 首先先授权让zabbix连接数据库 mysql>grant USAGE on *.* to 'zabbix'@'localhost' identified by 'zabbix'; 接下来建立数据库连接信息文件/usr/local/zabbix/etc/.my.cnf [mysql]