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;