zabbix自定义监控mysql主从状态和延迟及模板和用户管理

zabbix自定义监控mysql主从状态和延迟及模板和用户管理


实验环境:

虚拟机主机IP主机名
zabbix服务端192.168.183.137zabbix
mysql主库192.168.183.139master
mysql从库192.168.183.138web

一、监控mysql主从状态

1. 配置mysql主从同步

//安装数据库
[root@master ~]# dnf install -y mariadb*
[root@web ~]# dnf install -y mariadb*

//启动并修改密码
//主库配置
[root@master ~]# systemctl enable --now mariadb
[root@master ~]# mysql
Welcome to the MariaDB monitor.  Commands end with ; or \g.
Your MariaDB connection id is 8
Server version: 10.3.28-MariaDB MariaDB Server

Copyright (c) 2000, 2018, Oracle, MariaDB Corporation Ab and others.

Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.

MariaDB [(none)]> set password = password('123com');
Query OK, 0 rows affected (0.000 sec)

MariaDB [(none)]> quit
Bye
[root@master ~]# mysql -uroot -p123com		//验证密码

//从库配置
[root@web ~]# systemctl enable --now mariadb
[root@web ~]# mysql
Welcome to the MariaDB monitor.  Commands end with ; or \g.
Your MariaDB connection id is 8
Server version: 10.3.28-MariaDB MariaDB Server

Copyright (c) 2000, 2018, Oracle, MariaDB Corporation Ab and others.

Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.

MariaDB [(none)]> set password = password('123com');
Query OK, 0 rows affected (0.000 sec)

MariaDB [(none)]> quit
Bye
[root@web ~]# mysql -uroot -p123com		//验证密码

//在主库上创建同步账号
MariaDB [(none)]> grant replication slave on *.* to 'repl'@'192.168.183.138' identified by 'repl123!';
Query OK, 0 rows affected (0.001 sec)

MariaDB [(none)]> quit
Bye
//写配置文件
[root@master ~]# vim /etc/my.cnf.d/mariadb-server.cnf 
 22 log-bin = mysql_bin
 23 server-id = 10
[root@master ~]# systemctl restart mariadb
[root@master ~]# mysql -uroot -p123com
MariaDB [(none)]> show master status;
+------------------+----------+--------------+------------------+
| File             | Position | Binlog_Do_DB | Binlog_Ignore_DB |
+------------------+----------+--------------+------------------+
| mysql_bin.000001 |      328 |              |                  |
+------------------+----------+--------------+------------------+
1 row in set (0.000 sec)

//关闭防火墙和selinux
[root@master ~]# systemctl disable --now firewalld
Removed /etc/systemd/system/multi-user.target.wants/firewalld.service.
Removed /etc/systemd/system/dbus-org.fedoraproject.FirewallD1.service.
[root@master ~]# setenforce 0

//配置从库
[root@web ~]# vim /etc/my.cnf.d/mariadb-server.cnf 
 22 server-id = 20
 23 relay-log = myrelay
[root@web ~]# systemctl restart mariadb
[root@web ~]# mysql -uroot -p123com
MariaDB [(none)]> change master to
    -> master_host='192.168.183.139',
    -> master_user='repl',
    -> master_password='repl123!',
    -> master_log_file='mysql_bin.000001',
    -> master_log_pos=328;
Query OK, 0 rows affected (0.003 sec)

MariaDB [(none)]> start slave;
Query OK, 0 rows affected (0.001 sec)

MariaDB [(none)]> show slave status\G;
······
			 Slave_IO_Running: Yes
             Slave_SQL_Running: Yes

······

//测试验证主从是否同步
[root@master ~]# mysql -uroot -p123com
MariaDB [(none)]> create database george;
Query OK, 1 row affected (0.000 sec)

MariaDB [(none)]> show databases;
+--------------------+
| Database           |
+--------------------+
| george             |
| information_schema |
| mysql              |
| performance_schema |
+--------------------+
4 rows in set (0.000 sec)
[root@web ~]# mysql -uroot -p123com
MariaDB [(none)]> show databases;
+--------------------+
| Database           |
+--------------------+
| george             |
| information_schema |
| mysql              |
| performance_schema |
+--------------------+
4 rows in set (0.000 sec)

2. 配置监控脚本

//在从库修改配置文件
[root@web ~]# vim /usr/local/etc/zabbix_agentd.conf
UserParameter=check_mysql_status,/bin/bash /scripts/mysql_status.sh	//在末行加入此配置
//重启生效
[root@web ~]# pkill zabbix_agentd
[root@web ~]# zabbix_agentd
[root@web ~]# ss -antl
State  Recv-Q Send-Q  Local Address:Port    Peer Address:Port Process                                                       
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      80            0.0.0.0:3306         0.0.0.0:*                                                                  
LISTEN 0      128              [::]:22              [::]:*    
//编写脚本
[root@web ~]# vim /scripts/mysql_status.sh
#!/bin/bash
yes=`mysql -uroot -p123com -e " show slave status\G" 2> /dev/null |grep "Running:"|grep -c "Yes"`
if [ $yes == 2  ]; then
        echo "0"
else    
        echo "1"
fi      

[root@web ~]# chmod +x /scripts/mysql_status.sh

//在服务端检测key是否可用
[root@zabbix ~]# zabbix_get -s 192.168.183.138 -k check_mysql_status
0

3. 添加监控项

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

4. 添加触发器

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

5. 手动触发告警

[root@web ~]# mysql -uroot -p123com -e "stop slave;"

邮件发送完成
在这里插入图片描述
查看邮件
在这里插入图片描述

二、监控mysql主从延迟

1.配置监控脚本

延迟需要看Seconds_Behind_Master这项

//在从库添加配置
[root@web ~]# vim /usr/local/etc/zabbix_agentd.conf
UserParameter=check_mysqlyc,/bin/bash /scripts/mysqlyc.sh

//重启生效
[root@web ~]# pkill zabbix_agentd
[root@web ~]# zabbix_agentd

//编写脚本
[root@web ~]# vim /scripts/mysqlyc.sh
#!/bin/bash
yc=`mysql -uroot -p123com -e "show slave status\G" 2> /dev/null |awk '/Seconds_Behind_Master/ {print $2}' `
echo $yc

[root@web ~]# chmod +x /scripts/mysqlyc.sh

//在服务端检测key是否可用
[root@zabbix ~]# zabbix_get -s 192.168.183.138 -k check_mysqlyc
0

2. 添加监控项

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

3. 添加触发器

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
延迟大于200触发告警
在这里插入图片描述
等延迟达到200以上触发告警
在这里插入图片描述
在这里插入图片描述
因为这里延迟不会到200,所有改为0来模拟告警。

三、用户管理

1. 用户组

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

2. 用户角色

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

3. 用户

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

四、模板管理

1. 模板组

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

2. 模板

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
copy模板参数
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
导出模板
在这里插入图片描述
在这里插入图片描述
选择记事本打开以后就是模板的格式
在这里插入图片描述

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值