文档章节

mysql 主从备份监控slave状态nagios脚本

枯藤KT
 枯藤KT
发布于 2015/06/08 10:03
字数 155
阅读 62
收藏 11
#!/bin/bash
cmd='mysql -uslave -ppasswd -P3306 -h 192.168.0.72 -Be'
status=`$cmd 'show slave status\G'`
Seconds_Behind_Master=`echo "$status"|awk '/Seconds_Behind_Master/{FS=":";print $2}'`
Read_Master_Log_Pos=`echo "$status"|awk '/Read_Master_Log_Pos/{FS=":";print $2}'`
Exec_Master_Log_Pos=`echo "$status"|awk '/Exec_Master_Log_Pos/{FS=":";print $2}'`
Last_IO_Errno=`echo "$status"|awk '/Last_IO_Errno/{FS=":";print $2}'`
Last_SQL_Errno=`echo "$status"|awk '/Last_SQL_Errno/{FS=":";print $2}'`
Slave_IO_Running=`echo "$status"|awk '/Slave_IO_Running/{FS=":";print $2}'`
Slave_SQL_Running=`echo "$status"|awk '/Slave_SQL_Running/{FS=":";print $2}'`

#nagios status:
STATE_OK=0
STATE_WARNING=1
STATE_CRITICAL=2
STATE_UNKNOWN=3
STATE_DEPENDENT=4

if [ "$Slave_IO_Running" != "Yes" -o "$Slave_SQL_Running" != "Yes" ];then
        echo "Slave_IO or Slave_SQL process exited! Last_IO_Errno:$Last_IO_Errno Last_SQL_Errno:$Last_SQL_Errno"
        exit $STATE_CRITICAL
fi

later=$[$Read_Master_Log_Pos - $Exec_Master_Log_Pos]

if [ $later -ge 100 ];then
        echo "Read_Master_Log_Pos:$Read_Master_Log_Pos Exec_Master_Log_Pos:$Exec_Master_Log_Pos"
        exit $STATE_WARNING
fi

if [ $Seconds_Behind_Master -ge 30 ];then
        echo "Warning: Seconds_Behind_Master:$Seconds_Behind_Master"
        exit $STATE_WARNING
fi
echo "Slave OK-Read_Master_Log_Pos:$Read_Master_Log_Pos Exec_Master_Log_Pos:$Exec_Master_Log_Pos Seconds_Behind_Master:$Seconds_Behind_Master"
exit $STATE_OK


© 著作权归作者所有

共有 人打赏支持
枯藤KT

枯藤KT

粉丝 4
博文 98
码字总数 60212
作品 0
昌平
程序员
如何监控MySQL主从同步情况

在高并发网站架构中,MySQL数据库主从同步是不可或缺的,不过经常会发生由于网络原因或者操作错误,MySQL主从经常会出现不同步的情况,那么如何监控MySQL主从同步,也变成网站正常运行的重要...

lwaif
2016/03/03
98
0
第25章 MySQL replication(主从)配置及加入nagios监控

环境介绍: master:23.247.76.253 [root@nagios_client1 tool]# mysql -V mysql Ver 14.14 Distrib 5.6.32, for linux-glibc2.5 (x86_64) using EditLine wrapper [root@nagios_client1 to......

qq441009395
06/26
0
0
nagios中自己写的监控mysql主从复制的插件

大家可能遇到这样的问题,mysql的主已经写入数据了,但是却没有同步到从myql那里,或者延迟很长时间才同步过去。说明一下我们的网络环境,我们每台数据库都有两个网线,分别连接内网和外网的...

gehailong
2011/11/25
0
0
nagios监控windows主机 && linux主机

一、NSclient++与nrpe nagios对windows的监控主要有两种方法,一种是NSclient++,另一种是通过nrpe的方式来达到监控目的 NSclient++与nrpe最大的区别就是: 1、被监控机上安装有nrpe,并且还有...

nmshuishui
2014/08/16
0
0
Zabbix 检测Mysql数据库的主从同步

在高并发网站架构中,MySQL数据库主从同步是不可或缺的,不过经常会发生由于网络原因或者操作错误,MySQL主从经常会出现不同步的情况,那么如何监控MySQL主从同步,也变成检测网站正常运行的...

levinbin
06/26
0
0

没有更多内容

加载失败,请刷新页面

加载更多

Oracle return exit continue

常在循环体中看到下面3种语句: return exit continue 举例说明 啥都没有 -- none begin for i in 1 .. 10 loop if i < 5 then dbms_output.put_line('i < 5, i = ' || to_char......

taadis
58分钟前
2
0
JSONObject 转换时出错 InvocationTargetException

JSONObject 转换时出错java.lang.reflect.InvocationTargetException 一时看不出来是什么问题。 挺奇怪的。 百度参考了一下这个 网页的解决方案 说是类型不对,空? 仔细查看代码,果然是有一...

之渊
今天
3
0
no such module 'pop'问题

在github上 clone 了一个 swift 项目,编译时提示"no such module 'POP'"错误,查了一下居然是因为podfile中指定的最低版本是iOS 11.0,大于我测试手机的iOS版本10.3.3,将Podfile中的最低版...

yoyoso
今天
3
0
redis 系列一 -- 简介及安装

1.简介 redis -- remote dictionary server 远程字典服务 使用 C 语言编写; 高性能的 key-value数据库; 内存数据库,支持数据持久化。 Redis 是一个开源(BSD许可)的,内存中的数据结构存...

imbiao
今天
4
0
nginx log记录请求响应时间

有时为了方便分析接口性能等,需要记录请求的时长,通过修改nginx的日志格式可以做到,如 添加一个新的log_format log_format timed_combined '$remote_addr - $remote_user [$time_local] "...

swingcoder
今天
5
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部