zabbix3.X升级4.0

一、3.2升级至4.0版本

使用3.2版本测试升级至4.0版本,可直接进行升级

(环境是之前已经部署好的,以下仅说明如何进行升级操作)

中文乱码问题可参考:https://www.cnblogs.com/armo/p/6067784.html

二、升级步骤

注:如果需要导入数据,先导入数据,在进行升级,否则会导致监控页崩溃。

1.升级前准备,将原有zabbx及数据库备份

网站的主目录:/usr/local/nginx/html/zabbix

停止zabbix_server服务

创建升级备份目录:mkdir /backup/zabbix_bak

备份mysql:mysqldump -u root -p123456 zabbix --ignore-table=zabbix.history --ignore-table=zabbix.history_str --ignore-table=zabbix.history_uint --ignore-table=zabbix.history_text --ignore-table=zabbix.trends --ignore-table=zabbix.trends_uint --ignore-table=zabbix.events > /backup/zabbix_bak/zabbix.sql

备份zabbix.conf.php: cp -rf /usr/local/nginx/html/zabbix/conf/zabbix.conf.php  /backup/zabbix_bak

将原zabbix安装目录备份:mv /usr/local/zabbix-server /usr/local/zabbix-server-bak

2.编译4.0版本

上传zabbix4.0的源码包到/opt目录下,现在开始正式的升级步骤,重新编译一次Zabbix4.0

wget “zabbix下载地址”

tar xf zabbix-4.0.7.tar.gz

cd zabbix-4.0.7 

./configure --prefix=/usr/local/zabbix-server --enable-server --enable-java --enable-agent --with-mysql --with-net-snmp --with-libcurl --with-libxml2 && make && make install

若编译报错,可能为缺少依赖包,执行以下命令

  yum -y install unixODBC-devel net-snmp-devel libxml2-devel libcurl-devel libevent-devel

若报错error: MySQL library not found,则执行如下命令

  find / -name "mysql_config"     结果应该是/usr/local/mysql/bin/mysql_config

在编译时将--with-mysql改为--with-mysql=/usr/local/mysql/bin/mysql_config

编译时java报错,为需要javac进行支持,执行以下命令

  ll /usr/bin/javac   

若结果不是如上图的结果,删除软连接,重新建立即可

ln -s /usr/java/bin/javac /usr/bin/

3.覆盖Nginx访问目录的PHP文件

把4.0的网页文件覆盖至nginx的zabbix访问目录,将备份的zabbix.conf.php文件复制zabbix的web目录下conf目录

cp -rf /opt/zabbix-4.0.7/frontends/php/* /usr/local/nginx/html/zabbix/

cp -rf /backup/zabbix_bak/zabbix.conf.php /usr/local/nginx/html/zabbix/conf/

4.配置文件修改

cat /usr/local/zabbix-server-bak/etc/zabbix_server.conf|egrep -v "^$|^#" > 1.txt

与升级前配置文件对比修改

vim /usr/local/zabbix-server/etc/zabbix_server.conf

DBHost=localhost
DBName=zabbix
DBUser=zabbix
DBPassword=zabbix
因使用不同以下省略……

5.配置启动脚本

cp misc/init.d/fedora/core/zabbix_server /etc/init.d/

cp misc/init.d/fedora/core/zabbix_agentd /etc/init.d/

脚本进行以下修改

将此行BASEDIR=/usr/local

改为zabbix安装路径也就是BASEDIR=/usr/local/zabbix-server

6.启动服务

启动zabbix_server服务

/etc/init.d/zabbix_server  start

查看zabbix_server的日志,可看到正在进行数据库的升级等待数据库升级完成后即可在web页面访问

tailf /tmp/zabbix_server.log

访问页面时可能会提示

进入数据库进行如下操作    
mysql> show databases;
mysql> use zabbix;
mysql> update dbversion set mandatory=4000000;
mysql> flush privileges;
原文地址:https://www.cnblogs.com/Huang-Niu/p/11171577.html