使用zabbix对mysql5.7主从进行监控

本文涉及的产品
云数据库 RDS MySQL Serverless,0.5-2RCU 50GB
云数据库 RDS MySQL Serverless,价值2615元额度,1个月
简介:

系统环境:

1
2
[root@data] # cat /etc/redhat-release 
CentOS release 6.8 (Final)

mysql版本:

1
2
3
4
5
[root@data] # /usr/local/mysql/bin/mysql -uroot -p123456
mysql: [Warning] Using a password on the  command  line interface can be insecure.
Welcome to the MySQL monitor.  Commands end with ; or \g.
Your MySQL connection  id  is 69372
Server version: 5.7.17-log Source distribution

创建一个用户用于查询主从情况:

1
2
3
4
5
6
7
8
9
10
11
mysql> create user  'zabbix' @ 'localhost' ;
Query OK, 0 rows affected (0.14 sec)
 
mysql> flush privileges;
Query OK, 0 rows affected (0.08 sec)
 
mysql> grant replication client on *.* to  'zabbix' @ 'localhost' ;
Query OK, 0 rows affected, 1 warning (0.03 sec)
 
mysql> flush privileges;
Query OK, 0 rows affected (0.06 sec)

mysql查询主从情况:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
mysql> show slave status \G
*************************** 1. row ***************************
                Slave_IO_State: Waiting  for  master to send event
                   Master_Host: 192.168.1.245
                   Master_User: apprankback
                   Master_Port: 3306
                 Connect_Retry: 60
               Master_Log_File: mysql-bin.000169
           Read_Master_Log_Pos: 471806851
                Relay_Log_File: zabbix_data-relay-bin.000511
                 Relay_Log_Pos: 24101450
         Relay_Master_Log_File: mysql-bin.000169
              Slave_IO_Running: Yes
             Slave_SQL_Running: Yes

主从正常的情况是

  Slave_IO_Running: Yes

  Slave_SQL_Running: Yes

现在使用命令语句获取主从状态YES的值:

1
2
[root@data] # echo "show slave status \G"|/usr/local/mysql/bin/mysql -uzabbix 2>/dev/null|grep -E "Slave_IO_Running|Slave_SQL_Running"|awk '{print $2}'|grep -c Yes
2

值为2说明状态正常,如果为0或者1,主从复制不正常,这个时候zabbix应该报警.

zabbix客户端的配置:

