自定义监控mysql服务

自定义监控mysql服务

1 监控mysql进程

[root@node2 ~]# cd /usr/local/etc/
[root@node2 etc]# ls
zabbix_agentd.conf  zabbix_agentd.conf.d
[root@node2 etc]# vim zabbix_agentd.conf
UnsafeUserParameters=1
//取消注释并把值设为1
//并在末尾加入以下内容
UserParameter=check_process[*],/bin/bash /scripts/check_process.sh $1
//脚本
[root@node2 etc]# mkdir /scripts/
[root@node2 etc]# vim /scripts/check_process.sh
//写入以下内容
#!/bin/bash
  
count=$(ps -ef| grep -Ev "grep|$0"| grep -c $1)
if [ $count -eq 0 ]; then
        echo '1'
else
        echo '0'
fi

//重启zabbix
[root@node2 ~]# pkill zabbix
[root@node2 ~]# zabbix_agentd

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

在这里插入图片描述

2 监控mysql日志

[root@node2 scripts]#vim log.py
//写入此网页log.py的内容https://github.com/chendao2015/pyscripts
[root@node2 scripts]#chmod +x log.py

//修改日志文件权限
[root@node2 ~]# cd /opt/data/
[root@node2 data]# ls
auto.cnf         client-key.pem  ib_logfile1  mysql_logs          server-cert.pem
ca-key.pem       ib_buffer_pool  ibtmp1       performance_schema  server-key.pem
ca.pem           ibdata1         mysql        private_key.pem     sys
client-cert.pem  ib_logfile0     mysql.pid    public_key.pem      test
[root@node2 data]# setfacl -m u:zabbix:rx /opt/data

//修改配置文件
[root@node2 scripts]# cd /usr/local/etc/
[root@node2 etc]# vim zabbix_agentd.conf
//末尾添加一下内容
UserParameter=check_logs[*],/bin/bash/python3 /scripts/log.py $1 $2 $3
//重启zabbix
[root@node2 ~]# pkill zabbix
[root@node2 ~]# zabbix_agentd

添加监控
在这里插入图片描述
添加触发器
在这里插入图片描述

验证

[root@node2 scripts]# echo 'Error' >>  /opt/data/mysql_logs
//写入err

在这里插入图片描述

3. 监控mysql主从状态

准备工作

在被监控端的基础上在建立一个与监控端配置mysql主从的主库

具体参考这篇文章
我是参考

具体步骤

[root@node2 ~]# cd /scripts/
[root@node2 scripts]# vim mysqlms.sh  //脚本写入以下内容
#!/bin/bash
  
count=$( mysql  -uroot -p951yyx -e 'show slave status\G;' 2>/dev/null | grep -v grep | grep -c 'Yes' )

if [ $count -eq 2 ];then
    echo "0"
else
    echo "1"
fi

//给予权限
[root@node2 scripts]# chmod +x mysqlms.sh 

[root@node2 scripts]# vim /usr/local/etc/zabbix_agentd.conf
UserParameter=check_mysqlms,/bin/bash /scripts/mysqlms.sh
//末尾添加以上内容

//重启生效
[root@node2 scripts]# pkill zabbix
[root@node2 scripts]# zabbix_agentd

添加监控
在这里插入图片描述
添加触发器

在这里插入图片描述
验证效果

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

在这里插入图片描述

效果

4.监控mysql主从延迟

[root@node2 ~]# cd /scripts/
[root@node2 scripts]# vim mysql_delay.sh  //写入以下内容
#!/bin/bash
  
delay=$(mysql -uroot -p951yyx -e 'show slave status\G' 2>/dev/null | grep 'Seconds_Behind_Master'| awk '{print $2}' )

echo $delay

//给与权限
[root@node2 scripts]# chmod +x mysql_delay.sh 

[root@node2 scripts]# vim /usr/local/etc/zabbix_agentd.conf
UserParameter=check_mysql_delay,/bin/bash /scripts/mysql_delay.sh
//末尾添加以上内容

//重启生效
[root@node2 scripts]# pkill zabbix
[root@node2 scripts]# zabbix_agentd

添加监控
在这里插入图片描述
添加触发器
在这里插入图片描述
验证效果

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值