zabbix监控MySQL主从状态

时间:2022-05-28 06:39:00

首先需要拥有zabbix环境及MySQL主从环境

  搭建zabbix环境可参考:https://www.cnblogs.com/tyk3201/p/12033456.html

需要用到三台虚拟机

一:192.168.238.141 zabbix-server

二:192.168.238.142 zabbix-agent mysql主

三:192.168.238.143 mysql从

 

142:操作

配置CentOS 7 zabbix源

rpm -ivh http://repo.zabbix.com/zabbix/4.4/rhel/7/x86_64/zabbix-release-4.4-1.el7.noarch.rpm

 

安装zabbix-agent

yum -y install zabbix-agent

 

修改zabbix-agent配置文件

vim /etc/zabbix/zabbix_agentd.conf:
修改内容如下
Server=192.168.238.141 #zabbix-server.ip ServerActive=192.168.238.141 #zabbix-server.ip

关闭防火墙启动服务

systemtl stop firewalld

setenforce 0

systemctl start zabbix-agent

 

监控服务

监控MySQL是否存活

 

判断MySQL是否存在:
mysqladmin ping
存在则输出
mysqld is alive

 

将MySQL admin ping定义为自定义监控参数

vim /etc/zabbix/zabbix_agentd.d/userparameter_mysql.conf:
增加内容如下
UserParameter=mysql.ping,mysqladmin ping | grep -c alive   #输出值为1
可注释其他内容或者都删除

 

在zabbix-server端测试监控指令是否可达

安装zabbix-get检测

yum -y install zabbix-get zabbix_get -s 192.168.238.142 -k mysql.ping #若返回为1则成功

 

添加MySQL是否存活监控项

  •   one创建主机群组-组名为MySQL

zabbix监控MySQL主从状态

 

 

 

zabbix监控MySQL主从状态

 

 

 

  • two创建主机

zabbix监控MySQL主从状态

 

 

 zabbix监控MySQL主从状态

 

 

 

 

 

  •  three增加监控项

     

zabbix监控MySQL主从状态

 

 

 zabbix监控MySQL主从状态

 

  •  four创建触发器进行异常报警

zabbix监控MySQL主从状态

 

  •  five增加图形

zabbix监控MySQL主从状态

 

 

 

zabbix监控MySQL主从状态

 

  •  finish查看图形

zabbix监控MySQL主从状态

 

 

监控MySQL主从

 

 

 

 

主从配置成功后为:

Slave_IO_Running: Yes
Slave_SQL_Running: Yes

 

 在从上编写检测MySQL主从脚本:

zabbix监控MySQL主从状态
cd /etc/zabbix/
mkdir scripts
cd scripts
vim mysql.sh:
内容如下:
case $1 in slave) mysql -e "show slave statusG"|egrep -w "Running|Yes"|awk {print $2}‘|wc -l #采用精确匹配判断是否为2个YES ;; esac
zabbix监控MySQL主从状态

 

为编写的脚本定义为自定义监控参数

zabbix监控MySQL主从状态
vim /etc/zabbix/zabbix-agentd.d/userparameter_mysql.conf:
添加如下内容:
UserParameter=mysql.status[*],sudo /etc/zabbix/scripts/mysql.sh $1 #当监控参数mysql.status传入参数后 会自动匹配执行mysql.sh visudo: 添加 zabbix ALL=(ALL) NOPASSWD: ALL #为zabbix用户增加所有权限且在切换到root用户是无需输入密码
zabbix监控MySQL主从状态

 

检测监控参数是否正确

在zabbix-server端

zabbix_get -s 192.168.238.142 -k mysql.status[slave] #若有返回值则证明成功

 

添加MySQL主从监控

  • one创建mysql主从监控项

zabbix监控MySQL主从状态

 

  •  two创建基于mysql主从监控的触发器

zabbix监控MySQL主从状态

 

  •  three添加状态图

zabbix监控MySQL主从状态

 

  •  finish

zabbix监控MySQL主从状态