自定义监控mysql主从状态以及主从延迟

1.自定义监控mysql主从状态

  1.1 安装mysql.

  1.2配置主从并验证是否成功同步. (以上两步骤详见,mysql主从,并在从库安装zabbix客户端)

  1.3写脚本获取从库的状态,确保两个yse,如果不是就报错.

复制代码
[root@localhost ~]# ls /   #新开的客户机没有scripts目录
bin   dev  home  lib64  mnt  proc  run   srv  tmp  var
boot  etc  lib   media  opt  root  sbin  sys  usr
[root@localhost ~]# mkdir /scripts/  #创建
[root@localhost ~]# ls
anaconda-ks.cfg  pass  zabbix-5.0.25  zabbix-5.0.25.tar.gz
[root@localhost ~]# cd /scripts/
[root@localhost scripts]# ls
[root@localhost scripts]# vim ~/.my.cnf  #设置以后不用输密码

[client]
user = root
password = 123456
[root@localhost scripts]# vim mysqlms.sh  #编写脚本

#!/bin/bash

count=$(mysql -uroot -p123456 -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      #编写如上’
复制代码

  1.4配置/usr/local/etc/zabbix_agentd.conf文件自定义监控.

[root@localhost etc]# vim zabbix_agentd.conf #添加自定义监控项
UserParameter=check_mysqlms,/bin/bash /scripts/mysqlms.sh

  1.5重启zabbix_agentd.

[root@localhost scripts]# pkill zabbix_agentd
[root@localhost scripts]# zabbix_agentd
[root@localhost scripts]# ss -antl
State  Recv-Q Send-Q Local Address:Port  Peer Address:PortProcess
LISTEN 0      128          0.0.0.0:22         0.0.0.0:*
LISTEN 0      128          0.0.0.0:10050      0.0.0.0:*
LISTEN 0      128             [::]:22            [::]:*
LISTEN 0      80                 *:3306             *:*

  1.6在从库本地执行脚本看结果是否正常匹配.

[root@localhost scripts]# ./mysqlms.sh  # 两个yes为0
0

  1.7去zabbix_server端用zabbix_get命令手动获取下状态并且确保状态与从库手动执行时一致.

[root@zabbix-server ~]# zabbix_get -s 192.168.6.134 -k check_mysqlms
0

 

  1.8配置web界面,添加监控项和触发器.

 

 添加新主机。

 

 添加模板

 

 添加监控项

 

 

 

 添加触发器

  1.9手动触发(停掉主库的mysql)并验证是否报警。

mysql> stop slave;
Query OK, 0 rows affected (0.01 sec)

手动停掉主从

 

 2.自定义监控mysql主从延迟

 1.编写脚本,

复制代码
[root@localhost ~]# cd /scripts/
[root@localhost scripts]# vi mysql_delay.sh
#!/bin/bash
delay=$( mysql -uroot -p123456 -e "show slave status\G" 2>/dev/null | grep 'Seconds_Behind_Master'| awk '{print $2}')

echo $delay
~
[root@localhost scripts]# chmod +x mysql_delay.sh  #添加执行权限
[root@localhost scripts]# ll
总用量 8
-rwxr-xr-x 1 root root 145 7月  12 00:58 mysql_delay.sh
-rwxr-xr-x 1 root root 173 7月  12 00:29 mysqlms.sh
[root@localhost scripts]# ./mysql_delay.sh
0
[root@localhost scripts]# vi /usr/local/etc/zabbix_agentd.conf
UserParameter=mysql_delay,/bin/bash /scripts/mysql_delay.sh #添加到最后一行
[root@localhost scripts]# pkill zabbix  #停启服务
[root@localhost scripts]# zabbix_agentd
[root@zabbix-server etc]# zabbix_get -s 192.168.6.134 -k mysql_delay # 服务端测试
0
复制代码

 

 

添加监控项

 

 

 

 添加触发器

 

 验证成功

 

posted @   孙一鸣  阅读(223)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
· 【自荐】一款简洁、开源的在线白板工具 Drawnix
· 园子的第一款AI主题卫衣上架——"HELLO! HOW CAN I ASSIST YOU TODAY
· 无需6万激活码!GitHub神秘组织3小时极速复刻Manus,手把手教你使用OpenManus搭建本
点击右上角即可分享
微信分享提示