云计算运维

Windows Server 2003 - Windows Server 2019 系统工具,Linux系统脚本,Mysql、Nginx、PHP、Redis、K8S、Seafile、Weblogic 、Jenkins、DNS、DHCP、FTP、IIS、Zookeeper、Rabbitmq、Oracle、Tomcat、Mavrn等服务搭建维护,请关注我.

Zabbix5.0监控MySQL主从同步是否异常


本文基于Centos7系统,MySQL5.7验证通过,理论适用于其他版本。

先说下思路:监控MySQL主从,是通过show slave status\G'命令查询Slave_IO_Running和Slave_SQL_Running状态是否是yes,非yes的情况下,表示主从同步存在异常然后触发zabbix警告。

本文不适用于小白,一点都不懂的不建议直接尝试!

1、在MySQL服务器上安装zabbix-agent

rpm -Uvh https://repo.zabbix.com/zabbix/5.0/rhel/7/x86_64/zabbix-release-5.0-1.el7.noarch.rpm
yum install zabbix-agent

2、修改zabbix-agent配置文件

vi /etc/zabbix/zabbix_agentd.conf

修改Server字段为zabbix-server服务器的地址

Server=10.10.10.10

3、配置MySQL主从检测脚本

mkdir /etc/zabbix/scriptvi mysql_sync.shmysql -uroot -pmima -e 'show slave status\G' 2>/dev/null | grep -E "Slave_IO_Running:|Slave_SQL_Running:" | awk '{print $2}' | grep -c Yes

因为此处使用了密码,MySQL会提示警告信息(mysql: [Warning] Using a password on the command line interface can be insecure.),所以为了避免此信息影响我们取值,我这里通过2>/dev/null进行屏蔽警告。

给予执行权限

chmod +x mysql_sync.sh

4、添加自定义UserParameter

vi /etc/zabbix/zabbix_agentd.d/userparameter_mysql_sync.conf

内容如下

UserParameter=mysql_sync[*],/etc/zabbix/script/mysql_sync.sh

5、启动zabbix-agent并设置开机自启

systemctl enable zabbix-agentsystemctl start zabbix-agent

6、验证

在zabbix-server服务器执行以下命令,将10.10.10.10替换为MySQL服务器的IP

zabbix_get -s 10.10.10.10 -p 10050 -k mysql_sync

7、zabbix仪表盘配置

创建主机,添加监控项

我这里自定义的键值为mysql_sync,所以在仪表盘中配置键值的时候一定也要用mysql_sync

添加触发器,当取值不等于2时,即表示主从同步有异常,则触发告警

添加图形监控,添加图形是为了更直观的看到,历史主从同步异常时间节点,以及异常的频率(非必须)

  • 分享:
评论
还没有评论
    发表评论 说点什么