1
2
3
4
5
6
7
8
9
10
11
[root@data1] # cat zabbix_agentd.conf
LogFile= /tmp/zabbix_agentd .log
Server=X.X.X.224
ServerActive=X.X.X.224
Hostname=jiankong_data
RefreshActiveChecks=60
BufferSize=10000
MaxLinesPerSecond=200
Timeout=30
HostMetadataItem=system. uname
Include= /usr/local/zabbix/etc/zabbix_agentd .conf.d/*.conf

Include包含文件下的conf文件

1
2
[root@data1] # cat /usr/local/zabbix/etc/zabbix_agentd.conf.d/mysql_replication.conf 
UserParameter=mysql.replication, /usr/local/zabbix/scripts/mysql_replication .sh

zabbix脚本

1
2
3
4
5
[root@data1] # ll -a /usr/local/zabbix/scripts/mysql_replication.sh
-rwx------ 1 zabbix zabbix 162 2月  17 17:45  /usr/local/zabbix/scripts/mysql_replication .sh
[root@data1] # cat /usr/local/zabbix/scripts/mysql_replication.sh
#!/bin/bash
echo  "show slave status \G" | /usr/local/mysql/bin/mysql  -uzabbix 2> /dev/null | grep  -E  "Slave_IO_Running|Slave_SQL_Running" | awk  '{print $2}' | grep  -c Yes

在zabbix服务器控制端创建一个Template模板:

选择"Configuration"-"Template",然后点击"Create template",

名称为:Template App MySQL Replication

wKiom1itPNHSu97bAABxkjYBdq4417.jpg-wh_50

创建Items,

Name:MySQL slave status

Type:Zabbix agent (active)

Key:mysql.replication

wKioL1itPNHC1DfeAADXGrN_f2Y893.jpg-wh_50

创建Triggers

Name:MySQL Replication error on {HOST.NAME}

Expression:{Template App MySQL Replication:mysql.replication.last()}<2

wKiom1itPNKjFnlRAADGvbo6138971.jpg-wh_50


模板创建好之后,将模板Link到要监控的主机.最终的监控状态如下

wKioL1itPh_RiaQEAAF4IFT96ik658.jpg-wh_50

其中有一段时间内Mysql 主从失败,zabbix会发出报警.

wKioL1itPuewEo_zAAAxW_rqjXo411.jpg-wh_50



本文转自 yawei555 51CTO博客,原文链接:http://blog.51cto.com/huwei555/1898901,如需转载请自行联系原作者

相关实践学习
基于CentOS快速搭建LAMP环境
本教程介绍如何搭建LAMP环境,其中LAMP分别代表Linux、Apache、MySQL和PHP。
全面了解阿里云能为你做什么
阿里云在全球各地部署高效节能的绿色数据中心,利用清洁计算为万物互联的新世界提供源源不断的能源动力,目前开服的区域包括中国(华北、华东、华南、香港)、新加坡、美国(美东、美西)、欧洲、中东、澳大利亚、日本。目前阿里云的产品涵盖弹性计算、数据库、存储与CDN、分析与搜索、云通信、网络、管理与监控、应用服务、互联网中间件、移动服务、视频服务等。通过本课程,来了解阿里云能够为你的业务带来哪些帮助 &nbsp; &nbsp; 相关的阿里云产品:云服务器ECS 云服务器 ECS(Elastic Compute Service)是一种弹性可伸缩的计算服务,助您降低 IT 成本,提升运维效率,使您更专注于核心业务创新。产品详情: https://www.aliyun.com/product/ecs
相关文章
|
18天前
|
监控 关系型数据库 MySQL
《MySQL 简易速速上手小册》第7章:MySQL监控和日志分析(2024 最新版)
《MySQL 简易速速上手小册》第7章:MySQL监控和日志分析(2024 最新版)
37 3
|
27天前
|
Kubernetes Cloud Native 关系型数据库
提升数据安全与性能,掌握Helm一键部署MySQL 8.0主从技巧
【4月更文挑战第9天】提升数据安全与性能,掌握Helm一键部署MySQL 8.0主从技巧
45 0
|
1月前
|
存储 监控 关系型数据库
轻松入门Mysql:MySQL性能优化与监控,解锁进销存系统的潜力(23)
轻松入门Mysql:MySQL性能优化与监控,解锁进销存系统的潜力(23)
|
2月前
|
SQL 监控 关系型数据库
MySQL性能调优:监控和优化
MySQL性能调优:监控和优化
65 1
|
2月前
|
关系型数据库 MySQL 开发工具
MySQL5.7主从配置(Docker)
MySQL5.7主从配置(Docker)
734 0
|
2月前
|
SQL 关系型数据库 MySQL
解决MySQL主从慢同步问题的常见的解决方案:
解决MySQL主从慢同步问题的方法有很多,以下是一些常见的解决方案: 1. 检查网络连接:确保主从服务器之间的网络连接稳定,避免网络延迟或丢包导致数据同步缓慢。 2. 优化数据库配置:调整MySQL的配置参数,如增大binlog文件大小、调整innodb_flush_log_at_trx_commit等参数,以提高主从同步性能。 3. 检查IO线程和SQL线程状态:通过SHOW SLAVE STATUS命令检查IO线程和SQL线程的状态,确保它们正常运行并没有出现错误。 4. 检查主从日志位置:确认主从服务器的binlog文件和位置是否正确,避免由于错误的日志位置导致同步延迟。 5.
146 1
|
3月前
|
监控 关系型数据库 MySQL
HeartBeat监控Mysql状态
HeartBeat监控Mysql状态
|
1天前
|
Prometheus 监控 Cloud Native
使用mysqld_exporter监控所有MySQL实例
使用mysqld_exporter监控所有MySQL实例
12 2
|
8天前
|
SQL 关系型数据库 MySQL
MySQL主从模式最佳实践
主从模式是很常见的数据库存储解决方案,一主多从,当然还有双主模式(多主模式),你对数据库的主从模式有哪些见解,欢迎跟 V 哥聊聊。
|
28天前
|
监控 网络协议 Unix
centos7 zabbix安装客户端agent -配置监控远程主机 在需要监控的电脑上安装
centos7 zabbix安装客户端agent -配置监控远程主机 在需要监控的电脑上安装
19 0

推荐镜像

更多