小秘每天都会被问
“3.4.X如何升级到4.0?”
看这里:
升级前说明
1、虽然升级 Zabbix agent 不是强制性的,但建议将其升级,因为Zabbix server和Zabbix proxy 必须具有相同的大版本。
2、为了最大限度地减少升级期间的停机时间和数据丢失率,建议先停机并升级 Zabbix server,然后再逐个停机并升级 Zabbix proxy,待升级完毕后,先启动 Zabbix proxy,再启动 Zabbix server。在 Zabbix server 停机期间,运行中的 Zabbix Proxy 将继续采集和存储数据,并在 Zabbix server 启动并运行后,将数据传递给 Zabbix server。 只有在升级的 Zabbix server 启动后,才会生成 Zabbix server停机期间的问题告警。
3、请注意,对于 Zabbix proxy 上的 SQLite 数据库,升级前 Zabbix proxy 的历史数据将丢失,因为不支持 SQLite 数据库升级,而且必须手动删除 SQLite 数据库文件。 当第一次启动 Zabbix proxy 并且缺少 SQLite 数据库文件时,Zabibx proxy 会自动创建它。
4、根据其数据库大小,数据库升级到 4.0 版本可能需要很长时间
建议在升级期间运行两个 SSH 会话,其中一个会话执行升级步骤,另一个会话监控其升级期间的日志。
例如,在第二个 SSH 会话上运行 tail -f zabbix_server.log 或 tail -f zabbix_proxy.log,以实时显示最新的常规日志输出或错误日志输出。这对生产环境至关重要。
从二进制包升级
1.
Red Hat Enterprise Linux/CentOS升级步骤
Ⅰ. 停止 Zabbix 进程
停止 Zabbix server 以确保没有新数据插入数据库。
# systemctl stop zabbix-server
如果需要升级 Zabbix proxy,那么同样停止 Zabbix proxy 进程。
# systemctl stop zabbix-proxy
※ 众所周知,仅升级 Zabbix server 而不升级 Zabbix proxy ,并且未升级的 Zabibx proxy 将数据发送至升级后的 Zabbix server 是可能的(Zabbix proxy 无法其刷新配置)。但是,不建议这样,Zabbix 不支持,选择这样做您需为其独自承担风险。
Ⅱ. 备份当前的数据库
这是非常重要的步骤。升级前请确保备份了数据库。如果升级失败(因磁盘空间不足、断电或其他意外导致的升级失败),备份的数据库将大有帮助。
Ⅲ. 备份配置文件、PHP 文件和 Zabbix 二进制文件
在升级前请确保备份了配置文件、PHP 文件和 Zabbix 二进制文件。
配置文件:
# mkdir /opt/zabbix-backup/ # cp /etc/zabbix/zabbix_server.conf /opt/zabbix-backup/ # cp /etc/httpd/conf.d/zabbix.conf /opt/zabbix-backup/
PHP 文件和 Zabbix 二进制文件:
# cp -R /usr/share/zabbix/ /opt/zabbix-backup/ # cp -R /usr/share/doc/zabbix-* /opt/zabbix-backup/
Ⅳ. 升级 Zabbix 软件仓库配置包
在升级之前,必须更新当前的软件仓库包:
# rpm -Uvh http://repo.zabbix.com/zabbix/4.0/rhel/7/x86_64/zabbix-release-4.0-1.el7.centos.noarch.rpm
Ⅴ. 升级 Zabbix 组件
运行以下命令以升级 Zabbix 组件:
# yum upgrade zabbix-server-mysql zabbix-web-mysql zabbix-agent
如果使用 PostgreSQL 数据库,请将命令中的 mysql 替换为 pgsql。如果升级 Zabbix proxy,请将命令中的 server 替换为 proxy。
Ⅵ. 检查 Zabbix 组件配置文件的参数
在新版本中,Zabbix 组件的配置文件发生了一些变化。
Ⅶ. 启动 Zabbix 进程
启动升级后的 Zabbix 组件。
# systemctl start zabbix-server # systemctl start zabbix-proxy # systemctl start zabbix-agent
Ⅷ. 清除浏览器的 Cookies 和缓存
待升级完毕后,可能需要清除浏览器的 Cookies 和缓存,以便 Zabbix 的 Web 界面能正常工作。
2.
Debian/Ubuntu升级步骤
Ⅰ. 停止 Zabbix 进程
停止 Zabbix server 以确保没有新数据插入数据库。
# service zabbix-server stop
如果需要升级 Zabbix proxy,那么同样停止 Zabbix proxy 进程。
# service zabbix-proxy stop
※ 众所周知,仅升级 Zabbix server 而不升级 Zabbix proxy ,并且未升级的 Zabibx proxy 将数据发送至升级后的 Zabbix server 是可能的(Zabbix proxy 无法其刷新配置)。但是,不建议这样,Zabbix 不支持,选择这样做您需为其独自承担风险。
Ⅱ. 备份当前的数据库
Ⅲ. 备份配置文件、PHP 文件和 Zabbix 二进制文件
在升级前请确保备份了配置文件、PHP 文件和 Zabbix 二进制文件。
配置文件:
# mkdir /opt/zabbix-backup/ # cp /etc/zabbix/zabbix_server.conf /opt/zabbix-backup/ # cp /etc/apache2/conf-enabled/zabbix.conf /opt/zabbix-backup/
PHP 文件和 Zabbix 二进制文件:
# cp -R /usr/share/zabbix/ /opt/zabbix-backup/ # cp -R /usr/share/doc/zabbix-* /opt/zabbix-backup/
Ⅳ. 升级 Zabbix 软件仓库配置包
在升级之前,必须卸载当前的软件仓库包:
# rm -Rf /etc/apt/sources.list.d/zabbix.list
然后再安装新的软件仓库包:
- 在 Debian 9 上运行:
# wget http://repo.zabbix.com/zabbix/3.5/debian/pool/main/z/zabbix-release/zabbix-release_3.5-1+stretch_all.deb # dpkg -i zabbix-release_3.5-1+stretch_all.deb
- 在 Debian 8 上运行:
# wget http://repo.zabbix.com/zabbix/3.5/debian/pool/main/z/zabbix-release/zabbix-release_3.5-1+jessie_all.deb # dpkg -i zabbix-release_3.5-1+jessie_all.deb
- 在 Debian 7 上运行:
# wget http://repo.zabbix.com/zabbix/3.5/debian/pool/main/z/zabbix-release/zabbix-release_3.5-1+wheezy_all.deb # dpkg -i zabbix-release_3.5-1+wheezy_all.deb
- 在 Ubuntu 18.04 上运行:
# wget http://repo.zabbix.com/zabbix/3.5/ubuntu/pool/main/z/zabbix-release/zabbix-release_3.5-1+bionic_all.deb # dpkg -i zabbix-release_3.5-1+bionic_all.deb
- 在 Ubuntu 16.04 上运行:
# wget http://repo.zabbix.com/zabbix/3.5/ubuntu/pool/main/z/zabbix-release/zabbix-release_3.5-1+xenial_all.deb # dpkg -i zabbix-release_3.5-1+xenial_all.deb
- 在 Ubuntu 14.04 上运行:
# wget http://repo.zabbix.com/zabbix/3.5/ubuntu/pool/main/z/zabbix-release/zabbix-release_3.5-1+trusty_all.deb # dpkg -i zabbix-release_3.5-1+trusty_all.deb
- 更新软件仓库信息
# apt-get update
Ⅴ. 升级 Zabbix 组件
运行以下命令以升级 Zabbix 组件:
# apt-get install --only-upgrade zabbix-server-mysql zabbix-frontend-php zabbix-agent
如果使用 PostgreSQL 数据库,请将命令中的 mysql 替换为 pgsql。如果升级 Zabbix proxy,请将命令中的 server 替换为 proxy。
Ⅵ. 检查 Zabbix 组件配置文件的参数
在新版本中,Zabbix 组件的配置文件发生了一些变化。
Ⅶ. 启动 Zabbix 进程
启动升级后的 Zabbix 组件。
# service zabbix-server start # service zabbix-proxy start # service zabbix-agent start
Ⅷ.清除浏览器的 Cookies 和缓存
待升级完毕后,可能需要清除浏览器的 Cookies 和缓存,以便 Zabbix 的 Web 界面能正常工作。
从源代码包升级
1.
Zabbix server升级步骤
Ⅰ. 停止 Zabbix 进程
停止 Zabbix server 以确保没有新数据插入数据库。
Ⅱ. 备份当前的数据库
Ⅲ. 备份配置文件、PHP 文件和 Zabbix 二进制文件
在升级前请确保备份了配置文件、PHP 文件和 Zabbix 二进制文件。
Ⅳ.从源代码包安装新的 Zabbix server
使用此 说明 从源代码编译 Zabbixserver。
Ⅴ. 检查 Zabbix server 配置文件的参数
在新版本中,Zabbix 组件的配置文件发生了一些变化。
Ⅵ. 启动新的 Zabbix 进程
启动新的 Zabbix 进程。检查日志文件以查看进程是否成功启动。
待 Zabbix server 的进程启动后,它将自动升级数据库。Zabbix server 将会报告当前(强制和可选)的和所需的数据库版本。如果当前的强制版本早于所需的版本,那么 Zabbix server 会自动执行所需数据库的升级修补程序。
数据库升级的开始和进度(百分比)将会写入到 Zabbix server 的日志文件中。当升级完成后,会写入一条 “database upgrade fully completed” 信息到日志文件中。如果升级失败,Zabbix server 将不会启动。
如果当前的强制数据库版本比所需的数据库版本新时,则 Zabbix server 也将无法启动。只有当前强制数据库版本对应于所需的强制版本时,Zabbix server 才会启动。
8673:20161117:104750.259 current database version (mandatory/optional): 03040000/03040000 8673:20161117:104750.259 required mandatory version: 03040000
※在启动 Zabbix server 之前:
Ⅶ. 安装新的 Zabbix web 界面
其最小的需要为 PHP 5.4.0 版本。如果升级请按照 安装说明 进行操作。
Ⅷ. 清除浏览器 Cookies 和缓存
2.
Zabbix Proxy 升级步骤
Ⅰ. 停止 Zabbix proxy 进程
Ⅱ. 备份配置文件和 Zabbix proxy 二进制文件
在升级前请确保备份了配置文件和 Zabbix proxy 二进制文件。
Ⅲ. 从源代码包安装新的 Zabbix proxy
使用此 说明 从源代码编译 Zabbix proxy。
Ⅳ. 检查 Zabbix proxy 配置文件的参数
此版本中没有对 Zabbix proxy 的参数进行强制的更改。
有关新的可选参数,详见 Zabbix 4.0.0 新特征章节。
Ⅴ. 启动新的 Zabbix proxy
启动新的 Zabbix proxy。检查日志文件以确定 Zabbix proxy 是否启动成功。
Zabbix proxy 将自动升级数据库。数据库的升级和启动和 Zabbix server 类似。
3.
Zabbix Agent 升级步骤
※升级 Zabbix agent 并不是强制性的。如果需要使用新功能时,则可以按需升级 Zabbix agent。
Ⅰ. 停止 Zabbix agent 进程
Ⅱ. 备份配置文件和 Zabbix agent 二进制文件
Ⅲ. 从源代码包安装新的 Zabbix agent
使用此 说明 从源代码编译 Zabbix agent。
或者,从 Zabbix 下载页面 下载预编译的 Zabbix agent 包。
Ⅳ. 检查 Zabbix agent 配置文件的参数
此版本中没有对 Zabbix agent 的参数进行强制的更改。
Ⅴ. 启动新的 Zabbix agent
启动新的 Zabbix agent。检查日志文件以确定 Zabbix agent 是否启动成功。