目录
[a. 安装Zabbix存储库](#a. 安装Zabbix存储库)
[b. 安装Zabbix proxy](#b. 安装Zabbix proxy)
[d.在Zabbix server主机上,导入初始模式和数据。系统将提示您输入新创建的密码。](#d.在Zabbix server主机上,导入初始模式和数据。系统将提示您输入新创建的密码。)
e.导入数据库架构后禁用log_bin_trust_function_creators选项。
[f.为Zabbix proxy配置数据库](#f.为Zabbix proxy配置数据库)
[g.启动Zabbix proxy进程](#g.启动Zabbix proxy进程)
一、准备4台服务器
zabbix-server 服务端
zabbix-proxy 代理端
db1 数据库1(主库)
db2 数据库2(从库)
二、配置主从复制
1.准备环境
cpp
#防火墙 selinux
[root@localhost ~]# systemctl stop firewalld --now && setenforce 0
cpp
# 修改主机名
[root@localhost ~]# hostnamectl set-hostname db1
cpp
# 固定IP
[root@db1 ~]# vim /etc/sysconfig/network-scripts/ifcfg-ens33
TYPE=Ethernet
PROXY_METHOD=none
BROWSER_ONLY=no
BOOTPROTO=static #静态ip
DEFROUTE=yes
NAME=ens33
DEVICE=ens33
ONBOOT=yes #网卡开机自启
IPADDR=110.12.155.112 #需要固定的ip地址
PREFIX=24 #子网掩码
GATEWAY=10.12.155.250 #网关
DNS1=223.5.5.5
DNS2=223.6.6.6
保存退出后重启网卡
[root@db1 ~]# systemctl restart network
注:为防止配对成功以后ip地址改变出现连接问题
2.主机名解析
cpp
主机名解析
[root@db1 ~]# vim /etc/hosts #添加以下内容
10.12.155.112 db1 #主库机ip和主机名
10.12.155.113 db2 #从库机ip和主机名
3.安装数据库
cpp
#1yum安装
(安装数据库步骤请看博主前面的文章)
https://blog.csdn.net/zbw0323/article/details/135171013?spm=1001.2014.3001.5501
#2启动数据库
[root@db1 ~]# systemctl start msyqld
#3修改密码
[root@db2 ~]# mysqladmin -uroot -p"`awk '/temporary password/{p=$NF}END{print p}' /var/log/mysqld.log`" password '新密码'
4.配置主库db1
bash
#开启binlog
[root@db1 ~]# mkdir -pv /data/ #创建二进制日志文件的存储目录
[root@db1 ~]# chown mysql.mysql /data #改属主属组为mysql
[root@db1 ~]# vim /etc/my.cnf #编辑mysql配置文件添加以下内容
server-id=328 #id号可自定义
log-bin=/data/mysql-bin #日志文件名可自定义
# 重启数据库
[root@db1 ~]# systemctl restart msyqld
# 创建并授权一个账号
mysql> grant replication slave on *.* to '账号名'@'授权网段或ip' identified by '账号的密码';
mysql> flush privileges;
# 查看当前binlog日志文件以及pos位置点
mysql> show master status\G
*************************** 1. row ***************************
File: mysql-bin.000001
Position: 606
Binlog_Do_DB:
Binlog_Ignore_DB:
Executed_Gtid_Set:
1 row in set (0.00 sec)
5.配置从库db2
cpp
#编辑mysql配置文件添加server-id
[root@db2 ~]# vim /etc/my.cnf
server-id=329
# 重启数据库
[root@db2 ~]# systemctl restart msyqld
mysql> ? change master to #查找需要插入的配置主从信息模板
模板如下 修改配置信息后并执行
mysql> CHANGE MASTER TO
MASTER_HOST='master',
MASTER_USER='账号名',
MASTER_PASSWORD='账号的密码',
MASTER_PORT=3306,
MASTER_LOG_FILE='mysql-bin.000001', #主库查到的当前binlog日志文件
MASTER_LOG_POS=606, #主库查到的pos位置点
MASTER_CONNECT_RETRY=10;
# 启动slave
mysql> start slave;
# 查看主从状态
mysql> show slave status\G
6.主从状态显示
cpp
mysql> show slave status\G
*************************** 1. row ***************************
Slave_IO_State: Waiting for master to send event
Master_Host: master
Master_User: relication
Master_Port: 3306
Connect_Retry: 10
Master_Log_File: mysql-bin.000001
Read_Master_Log_Pos: 154
Relay_Log_File: slave-relay-bin.000002
Relay_Log_Pos: 320
Relay_Master_Log_File: mysql-bin.000001
Slave_IO_Running: Yes 为Yes成功
Slave_SQL_Running: Yes 为Yes成功
Replicate_Do_DB:
Replicate_Ignore_DB:
Replicate_Do_Table:
Replicate_Ignore_Table:
Replicate_Wild_Do_Table:
Replicate_Wild_Ignore_Table:
Last_Errno: 0
Last_Error:
Skip_Counter: 0
Exec_Master_Log_Pos: 154
Relay_Log_Space: 527
Until_Condition: None
Until_Log_File:
Until_Log_Pos: 0
Master_SSL_Allowed: No
Master_SSL_CA_File:
Master_SSL_CA_Path:
Master_SSL_Cert:
Master_SSL_Cipher:
Master_SSL_Key:
Seconds_Behind_Master: 0
Master_SSL_Verify_Server_Cert: No
Last_IO_Errno: 0
Last_IO_Error:
Last_SQL_Errno: 0
Last_SQL_Error:
Replicate_Ignore_Server_Ids:
Master_Server_Id: 203
Master_UUID: 6f6d0551-a073-11ee-9f28-000c298a6e96
Master_Info_File: /var/lib/mysql/master.info
SQL_Delay: 0
SQL_Remaining_Delay: NULL
Slave_SQL_Running_State: Slave has read all relay log; waiting for more updates
Master_Retry_Count: 86400
Master_Bind:
Last_IO_Error_Timestamp:
Last_SQL_Error_Timestamp:
Master_SSL_Crl:
Master_SSL_Crlpath:
Retrieved_Gtid_Set:
Executed_Gtid_Set:
Auto_Position: 0
Replicate_Rewrite_DB:
Channel_Name:
Master_TLS_Version:
1 row in set (0.00 sec)
三、db1,db2配置zabbix-agent
参考博主的博客的配置zabbix-agent(客户端)
三、zabbix-server的配置
参考博主的博客的配置zabbix-server(服务端)
四、zabbix-proxy的配置
1.为您的平台安装和配置Zabbix-proxy
a. 安装Zabbix存储库
cpp
[root@zabbix-proxy ~]# rpm -Uvh https://repo.zabbix.com/zabbix/5.0/rhel/7/x86_64/zabbix-release-5.0-1.el7.noarch.rpm
[root@zabbix-proxy ~]# yum clean all
b. 安装Zabbix proxy
cpp
[root@zabbix-proxy ~]# yum install zabbix-proxy-mysql
c.创建初始数据库
参考博主博客-----MySQL部署之yum安装-CSDN博客
确保您已启动并运行数据库服务器。
在数据库主机上运行以下命令。
cpp
[root@zabbix-proxy ~]# mysql -uroot -p'密码' 登录MySQL
mysql> create database zabbix_proxy character set utf8 collate utf8_bin; 创建zabbix库
mysql> grant all privileges on zabbix_proxy.* to zabbix@'localhost' identified by '密码' 给zabbix用户授权
mysql> set global log_bin_trust_function_creators = 1;
mysql> quit;
d.在Zabbix server主机上,导入初始模式和数据。系统将提示您输入新创建的密码。
cpp
[root@zabbix-proxy ~]# zcat /usr/share/doc/zabbix-proxy-mysql*/schema.sql.gz | mysql -uzabbix -p '密码' zabbix_proxy
e.导入数据库架构后禁用log_bin_trust_function_creators选项。
cpp
[root@zabbix-proxy ~]# mysql -uroot -p'密码'
mysql> set global log_bin_trust_function_creators = 0;
mysql> quit
f.为Zabbix proxy配置数据库
编辑文件 /etc/zabbix/zabbix_proxy.conf
bash
DBPassword=password
g.启动Zabbix proxy进程
启动Zabbix proxy进程,使其在系统启动时启动。
cpp
[root@zabbix-proxy ~]# systemctl restart zabbix-proxy
[root@zabbix-proxy ~]# systemctl enable zabbix-proxy
2.修改zabbix-proxy的配置文件
vim /etc/zabbix/zabbix_proxy.conf
cpp
# 修改一下内容
ProxyMode=1 # 0为主动 1为被动
Server=服务端ip地址
Hostname=zbxproxy.proxy #主机名
ListenPort=10051 #proxy自己的监听端口
EnableRemoteCommands=1 #允许远程命令
LogRemoteCommands=1 #记录远程命令的日志
数据的配置
DBHost=数据库地址
DBName=zabbix_proxy
DBUser=zabbix
DBPassword=zbxproxypass
ConfigFrequency=30 #多长时间,去服务端拖一次有自己监控的操作配置;为了实验更快的生效,这里设置30秒,默认3600s
DataSenderFrequency=1 #每一秒向server 端发一次数据,发送频度
[root@zabbix-proxy ~]# systemctl start zabbix-proxy
3.页面配置
4.检查
查看以前的监控项是否正常