一、下载安装zabbix服务器端
网址:https://www.cnblogs.com/carriezhangyan/p/10818513.html
二、下载安装zabbix客户端,客户端上要有mysql数据库
网址:https://www.cnblogs.com/carriezhangyan/p/10818884.html
三、修改配置
1、创建检查mysql主从状态的脚本
# vim /data/scripts/mysql_slave_status.sh #!/bin/bash mysql -uroot -e 'show slave status\G' |grep -E "Slave_IO_Running:|Slave_SQL_Running:"|awk '{print $2}' |grep -c Yes
执行mysql_slave_status.sh的结果为:2,如果返回的结果不是2,则不是主从同步
2、配置zabbix-agent的配置文件
# grep -Env '#|^$' /etc/zabbix/zabbix_agentd.conf 13:PidFile=/var/run/zabbix/zabbix_agentd.pid 32:LogFile=/var/log/zabbix/zabbix_agentd.log 43:LogFileSize=0 97:Server=192.168.0.1(zabbix服务器端的IP,默认的Server为127.0.0.1) 138:ServerActive=192.168.0.1(zabbix服务器端的IP)
149:Hostname=zabbix server
267:Include=/etc/zabbix/zabbix_agentd.d/*.conf
397:UserParameter=mysql.slavestatus,/data/scripts/mysql_slave_status.sh (UserParameter:配置参数)
UserParameter的用法:UserParameter=key值,command命令
3、重启zabbix-agent服务
# systemctl restart zabbix-agent.service
4、在zabbix-server服务器端测试是否成功
# zabbix_get -s 192.168.0.2 -k mysql.slavestatus
若返回的值是2,则主从服务正常,
zabbix_get的参数用法:
- -s --host: 指定客户端主机名或者IP
- -p --port:客户端端口,默认10050
- -I --source-address:指定源IP,写上zabbix server的ip地址即可,一般留空,服务器如果有多ip的时候,你指定一个。
- -k --key:你想获取的key
四、zabbix服务端监控出图
1、创建新的模板
配置 - 》 模板 -》 创建模板
2、创建监控项
配置 - 》 模板 -》 模板的名字(Template MySQL slave) -》 监控项 -》 创建监控项
键值一定是你在 zabbix-agent.config 中设置的 UserParameter 的 key 值
3、创建触发器
配置 - 》 模板 -》 模板的名字(Template MySQL slave) -》 触发器 -》 创建触发器
表达式的添加很重要,一定要注意选择表达式的值
表达式的意思是:如果监控中的key值不等于2,则发出警告。
4、创建图形,绑定监控项
配置 - 》 模板 -》 模板的名字(Template MySQL slave) -》 图形 -》 创建图形
5、绑定主机,出图,出数据
配置 -》 主机 -》 创建主机
添加链接: 配置 -》 主机 -》 Mysql slave status(创建的主机名字) -》 模板 -》 选择链接指示器 -》添加 -》 更新
6、查看图像,查看数据图形是否正确