环境准备 :
操作系统 | 主机名 | 服务 |
Centos7(zabbix服务端) | zabbix-sever | zabbix_server zabbix_agent |
Centos7(zabbix客户端,MySQL从库) | slave | zabbix_agent mysql |
Centos7(MySQL主库) | master | mysql |
1.需要有两台MySQL数据库并且完成主从复制。需要一台zabbix-sever端。zabbix-agent安装在MySQL的从库中。安装方式在如下两个文档。
2.确保mysql主从复制无异常后,写脚本获取从库的状态,确保2个Yes(SQL线程与IO线程),不是则报错。
[root@slave ~]# mkdir /mysql
[root@slave ~]# cd /mysql/
[root@slave mysql]# vim mysql_status.sh
#!/bin/bash
count=$(mysql -uroot -p'Ll123456@' -e "show slave status\G" 2>/dev/null | grep "Running:" | grep -c 'Yes')
if [ $count -ne 2 ];then
echo '1'
else
echo '0'
fi
#将密码改为自己数据库的密码
[root@slave mysql]# chmod +x mysql_status.sh
[root@slave mysql]# ll
总用量 4
-rwxr-xr-x. 1 root root 188 1月 6 14:53 mysql_status.sh
//配置自定义监控项找到agent的配置文件zabbix_agentd.conf
[root@slave ~]# vim /etc/zabbix/zabbix_agentd.conf
UnsafeUserParameters=1
UserParameter=check_mysql_status,/bin/bash /mysql/mysql_status.sh
//重启服务,生效配置
[root@slave ~]# systemctl restart zabbix-agent
前往zabbix_server验证脚本
[root@zabbix-server ~]# zabbix_get -s 192.168.46.136 -k check_mysql_status
0
3.前往zabbix的web页面添加监控项
这里的key就是配置文件里给脚本定义的check_mysql_status
4. 添加触发器
在配置栏的【主机】界面选择给哪台主机添加监控项,点击【触发器】。