mysql 从库状态_大神教你自动发现监控mysql从库状态

导读

zabbix从库如果复制有问题,在主库机器有问题的时候,切为主就会导致数据的丢失。或者主从分离的时候,如果从库出现延时状态的话,会导致前端页面展示的数据不是为最新的数据。因此,监控mysql从库的状态是必要的。

mysql从库的状态主要监控的值有三个,分别为Slave SQL Running,Slave IO Running和Seconds Behind Master。只有当Slave SQL Running,Slave IO Running为yes,然后Seconds Behind Master为0的时候,从库才有可能运行在正常的状态下(有时候这三个值都符合要求,从库数据也会有问题)。先看下监控的效果:

68dc65e40f190e3b3a4466b813b525ee.png

由于是自动发现监控的mysql从库状态,因此,先贴下自动发现规则的配置,使用mysql.slave.discover去获取mysql从库的端口,在从库安装zabbix agentd,并添加配置(UserParameter=mysql.slave.discover,python /usr/local/zabbix/discover_mysql_slave.py):

aa543d1c662b8ab32c374b9ccd96f949.png

其中,自动发现mysql端口的python脚本见:https://my.oschina.net/zhuangweihong/blog/785919 此文章有类似的脚本。自动发现完mysql的端口后,使用的探测项目原型如下,使用三个原型去获取mysql从库的三个需要监控的值:

656a2e77747ec49592341e21fde3e288.png

其中获取的键值需要在从库agent中添加配置,然后重启agentd:

UserParameter=mysql.slave.status[*],sh /usr/local/zabbix/check_mysql_slave.sh -u xxx-p xxx -P $1 -k $2 2>/dev/null

最后就看下/usr/local/zabbix/check_mysql_slave.sh脚本,如下:

#!/bin/sh

while getopts "u:p:P:k:" opt

do

case $opt in

u ) user=$OPTARG;;

p ) password=$OPTARG;;

P ) port=$OPTARG;;

k ) key=$OPTARG;;

? )

echo 'parameter is wrong!'

exit 1;;

esac

done

if [ ! "${user}" ] || [ ! "${password}" ] || [ ! "${port}" ] || [ ! "${key}" ];then

echo "parameter is null"

exit 1

fi

mysql -u ${user} -p${password} -h 127.0.0.1 -P${port} -e "show slave status\G"|grep "${key}\:"|awk '{pr

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/503405.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

mysql查看session对应的ip_Mysql 查看session连接数,状态 | 学步园

命令: showprocesslist; 如果是root帐号,你能看到所有用户的当前连接。如果是其它普通帐号,只能看到自己占用的连接。 showprocesslist;只列出前100条,如果想全列出请使用showfull processlist; mysql> show processlist;命令&…

mysql集群fuzhi_MySQL集群 和MySQL主从复制的不同

主从复制理论上支持无穷大的从库个数,实际情况下,受服务器带宽和读写能力的影响请参考mysql官方手册的建议:理论上,通过使用单个主服务器/多从服务器设置,可以通过添加更多的从服务器来扩充系统,直到用完网…

mysql 查询一个字段快还是一条记录快_mysql (优化)查询一条再筛选某个字段和直接查询该条的某个字段的效率比较...

查询所有,10000次,$sql "select * from mh_user where (username‘333‘) and (password‘xxx‘)";总共耗时1.1420359611511查询username字段,10000次。$sql "select username from mh_user where (username‘333‘) and (p…

winform mysql 工具类_C#工具类MySqlHelper,基于MySql.Data.MySqlClient封装

