1. 实验环境
1.1 服务器均为centos7操作系统
1.2 服务器ip地址
zabbix-server ip:192.168.153.183
mysql-master ip: 192.168.153.134
msyql-slave ip: 192.168.153.135
在mysql-slave上配置agent服务
1.3 均关闭防火墙和selinux
关闭防火墙
systemctl stop firewalld
关闭selinux
2. 搭建mysql主从架构
链接:
https://blog.csdn.net/m0_46674735/article/details/109597636
3. 配置zabbix服务端
链接:
https://blog.csdn.net/m0_46674735/article/details/110954103
4. 配置mysql-slave端
4.1 上传zabbix yum源
4.2 安装zabbix-agent
yum -y install zabbix-agent
4.3 修改配置文件
vim /etc/zabbix/zabbix_agentd.conf
修改以下内容 将server端的IP地址设为实验中的192.168.153.183
98 Server=192.168.153.183
139 ServerActive=192.168.153.183
修改完成后保存退出
4.4 启动agent服务
systemctl start zabbix-agent
4.5 监听端口验证服务启动成功
[[email protected]-135 ~]# netstat -nltp|grep 10050
tcp 0 0 0.0.0.0:10050 0.0.0.0:* LISTEN 2297/zabbix_agentd
tcp6 0 0 :::10050 :::* LISTEN 2297/zabbix_agentd
4.6 创建工作目录,编写监控主从状态的脚本
[[email protected]-135 ~]# mkdir /etc/zabbix/scripts
[[email protected]-135 ~]# cd /etc/zabbix/scripts/
[[email protected]-135 scripts]# vim mysql_slave.sh
#!/bin/bash
IO=$(mysql -uroot -e "show slave status\G;" |grep Slave_IO_Running|awk '{print $2}')
SQL=$(mysql -uroot -e "show slave status\G;" |grep Slave_SQL_Running|awk '{print $2}')
if [ $IO = "Yes" -a $SQL = "Yes" ];then
echo "1"
else
echo "0"
fi
给脚本增加执行权限
chmod +x mysql_slave.sh
执行测试脚本
[[email protected]-135 scripts]# ./mysql_slave.sh
1
4.7 修改agent配置文件
4.7.1 修改配置文件
vim /etc/zabbix/zabbix_agentd.conf
4.7.2 修改以下内容
288 UnsafeUserParameters=1
297 UserParameter=check.slave,/etc/zabbix/scripts/mysql_slave.sh
4.7.3 修改完成之后保存退出重启agent服务
systemctl restart zabbix-agent
5. 在server端测试
获取mysql主从状态成功
[[email protected] ~]# zabbix_get -s 192.168.153.135 -k check.slave
1
6. 在zabbix web 端添加主机和监控项
6.1 创建主机
6.2 配置主机
6.3 创建监控项
1)
2)
3)
4) 添加成功
6.4 创建图形
1)
2)
3)
4)添加成功