mysql 从库状态监控shell

监控mysql

Slave_IO_Running:

Slave_SQL_Running:

状态,为NO 邮件报警

最近刚发现一个发邮件的工具,简单好用 sendEmail,免安装的 个人感觉非常好用

参考:http://blog.chinaunix.net/uid-10697776-id-3185073.html

vim slave.sh

思路:

过滤Slave_IO_Running && Slave_SQL_Running的值。为No邮件报警,同时写入日志slave.log。。当然就得定期清空日志(我做的是每次查看日志的行数超过1152行,清空日志。同时判断日志中是否有No

字段,有则不执行清空操作,方便记录故障时间)

变量:TEST_TIME=记录时间

SLAVE_IO=Slave_IO_Running:的状态

SLAVE_SQL=Slave_SQL_Running:的状态

相关:mysql -uuser -h ip -ppasswd -e "命令"(不登陆mysql执行mysql命令)

#!/bin/bash
TEST_TIME=`date -d today +"%Y%m%d--%H:%M:%S"`
SLAVE_IO=`/usr/local/bin/mysql -uroot -h 127.0.0.1  -e "show slave status\G;"|grep Slave_IO_Running|awk ‘{print $2}‘`
SLAVE_SQL=`/usr/local/bin/mysql -uroot -h 127.0.0.1  -e "show slave status\G;"|grep Slave_SQL_Running|sed -n ‘1p‘|awk ‘{print $2}‘`
CAT_LOG=`cat /tmp/shell/slave/slave.log|wc -l`
if [ ${SLAVE_IO} = Yes ];
 then
        echo "Slave_IO_Running: Yes"${TEST_TIME} >> /tmp/shell/slave/slave.log
 else
        echo "Slave_IO_Running: No"${TEST_TIME} >> /tmp/shell/slave/slave.log
        /usr/local/sendEmail/sendEmail-v1.56/sendEmail -f [email protected] -t [email protected] -xp xxx -s smtp.163.com -xu xxx -u test -m Slave_IO
_Running: No__${TEST_TIME}
fi
###
if [ ${SLAVE_SQL} = Yes ];
 then
        echo "Slave_SQL_Running: Yes"${TEST_TIME} >> /tmp/shell/slave/slave.log
 else
        echo "Slave_SQL_Running: No"${TEST_TIME} >> /tmp/shell/slave/slave.log
        /usr/local/sendEmail/sendEmail-v1.56/sendEmail -f [email protected] -t [email protected] -xp xxx -s smtp.163.com -xu xxx -u test -m Slave_SQ
L_Running: No__${TEST_TIME}
fi
###
cat /tmp/shell/slave/slave.log|grep No
if [ $? != 0 ];
 then
#       echo $?
   if [ ${CAT_LOG} -gt 1152 ];
        then
        echo "" > /tmp/shell/slave/slave.log
   fi
fi

初来乍到~请多指教~~~

时间: 2024-10-04 23:04:47

mysql 从库状态监控shell的相关文章

Open-Falcon 监控系统监控 MySQL/Redis/MongoDB 状态监控

背景: Open-Falcon 是小米运维部开源的一款互联网企业级监控系统解决方案,具体的安装和使用说明请见官网:http://open-falcon.org/,是一款比较全的监控.而且提供各种API,只需要把数据按照规定给出就能出图,以及报警.集群支持等等. 监控: 1) MySQL 收集信息脚本(mysql_monitor.py) #!/bin/env python # -*- encoding: utf-8 -*- from __future__ import division impor

MySQL主从同步状态监控脚本及邮件通知

网络版本 #!/bin/bash mysql_cmd="mysql -u root -pxxxxxxxxx" errorno=(1158 1159 1008 1007 1062) while true do array=($($mysql_cmd -e "show slave status\G"|egrep '_Running|Behind_Master|Last_SQL_Errno'|awk '{ print $NF }')) if [ "${array

Mysql主从状态监控脚本

目标:对Mysql从库进行状态监控,如果从库复制异常就告警 思路: 1.首先查找Mysql从库的4个参数值(show slave status根据这个命令):分别是从库的IO线程.SQL线程.复制延迟时间(这个在以下脚本没用到,可以再写个脚本对其延迟进行告警).错误码 2.函数Mysql_status判断,对IO线程.SQL线程.错误码三者逻辑与判断 3.如果为假则执行函数Mysql_Errno 4.对于mysql错误码为1158 1159 1008 1007 1062 我们可以进行停止slav

MySQL主从复制监控shell脚本

########本脚本应用在生产环境中,是运用mysql主从的基础上######## vi mysqlm-s.sh   #!/bin/bash  ip=`ifconfig eth0|sed -n 2p|awk  '{ print $2 }'|awk -F : '{ print $2 }'`  port=`netstat -anl|grep 3306 |sed -n '1p' |awk '{print $4}'|awk -F: '{ print $2}'`  array=($(mysql -uUS

监控mysql主从同步状态是否异常,如果异常,则发生短信或邮寄给管理员

阶段1:开发一个守护进程脚本每30秒实现检测一次. 阶段2:如果同步出现如下错误号(1158,1159,1008,1007,1062),请跳过错误 阶段3:请使用数组技术实现上述脚本(获取主从判断及错误号部分) [[email protected] ~]# mysql -u root -proot -e "show slave status\G;" *************************** 1. row ***************************       

haproxy的web服务负载均衡、动静分离、 MySQL服务负载均衡、状态监控

实验环境:基于centos6.6 haproxy-Server:172.16.249.98  hostname:node1 upsteram server1:172.16.249.100 hostname:node2 upstream server2:172.16.249.99  hostname:node3 web服务的负载均衡以及状态监控: 设置记录haproxy日志的文件位置: node1: #vim /etc/rsyslog.conf (1)启用UDP: # Provides UDP s

zabbix应用-监控mysql slave 主从状态

线上服务的监控已经基本搞定了,现在就剩下mysql 主从的状态没有检测,这里要想用zabbix 监控,还得写一个获取主从状态的脚本,然后设置一个key,创建模板套用这个key 获取mysql 的主从状态是否正常. 1.这里把我的脚本贴一下,脚本要给可执行权限 #!/bin/bash user=zabbixagent passwd=zabbixagent port=$1 #自定义函数 function status {    status=`/data/mysql_root/mysql/bin/m

python实战系列之MySQL主从状态监控(09)

1. 需求说明 由于openstack底层中MySQL使用了主从AB复制,为了监控数据库的主从状态信息,需要对MySQL的主从状态进行监控,从而保障数据库底层正常运行,为openstack提供更好的功能.本文对数据库执行监控,具体内容参考下面. 2. 程序内容 #!/usr/bin/env python #_*_ coding:utf8 _*_ #author:happyliu #用于监控MySQL主从复制状态 import os import sys import os.path import

nagios 实现Mysql 主从同步状态的监控

一.系统环境 主机名 IP nagios 192.168.15.111 mysql_s 192.168.15.21 二.操作步骤 2.1 mysql_s端的配置 2.1.1 编写check_mysql_slave监控脚本 cd /usr/local/nagios/libexec   #切换到nagios 监控插件所在目录 vim check_mysql_slave       #开始编写mysql_slave监控脚本 注意:监控脚本中的mysql账户一定要新建一个,并设置有限的权限.   2.1