1 usingSystem;2 usingSystem.Collections.Generic;3 usingSystem.Linq;4 usingSystem.Text;5 usingSystem.Threading.Tasks;6 usingSystem.Data;7 usingMySql.Data.MySqlClient;8910 namespaceFly.Util.DataBase11 {12 /// 13 ///MySql数据库操作类14 /// 15 public static cl…

服务器搭建php mysql5_Windows下php5+apache+mysql5 手工搭建笔记

Windows下php5apachemysql5 手工搭建笔记更新时间:2011年02月15日 01:35:09 作者:php运行环境对于站长们或者初学者来说可以直接用一键包的方式或者直接从服务提供商处得到支持,不必自己手工按部就班的搭建,所以这篇文章是写给我…

java连接mysql封装代码_JDBC连接数据库方法的封装,以及查询数据方法的封装

(在上一篇文章中,我们详细的介绍了连接数据库的方法,以及eclipse操作数据库信息的相关方法,在这里我们将主要讲封装。)主要内容:一般的连接数据库测试把连接数据库的方法封装成一个类和测试一个简单的插入表实例查询数据实例封装查…

mysql连接字符串加密配置文件_Asp.net2.0如何加密Web.config配置文件数据库连接字符串...

在asp.net2.0中,发布网站时,加密web.config,这样可以有效保证数据库用户和密码安全,其步骤如下:①添加密钥执行:C:\WINDOWS\Microsoft.NET\Framework\v2.0.50727\aspnet_regiis -pc "hnlaw" -exp其中"hnlaw"为密钥名称②添加web.config节点在web.config的之…

Java编程和C语言哪个更好?

学编程用哪一个编程语言好?很多人刚开始接触编程的时候都不知道自己该学哪个好,软件开发编程语言多达600余种,每种都有各自的特点和应用领域。目前,热门编程语言无外乎Java、C、C了,实际上,Java确实是从C语言和C语言继…

bugzilla dbd-mysql_别人写的关于在Windows下安装BugZilla的说明,不错,值得借鉴

Bugzilla Windows安装红宝书一直寻找合适的Bug Tracking System,网上找了很久,commercial的太贵,还有licence限制,远远超出我等贫民的承受范围。也曾考虑干脆自己写一个算了,但终究未能如愿。对Bugzilla倒是早有所闻&a…

Java程序员常犯的几类错误

1.忽视异常 相信很多小伙伴在编程的过程中经常对异常置之不理。针对初学者和有经验的 Java 程序员,最佳实践仍是处理它们。异常抛出通常是带有目的性的,因此在大多数情况下需要记录引起异常的事件。不要小看这件事,如果必要的话,…

jdk1.8 mysql_Centos 7配置JDK1.8+MySQL5.7+Tomcat 8 开发环境

工具腾讯云服务器(可通过公网ip访问)Xshell 6Xftp 61、Xshell 6 连接云服务器打开xshell很简单,直接上图配置好之后连接云服务器,之后就可以对云服务器进行操作了。2、配置JDK 1.8a、下载JDK1.8如果直接在云服务器的命令行中使用wget http://download.or…

做为一名java高级程序员,需要了解哪些岗位?

一、Java高级程序员 要想成为JAVA(高级)程序员也称Java高级工程师,肯定要学习JAVA。一般的程序员或许只需知道一些JAVA的语法结构就可以应付了。但要成为JAVA高级程序员,您要对JAVA做比较深入的研究。您应该多研究一下JDBC、IO包…

mysql 复制延迟诊断_新特性解读 | MySQL 8 复制延迟观测新方式,更全面更精准

转载自公众号:玩转MySQL,作者:洪斌一直以来 MySQL 复制延迟观测是不完善的,既无法观测到真实的主从延迟,也无法支持复杂的复制拓扑环境,常用的 second_behind_master 指标更多是判断是否存在回放延迟&#…

Java 程序员必读的五本书籍

如果你是一名程序员,想知道如何提高你对Java的了解或者成为更好的Java开发人员。在本文中,我将分享一些最好的Java书籍。这些书经受住了时间的考验,随着岁月的流逝变得越来越重要。不管你是学生还是职业者,你总有很多东西要学&…

使用sqlserver连接mysql服务_Sqlserver创建连接MySql的链接服务器

第一步:在MySql服务器上安装与系统对应的 MySql-Connector-ODBC安装过程中可能会报 缺失 msvcr100.dll的错误,这需要你根据系统到网上下载对应的这个dll文件。(当初遇到这个问题的时候,在网上试了很多的这种文件 最后才找到一个合适自己的)第…

什么人适合学习Java编程?编程好学吗?

什么人适合学习Java编程?编程好学吗?首先自己做个自我评估,包括能力、兴趣、逻辑思维、性格特点等等,结合这些特质判断自己是否适合学习Java。评估自己时,要尽量客观,追随内心,切勿轻易抬高或者…

not support mysql_MYSQL(解决方法):Client does not support authentication

mysql4.1以上版本连接时出现Client does not support authentication protocol问题解决办法shell> mysqlClient does not support authentication protocol requestedby server; consider upgrading MySQL client官方的说法是MySQL 4.1 and up uses an authentication proto…

mysql分布式如何实现原理_分布式通讯协议实现原理

分为两个阶段:投票表决阶段和提交阶段。事务参与者完成系统相关业务成功后,通知协调者状态,当所有的事务参与者业务状态都成功后,协调者才发出提交指令,参与者提交或者取消事务一协调者 二事务的参与者(一般有多个事务…

大神程序员都懂英文翻译,而你却因英语不行遭拒?

程序员中很多人都是在外企里面工作的。这样的话就会涉及到,跟外籍同事的沟通和协作。上下级之间的汇报工作。虽然我们的主要工作是开发软件。是技术类工作。跟计算机打交道比较多,但是沟通对技术来说,还是非常重要的。跟外籍同事沟通&#xf…

android找不到符号_快速搭建Android开发环境——Android Studio(附ADB找不到设备)...

由于毕设大概率最终要使用Android来实现,所以现在要开始学习一些Android开发基础了。学习一门技术,最先要解决的问题就是开发环境的问题。就如同两年前学java那样,在windows下配置环境总是一件不那么令人开心的事。Android也是一样&#xff0…