Skip to content

Latest commit

 

History

History
177 lines (146 loc) · 9.06 KB

10.Zabbix4.0 版本升级.md

File metadata and controls

177 lines (146 loc) · 9.06 KB

@[toc]

1. 为什么要升级Zabbix版本

① 提高性能;② 增加新功能;③ 解决模板不兼容等问题。

2. 安装Zabbix2.2

新增10.0.0.4,在这台机器上安装Zabbix2.2以便升级到Zabbix4.0。Zabbix2.2下载地址:https://mirrors.tuna.tsinghua.edu.cn/zabbix/zabbix/2.2/rhel/7/x86_64/

# 查看系统已安装的与Zabbix相关的安装文件
[root@localhost ~]# rpm -qa|grep zabbix

# 删除所有与Zabbix相关的安装文件
[root@localhost ~]# yum remove zabbix-agent.x86_64

# 删除Zabbix配置文件
[root@localhost ~]# rm -rf /etc/zabbix

# 安装Zabbix源
[root@localhost ~]# rpm -ivh https://mirrors.tuna.tsinghua.edu.cn/zabbix/zabbix/2.2/rhel/7/x86_64/zabbix-release-2.2-1.el7.noarch.rpm

# 使用清华源加速下载
[root@localhost ~]# vim  /etc/yum.repos.d/zabbix.repo 
%s#repo.zabbix.com#mirror.tuna.tsinghua.edu.cn/zabbix#g

# 安装Zabbix主要的安装文件zabbix-server-mysql和zabbix-web-mysql
[root@localhost ~]# yum install zabbix-server-mysql zabbix-web-mysql -y 

# 设置Zabbix开机自启
[root@localhost ~]# systemctl enable zabbix-server

# 安装MySQL数据库
[root@localhost ~]# yum install mariadb-server -y

# 设置MySQL开机自启
[root@localhost ~]# systemctl enable mariadb
[root@localhost ~]# systemctl is-enabled mariadb
enabled

# 初始化数据库。一开始没密码直接回车,不设置密码no,其它为yes
[root@localhost ~]# mysql_secure_installation 

# 创建数据库(charset utf8等价于character set utf8)
MariaDB [(none)]> create database zabbix charset utf8 collate utf8_bin;

# 创建授权。授权命令执行之后会创建zabbix用户
MariaDB [(none)]> grant all on zabbix.* to zabbix@'%';

# 如果需要远程连接mysql,则需要关闭firewalld
[root@localhost ~]# systemctl stop firewalld

# 设置firewall开机不自启动
[root@localhost ~]# systemctl disable firewalld

# 查找初始数据sql文件
[root@localhost ~]# rpm -ql zabbix-server-mysql
/usr/sbin/zabbix_server_mysql
/usr/share/doc/zabbix-server-mysql-2.2.23
/usr/share/doc/zabbix-server-mysql-2.2.23/create
/usr/share/doc/zabbix-server-mysql-2.2.23/create/data.sql
/usr/share/doc/zabbix-server-mysql-2.2.23/create/images.sql
/usr/share/doc/zabbix-server-mysql-2.2.23/create/schema.sql
/usr/share/doc/zabbix-server-mysql-2.2.23/upgrades
/usr/share/doc/zabbix-server-mysql-2.2.23/upgrades/dbpatches
/usr/share/doc/zabbix-server-mysql-2.2.23/upgrades/dbpatches/1.6
/usr/share/doc/zabbix-server-mysql-2.2.23/upgrades/dbpatches/1.6/mysql
/usr/share/doc/zabbix-server-mysql-2.2.23/upgrades/dbpatches/1.6/mysql/patch.sql
...

# 跳转到Zabbix初始数据目录下
[root@localhost ~]# cd /usr/share/doc/zabbix-server-mysql-2.2.23/create/

# 查看数据库文件
[root@localhost create]# ls
data.sql  images.sql  schema.sql

# 导入zabbix初始数据到数据库,注意顺序
[root@localhost create]# mysql -uroot -p zabbix < schema.sql 
[root@localhost create]# mysql -uroot -p zabbix < images.sql 
[root@localhost create]# mysql -uroot -p zabbix < data.sql 
[root@localhost create]# vim /etc/zabbix/zabbix_server.conf

# 需要使Zabbix连接MySQL,所以也要修改DBHost、DBUser、DBPassword的值。我这里zabbix数据库用户没有设置密码
[root@localhost create]# vim /etc/zabbix/zabbix_server.conf

# 过滤
[root@localhost create]# grep -Ev '^$|#' /etc/zabbix/zabbix_server.conf 
LogFile=/var/log/zabbix/zabbix_server.log
LogFileSize=0
PidFile=/var/run/zabbix/zabbix_server.pid
DBHost=localhost
DBName=zabbix
DBUser=zabbix
DBPassword=
DBSocket=/var/lib/mysql/mysql.sock
SNMPTrapperFile=/var/log/snmptt/snmptt.log
AlertScriptsPath=/usr/lib/zabbix/alertscripts
ExternalScripts=/usr/lib/zabbix/externalscripts

