MySQL主从同步添加至zabbix监控即怎么使用zabbix收集shell脚本执行数据

  参考文档:https://blog.csdn.net/hellowidow_2020/article/details/78985368

         https://www.cnblogs.com/cdjiangchao/p/3844329.html

  创建用于监控的用户

grant replication client on *.* to 'zabbix'@'localhost' identified by 'zabbix';

  添加监控脚本/nas/scripts/mysql_check.sh 

#!/bin/bash
#2019年1月19日
#auto check mysql master and slave status
/usr/local/mysql/bin/mysql -uzabbix -pzabbix -h172.16.40.188 -e "show slave status \G;" 2>/dev/null| grep -E 'Slave_IO_Running: Yes|Slave_SQL_Running: Yes' | grep -c Yes

  PS:因为MySQL5.7版本在命令中输入密码信息会出现警告信息导致返回值不是数字,需要增加2>/dev/null过滤掉警告信息

  运行脚本返回值为2代表主从复制正常

  添加执行权限

chmod u+x mysql_check.sh

  修改数据库从库zabbix agent配置文件添加一行/etc/zabbix/zabbix_agentd.conf 修改完需要重启zabbix agent

UserParameter=mysql.ms.check,/nas/scripts/mysql_check.sh

  2024-02-02为了区分也可以给给每一个监控项单独设置一个配置文件配置文件以.conf结尾放到以下目录即可

/etc/zabbix/zabbix_agentd.d

  

  在zabbix server测试是否成功

  其中"mysql.ms.check"为key返回值为shell脚本执行后的输出值

 zabbix_get -s 172.16.40.188 -k "mysql.ms.check"

  如果没有zabbix_get命令则使用以下命令安装

yum -y install zabbix_get

  

  zabbix的web页面设置监控项

  创建监控项

 

 

 

 

 

 

   创建图形

  选择刚刚创建的监控项

  创建触发器

  模拟MySQL从故障,把从库停掉slave触发告警则代表配置正常

stop slave

  告警前后的图形

 

posted @ 2019-01-19 17:39  minseo  阅读(373)  评论(0编辑  收藏  举报