nagios监控mysql主从,并且邮件告警!

客户端操作:

yum install -y nagios-plugins nagios-plugins-all nrpe nagios-plugins-nrpe#安装

vim /etc/nagios/nrpe.cfg    #更改客户端的nrpe配置文件

allowed_hosts=192.168.20.168    #IP更改成监控端的地址,如果是多个使用,分割开

#漏了这个后期会出现CHECK_NRPE: Error - Could not complete SSL handshake. 的

vim /usr/lib64/nagios/plugins/check_slave    #编辑监控脚本

#!/bin/sh

slave_R=($(/usr/local/mysql/bin/mysql -e "show slave status\G"|grep Running |awk ‘{print $2}‘))

if [ "${slave_R[0]}" = "Yes" -a "${slave_R[1]}" = "Yes" ]

then

echo "OK RN2-slave is running"

exit 0

else

echo "Critical RN2-slave is error"

exit 2

fi

chmod +x /usr/lib64/nagios/plugins/check_slave    #加上可执行权限,否则NRPE: Unable to read output

vim /etc/nagios/nrpe.cfg    #编辑nrpe.cfg,加上如下:

command[check_slave]=/usr/lib64/nagios/plugins/check_slave

执行监控脚本:

sh /usr/lib64/nagios/plugins/check_slave    #输出OK

/etc/init.d/nrpe start    #启动nrpe

服务端:

vim /etc/nagios/conf.d/192.168.20.130.cfg

define host{

use                     linux-server

host_name           192.168.20.130

alias                       20.130

address                 192.168.20.130

}

define service{

use                     generic-service

host_name               192.168.20.130

service_description     check_slave

check_command           check_nrpe!check_slave

max_check_attempts 2

normal_check_interval 2

contact_groups        common

notifications_enabled  1

notification_period   24x7

notification_options  w,u,c,r

}

nagios -v /etc/nagios/nagios.cfg    #检查脚本,无错,继续下一步

/etc/init.d/nagios restart

登陆监控查看:

停掉客户端的mysql,查看:

收到告警邮件:

恢复mysql的slave端至正常收;收到恢复到正常的邮件了:

时间: 2024-11-09 05:24:10

nagios监控mysql主从,并且邮件告警!的相关文章

zabbix监控mysql-如何使用zabbix自带的模板监控-nagios监控mysql主从

用zabbix监控mysql(源码安装)安装位置在/usr/local/zabbix/ 监控端(server): 在被监控端主机上关联该模板Template App MySQL 中文:组态->主机->名称一栏点击进去->模板,点击链接新模板->添加->Template App MySQL->存档 英文:Configuration->Hosts->Name->Templates,Link new templates->Add->Templat

zabbix自定义监控mysql主从状态,并做邮件告警

 通过zabbix自定义监控mysql主从状态,并做邮件告警 分析: mysql主要是通过主从来提供安全性,一个完整的主从体系,就应该包括数据同步.开启二进制日志.全备.还有对Slave_IO_Running和Slave_SQL_Running两个线程的实时监测,并做告警,而zabbix监控软件就提供了很好的方法:对于zabbix这个监控软件,个人来说也是比较熟悉,现在的企业们都基本用的是zabbix软件来做系统的资源的监控,zabbix的强大不仅仅体现于,它自身自带的监控模板比较全面,而是通过

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

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

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

监控MySQL主从同步

脚本监控数据库主从同步 来源:http://oldboy.blog.51cto.com/2561410/1632876 来源: (生产实战案例):监控MySQL主从同步是否异常,如果异常,则发送短信或者邮件给管理员.提示:如果没主从同步环境,可以用下面文本放到文件里读取来模拟: 阶段1:开发一个守护进程脚本每30秒实现检测一次. 阶段2:如果同步出现如下错误号(1158,1159,1008,1007,1062),则跳过错误. 阶段3:请使用数组技术实现上述脚本(获取主从判断及错误号部分 [[em

yum搭建nagios监控linux&&window及邮件报警

本文是小弟整合几位大神的文章,见笑@@ Linux利用sendmail和fetion发送报警通知 nagios监控windows主机 && linux主机 CentOS 5/6.X 使用 EPEL YUM源: 实验环境: 两台64位的centos-6.6 一台window-server-2003 安装网络yum源: centos5.x--32位 [[email protected] ~]# wget http://mirrors.yun-idc.com/epel/5/i386/epel-r

监控MySQL主从同步是否异常并报警企业案例模拟

企业面试题1:(生产实战案例):监控MySQL主从同步是否异常,如果异常,则发送短信或者邮件给管理员.提示:如果没主从同步环境,可以用下面文本放到文件里读取来模拟:阶段1:开发一个守护进程脚本每30秒实现检测一次.阶段2:如果同步出现如下错误号(1158,1159,1008,1007,1062),则跳过错误.阶段3:请使用数组技术实现上述脚本(获取主从判断及错误号部分) 此题来自:http://oldboy.blog.51cto.com/2561410/1632876 解答参考1: #!/bin

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

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

使用zabbix监控mysql主从状态

公司mysql架构为一主多从.在日常使用过程中我们经常会遇到主从不同步的情况,为了及时处理此问题现使用zabbix监控mysql主从状态并设置触发器,如有异常则发送邮件报警. 我们都知道使用命令"show slave status \G"可以查看mysql从的状态,下面用脚本方式检查其状态. 在mysql-slave中进入zabbix-agent目录创建脚本文件. cat mysql_slave_status.sh #!/bin/bash /usr/local/mysql/bin/my