自定义监控MySQL主从状态和延迟

自定义监控MySQL主从状态和延迟

一. 自定义监控MySQL主从状态

1. 环境
1.1 准备3台虚拟机,安装了mysql主从的虚拟机
环境IP域名安装的应用
服务端192.168.232.132zabbix_serverlamp架构 zabbix server zabbix agent
客户端192.168.232.128slavezabbix agent mysql从库
客户端192.168.232.134mastermysql主库
2. 在slave编写脚本以及zabbix客户端配置文件
[root@slave ~]# cd /scripts/
[root@slave scripts]# ls
check_process.sh  log.py
[root@slave scripts]# vim mysqlms.sh
[root@slave scripts]# chmod +x mysqlms.sh 
[root@slave scripts]# vim mysqlms.sh 
[root@slave scripts]# cat mysqlms.sh 
#!/bin/bash

count=$(mysql -uroot -prun123456 -e "show slave status\G;" 2> /dev/null |grep -v grep | grep -c 'Yes')

if [ $count -ne 2 ];then
    echo '1'
else
    echo '0'
fi
[root@slave scripts]# 

[root@slave scripts]# cd /usr/local/etc/
[root@slave etc]# ls
zabbix_agentd.conf  zabbix_agentd.conf.d
[root@slave etc]# vim zabbix_agentd.conf
[root@slave etc]# tail -3 zabbix_agentd.conf
UserParameter=check_process[*],/bin/bash /scripts/check_process.sh $1 
UserParameter=check_logs[*],/usr/bin/python3 /scripts/log.py $1 $2 $3
UserParameter=check_mysqlms,/bin/bash /scripts/mysqlms.sh
[root@slave etc]# pkill zabbix
[root@slave etc]# zabbix_agentd 
[root@slave etc]# 
3. 验证
[root@zabbix_server ~]# zabbix_get -s 192.168.232.128 -k check_mysqlms
0
[root@zabbix_server ~]# zabbix_get -s 192.168.232.128 -k check_mysqlms
0

[root@slave ~]# systemctl stop mysqld

[root@zabbix_server ~]# zabbix_get -s 192.168.232.128 -k check_mysqlms
1
[root@zabbix_server ~]# zabbix_get -s 192.168.232.128 -k check_mysqlms
1

[root@slave ~]# systemctl start mysqld

[root@zabbix_server ~]# zabbix_get -s 192.168.232.128 -k check_mysqlms
0
[root@zabbix_server ~]# zabbix_get -s 192.168.232.128 -k check_mysqlms
0
[root@zabbix_server ~]# 
4. 添加监控项
  • 在这里插入图片描述
5. 添加触发器
  • 在这里插入图片描述

  • 在这里插入图片描述

6. 触发
[root@slave ~]# systemctl stop mysqld
[root@slave ~]# systemctl start mysqld
7. 查看数据
  • 在这里插入图片描述

  • 在这里插入图片描述

8. 查看邮箱
  • 在这里插入图片描述

二. 自定义监控MySQL延迟状态

1. 在slave编写脚本以及zabbix客户端配置文件
[root@slave scripts]# vim mysqlms.sh 
[root@slave scripts]# mysql -uroot -e 'show slave status\G' | grep 'Seconds_Behind_Master'
        Seconds_Behind_Master: 0
[root@slave scripts]# mysql -uroot -e 'show slave status\G' | grep 'Seconds_Behind_Master' | awk '{print $2}'
0
[root@slave scripts]# vim mysql_delay.sh
[root@slave scripts]# vim mysql_delay.sh 
[root@slave scripts]# cat mysql_delay.sh 
#!/bin/bash

delay=$(mysql -uroot -prun123456 -e 'show slave status\G' 2> /dev/null| grep 'Seconds_Behind_Master' | awk '{print $2}')

echo $delay
[root@slave scripts]# 
[root@slave scripts]# chmod +x mysql_delay.sh
[root@slave scripts]# ./mysql_delay.sh 
0
[root@slave scripts]# 
  
  
zabbix客户端配置文件  
[root@slave scripts]# cd /usr/local/etc/
[root@slave etc]# ls
zabbix_agentd.conf  zabbix_agentd.conf.d
[root@slave etc]# vim zabbix_agentd.conf
[root@slave etc]# tail -4 zabbix_agentd.conf
UserParameter=check_process[*],/bin/bash /scripts/check_process.sh $1 
UserParameter=check_logs[*],/usr/bin/python3 /scripts/log.py $1 $2 $3
UserParameter=check_mysqlms,/bin/bash /scripts/mysqlms.sh
UserParameter=check_mysql_delay,/bin/bash /scripts/mysql_delay.s
[root@slave etc]# pkill zabbix
[root@slave etc]# zabbix_agentd 
[root@slave etc]# 
2. 验证
[root@slave scripts]# systemctl stop firewalld
[root@slave scripts]# 


[root@zabbix_server ~]# zabbix_get -s 192.168.232.128 -k check_mysql_delay
0
[root@zabbix_server ~]# 
3. 添加监控项
  • 在这里插入图片描述
4. 添加触发器
  • 在这里插入图片描述

  • 在这里插入图片描述

  • 企业中的是大于多少报警

5. 查看
  • 在这里插入图片描述

  • 在这里插入图片描述

6. 查看邮箱
  • 在这里插入图片描述

三. 设置zabbix用户以及用户组

1. 添加用户
  • 在这里插入图片描述
2. 添加用户权限
  • 在这里插入图片描述
3. 添加用户组
  • 在这里插入图片描述
4. 添加用户组权限
  • 在这里插入图片描述
5. 再次配置用户权限
  • 在这里插入图片描述
6. 查看
  • 在这里插入图片描述
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值