nagios中自己写的监控mysql主从复制的插件

简介:

大家可能遇到这样的问题,mysql的主已经写入数据了,但是却没有同步到从myql那里,或者延迟很长时间才同步过去。说明一下我们的网络环境,我们每台数据库都有两个网线,分别连接内网和外网的千兆交换机,速度肯定不是问题。如果延迟很长的话,肯定是出问题,比如数据库被lock了,或者开发人员的一些不当的操作等。这时候就需要监控主从同步的状态已经主从同步的时间间隔等。以便及时与开发人员沟通,及时解决问题。下面是我自己写的一个脚本名字叫check_mysql_delay:

 
#!/bin/bash
aa=`/usr/local/mysql/bin/mysql -u 用户 –p密码 --socket=/数据库目录/$1/mysql_$1.sock -e "show slave status\G"|egrep Read_Master_Log_Pos|awk    '{print $2}'`
bb=`/usr/local/mysql/bin/mysql -u 用户 –p密码 --socket=/数据库目录/$1/mysql_$1.sock -e "show slave status\G"|egrep Exec_Master_Log_Pos|awk    '{print $2}'`
cc=`expr $aa - $bb`
if [ $cc -gt 10000 ]
then
 echo "$1 is CRITICAL $aa $bb $cc"
 #exit $STATE_CRITICAL;
 exit 2;
else
 echo "$1 is OK $aa $bb $cc"
 #exit $STATE_OK;
 exit 0;
fi
把该脚本放到/usr/local/nagios/libexec目录下面。
然后修改/usr/local/nagios/etc/nrpe.cfg,在后面添加一行
command[check_mysql_delay3306]=/usr/local/nagios/libexec/check_mysql_delay 3306
注意这个3306就是给上面脚本当中$1赋值用的,如果有多个mysql实例的话,可以多写几行。
然后修改nagios服务器端的配置文件。在服务的配置文件中添加如下内容
define service {
        use    db-server
        host_name host当中定义的主机名
        service_description check_rep_delay3306
        check_command check_nrpe!check_mysql_delay3306
}
然后重新加载一下nagios就ok了。

本文转自 gehailong 51CTO博客,原文链接:http://blog.51cto.com/gehailong/724244,如需转载请自行联系原作者
相关实践学习
每个IT人都想学的“Web应用上云经典架构”实战
本实验从Web应用上云这个最基本的、最普遍的需求出发,帮助IT从业者们通过“阿里云Web应用上云解决方案”,了解一个企业级Web应用上云的常见架构,了解如何构建一个高可用、可扩展的企业级应用架构。
MySQL数据库入门学习
本课程通过最流行的开源数据库MySQL带你了解数据库的世界。   相关的阿里云产品:云数据库RDS MySQL 版 阿里云关系型数据库RDS(Relational Database Service)是一种稳定可靠、可弹性伸缩的在线数据库服务,提供容灾、备份、恢复、迁移等方面的全套解决方案,彻底解决数据库运维的烦恼。 了解产品详情: https://www.aliyun.com/product/rds/mysql 
相关文章
|
SQL 网络协议 关系型数据库
MySQL 主从复制
主从复制是 MySQL 实现数据冗余和高可用性的关键技术。主库通过 binlog 记录操作,从库异步获取并回放这些日志,确保数据一致性。搭建主从复制需满足:多个数据库实例、主库开启 binlog、不同 server_id、创建复制用户、从库恢复主库数据、配置复制信息并开启复制线程。通过 `change master to` 和 `start slave` 命令启动复制,使用 `show slave status` 检查同步状态。常见问题包括 IO 和 SQL 线程故障,可通过重置和重新配置解决。延时原因涉及主库写入延迟、DUMP 线程性能及从库 SQL 线程串行执行等,需优化配置或启用并行处理
418 40
|
关系型数据库 MySQL 数据库
RDS用多了,你还知道MySQL主从复制底层原理和实现方案吗?
随着数据量增长和业务扩展,单个数据库难以满足需求,需调整为集群模式以实现负载均衡和读写分离。MySQL主从复制是常见的高可用架构,通过binlog日志同步数据,确保主从数据一致性。本文详细介绍MySQL主从复制原理及配置步骤,包括一主二从集群的搭建过程,帮助读者实现稳定可靠的数据库高可用架构。
1002 9
RDS用多了,你还知道MySQL主从复制底层原理和实现方案吗?
|
人工智能 JavaScript 关系型数据库
【02】Java+若依+vue.js技术栈实现钱包积分管理系统项目-商业级电玩城积分系统商业项目实战-ui设计图figmaUI设计准备-figma汉化插件-mysql数据库设计-优雅草卓伊凡商业项目实战
【02】Java+若依+vue.js技术栈实现钱包积分管理系统项目-商业级电玩城积分系统商业项目实战-ui设计图figmaUI设计准备-figma汉化插件-mysql数据库设计-优雅草卓伊凡商业项目实战
581 14
【02】Java+若依+vue.js技术栈实现钱包积分管理系统项目-商业级电玩城积分系统商业项目实战-ui设计图figmaUI设计准备-figma汉化插件-mysql数据库设计-优雅草卓伊凡商业项目实战
|
SQL 存储 关系型数据库
MySQL主从复制 —— 作用、原理、数据一致性,异步复制、半同步复制、组复制
MySQL主从复制 作用、原理—主库线程、I/O线程、SQL线程;主从同步要求,主从延迟原因及解决方案;数据一致性,异步复制、半同步复制、组复制
2013 11
|
关系型数据库 MySQL 数据库
docker高级篇(大厂进阶):安装mysql主从复制
docker高级篇(大厂进阶):安装mysql主从复制
435 24
|
NoSQL 关系型数据库 Redis
《docker高级篇(大厂进阶):1.Docker复杂安装详说》包括:安装mysql主从复制、安装redis集群
《docker高级篇(大厂进阶):1.Docker复杂安装详说》包括:安装mysql主从复制、安装redis集群
508 14
|
缓存 监控 关系型数据库
如何根据监控结果调整 MySQL 数据库的参数以提高性能?
【10月更文挑战第28天】根据MySQL数据库的监控结果来调整参数以提高性能,需要综合考虑多个方面的因素
522 1
|
监控 关系型数据库 MySQL
如何监控和诊断 MySQL 数据库的性能问题?
【10月更文挑战第28天】监控和诊断MySQL数据库的性能问题是确保数据库高效稳定运行的关键
1529 1
|
11月前
|
缓存 关系型数据库 BI
使用MYSQL Report分析数据库性能(下)
使用MYSQL Report分析数据库性能
615 158

推荐镜像

更多