@[toc]
① 提高性能;② 增加新功能;③ 解决模板不兼容等问题。
新增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。
修改为中文编码:
# 下载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的版本: