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
告警前后的图形