zabbix监控mysql主从

安装zabbix监控mysql主从
实验环境

角色服务ip
zabbix servermysql主+zabbix+lamp192.168.118.112
zabbix agentzabbix agent+mysql从192.168.118.222

关闭防火墙和selinux
安装zabbix,zabbix是基于lamp环境下的,先搭建lamp架构

yum -y install httpd
yum -y install php php-mysql
#激活服务
systemctl start httpd
#创建php测试页
 vim /var/www/html/test.php
<?php
phpinfo();
?>

访问测试页面
在这里插入图片描述
安装zabbix

#安装zabbix仓库
rpm -vhi http://repo.zabbix.com/zabbix/3.0/rhel/7/x86_64/zabbix-release-3.0-1.el7.noarch.rpm
安装zabbix-server和web以及mysql的依赖
包
yum install -y zabbix-server-mysql zabbix-web-mysql
创建zabbix数据库和用户
create database zabbix character set utf8;
grant all on zabbix.* to zabbix@'192.168.118.222' identified by ' 123456';
flush privileges;
#导入默认zabbix数据库信息
[root@server zabbix-server-mysql-3.4.14]# pwd
/usr/share/doc/zabbix-server-mysql-3.4.14
[root@server zabbix-server-mysql-3.4.14]# zcat create.sql.gz | mysql zabbix -uzabbix -p123567

修改zabbix配置文件vim /etc/zabbix/zabbix_server.conf
# Mandatory: no
# Range: 1024-32767
# Default:
ListenPort=10051     #取消注释


# Mandatory: no
# Default:
DBHost=192.168.118.112    #改为本机服务器ip


# DBName=

DBName=zabbix     #用户名

### Option: DBSchema



# DBUser=

DBUser=zabbix     #用户

### Option: DBPassword


# Default:
 DBPassword=123456      #登录密码

### Option: DBSocket
#启动zabbix
systemctl start zabbix-server

修改httpd配置文件

vim /etc/httpd/conf.d/zabbix.conf
 <IfModule mod_php5.c>
        php_value max_execution_time 300
        php_value memory_limit 128M
        php_value post_max_size 16M
        php_value upload_max_filesize 2M
        php_value max_input_time 300
        php_value max_input_vars 10000
        php_value date.timezone Asia/Shanghai
        php_value always_populate_raw_post_data -1
        # php_value date.timezone Europe/Riga
    </IfModule>
#重启httd服务
systemctl restart httpd

网页安装测试

在这里插入图片描述

在这里插入图片描述
在这里插入图片描述
客户端安装(192.168.118.222)

#安装zabbix仓库
rpm -vhi http://repo.zabbix.com/zabbix/3.0/rhel/7/x86_64/zabbix-release-3.0-1.el7.noarch.rpm
#安装客户端
yum -y install zabbix-agent
#编辑客户端文件
[root@client ~]# vim /etc/zabbix/zabbix_agentd.conf 


Hostname=Zabbix client    #主机名
    


# Default:
# Server=

Server=192.168.118.112      #服务端ip




# ServerActive=

ServerActive=192.168.118.112    #服务端ip

### Option: Hostname

# Default:
 ListenPort=10050    #取消端口注释

### Option: ListenIP



#启动客户端服务
systemctl start zabbix-agent
[root@client ~]# ss -antl
State       Recv-Q Send-Q               Local Address:Port                 Peer Address:Port 
LISTEN      0      100                      127.0.0.1:25                              *:*     
LISTEN      0      128                              *:10050                           *:*     
LISTEN      0      50                               *:3306                            *:*     
LISTEN      0      128                              *:22                              *:*     
LISTEN      0      100                            ::1:25                             :::*     
LISTEN      0      128                             :::10050                          :::*     
LISTEN      0      32                              :::21                             :::*     
LISTEN      0      128                             :::22  

创建监控mysql的账号

[root@client ~]# mysql -uroot -p123
MariaDB [(none)]> grant all on *.* to zabbix@'192.168.118.112' identified by '123456';
Query OK, 0 rows affected (0.00 sec)

MariaDB [(none)]> flush privileges;
Query OK, 0 rows affected (0.00 sec)

写一个监控脚本

先用zabbix这个用户来获取slave的所有状态,然后grep出这两个状态,然后再输出第二列,最后查看有几个Yes状态的,正常情况下有两个Yes状态。(操作的数据出现异常的时候,Slave_SQL_Running就会变成No,当执行slave stop的时候,两个都会变成No;)

[root@localhost ~]# vim ck_mysql_backup.sh 

mysql -uzabbix -p123456 -h 192.168.118.222 -e 'show slave status\G' |grep -E "Slave_IO_Running|Slave_SQL_Running"|awk '{print $2}'|grep -c Yes

[root@localhost ~]# chmod 777 ck_mysql_backup.sh 
[root@localhost ~]# chown -R zabbix.zabbix ck_mysql_backup.sh 
#状态
-rwxrwxrwx 1 zabbix zabbix  144 91 12:38 ck_mysql_backup.sh

执行脚本,若输出为2则证明主从复制没有问题

[root@localhost ~]# sh -x ck_mysql_backup.sh 
+ grep -E 'Slave_IO_Running|Slave_SQL_Running'
+ grep -c Yes
+ mysql -uzabbix -p123456 -h 192.168.118.222 -e 'show slave status\G'
+ awk '{print $2}'
2
#说明主备没有问题

在zabbix agent里面添加监控项

 [root@localhost ~]# vim /etc/zabbix/zabbix_agentd.conf 
#最后一行添加
UserParameter=mysql.all,/root/ck_mysql_backup.sh
#等号后面的字符串中,逗号前面是Key,后面是执行的脚本

server端添加监控项

[root@server ~]# zabbix_get -s 192.168.118.222 -k "mysql.all"
2
#主从复制正常

web页面配置
新建主机群组 配置-主机群组-新建群组
建msql群组
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
MariaDB [(none)]> start slave;
Query OK, 0 rows affected (0.00 sec)
在这里插入图片描述

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值