# 启动Zabbix
[root@localhost create]# systemctl start zabbix-server

# 修改时区
[root@localhost create]# vim /etc/httpd/conf.d/zabbix.conf 
php_value date.timezone Asia/Shanghai

# 启动httpd
[root@localhost create]# systemctl start httpd

至此Zabbix 2.2安装完成。可以登录Web界面: 在这里插入图片描述 连接MySQL数据库,这里只填了用户名没有填写密码是因为我这里的数据库用户zabbix没有设置密码: 在这里插入图片描述 默认,下一步: 在这里插入图片描述 配置完成后会生成 /etc/zabbix/web/zabbix.conf.php文件,如果要 把数据库从zabbix server中分离,迁移到单独的机器中,就需要修改这个文件中的数据库ip地址: 在这里插入图片描述 用户名是Admin或admin都可以,但密码必须是zabbix。 在这里插入图片描述 修改为中文编码: 在这里插入图片描述 在这里插入图片描述

3. Zabbix 2.2升级到Zabbix 4.0
# 下载4.0第二rpm包
[root@localhost ~]# wget -ivh https://mirror.tuna.tsinghua.edu.cn/zabbix/zabbix/4.0/rhel/7/x86_64/zabbix-release-4.0-2.el7.noarch.rpm

# 升级Zabbix安装源
[root@localhost ~]# rpm -Uvh zabbix-release-4.0-2.el7.noarch.rpm 
警告:zabbix-release-4.0-2.el7.noarch.rpm: 头V4 RSA/SHA512 Signature, 密钥 ID a14fe591: NOKEY
准备中...                          ################################# [100%]
正在升级/安装...
   1:zabbix-release-4.0-2.el7         ################################# [ 50%]
正在清理/删除...
   2:zabbix-release-2.2-1.el7         ################################# [100%]

# 升级安装源后,zabbix.repo中的内容会被替换成4.0的源
[root@localhost ~]# ls /etc/yum.repos.d/
CentOS-Base.repo  CentOS-CR.repo  CentOS-Debuginfo.repo  CentOS-fasttrack.repo  CentOS-Media.repo  CentOS-Sources.repo  CentOS-Vault.repo  CentOS-x86_64-kernel.repo  zabbix.repo

# 使用清华源加速下载
[root@localhost ~]# vim  /etc/yum.repos.d/zabbix.repo 
%s#repo.zabbix.com#mirror.tuna.tsinghua.edu.cn/zabbix#g

# 为防止升级失败,需要备份数据库
[root@localhost ~]# mysqldump -B zabbix > zabbix.sql

# 开始升级
[root@localhost ~]# yum install zabbix-server-mysql zabbix-web-mysql -y

# 安装新版本时zabbix会停止运行,可以查看运行状态
[root@localhost ~]# systemctl status zabbix-server
 zabbix-server.service - Zabbix Server
   Loaded: loaded (/usr/lib/systemd/system/zabbix-server.service; disabled; vendor preset: disabled)
   Active: inactive (dead)

# 启动新版Zabbix
[root@localhost ~]# systemctl start zabbix-server 

# 可以新开一个终端查看新版Zabbix的运行日志,可以看到Zabbix数据库正在升级
[root@localhost ~]# tailf /var/log/zabbix/zabbix_server.log 
...
 49455:20200602:040939.578 current database version (mandatory/optional): D/02020001
 49455:20200602:040939.578 required mandatory version: 04000000
 49455:20200602:040939.578 optional patches were found
 ...
 49455:20200602:040939.660 completed 2% of database upgrade
 49455:20200602:040939.694 completed 3% of database upgrade
 49455:20200602:040939.772 completed 4% of database upgrade
 49455:20200602:040939.786 completed 5% of database upgrade
 49455:20200602:040939.801 completed 6% of database upgrade
 49455:20200602:040939.808 completed 7% of database upgrade
 49455:20200602:040939.816 completed 8% of database upgrade
 49455:20200602:040939.820 completed 9% of database upgrade
 ...

启动Zabbix时会 读配置文件/etc/zabbix/zabbix_server.conf,配置文件有数据库的连接地址。

升级数据库就是把Zabbix 2版本.2的Zabbix数据库升级为Zabbix 4.4版本的数据库。升级之后才会Zabbix才会启动。升级之后,如果在2.2版本中创建了模板,新版本中模板还是存在的,因为数据没有被删除。升级之后,发现页面发生了改变,没错这就是4.4的版本: 在这里插入图片描述