点击返回:自学Zabbix之路

点击返回:自学Zabbix4.0之路

点击返回:自学zabbix集锦

22 Zabbix系统版本升级过程

Zabbix升级与其他相类似系统升级一样,前提一定做好备份,备份!!!   (若出现两个版本的数据库表不一致的问题将出现不可预计的问题)

备份备文件主要是:

  • 数据库文件:通过mysqldump来导出, mysqldump -u root -p zabbix > zabbix.sql
  • zabbix.conf.php:在网站主目录的conf目录下

zabbix服务器相关目录:

  • 备份目录:    /opt/backups/zabbix
  • zabbix主目录:  /opt/apps/zabbix
  • 服务端配置文件:/opt/conf/zabbix/zabbix_server.conf
  • 前端页面目录: /opt/webapps/zabbix
  • 服务启动脚本: /etc/init.d/zabbix_server

升级步骤:

1:官网下载zabbix安装包zabbix-3.2.1.tar.gz,解压,并在新的目录中编译安装新版本

# tar -zxvf zabbix-3.2.1.tar.gz
# cd zabbix-3.2.1
# ./configure --prefix=/opt/apps/zabbix.3.2 --enable-server --enable-agent --with-mysql --enable-ipv6 --with-net-snmp --with-libcurl --with-libxml2
# make install

2:停掉正在运行的zabbix服务,确保没有新数据写入数据库

# /etc/init.d/zabbix_server stop

3:备份原zabbix的数据库数据,以及相关配置文件

# mysqldump -h 127.0.0.1 -u zabbix -ppassword zabbix > /opt/backup/zabbix/zabbix_bak.sql
# cp -p /opt/conf/zabbix/zabbix_server.conf /opt/backup/zabbix/zabbix_server.conf.3.0
# cp -p /opt/webapps/zabbix/conf/zabbix.conf.php /opt/backup/zabbix/zabbix.conf.php.3.0

4:替换新版本的相关配置文件,参考旧配置文件配置服务

# cp -p /opt/apps/zabbix.3.2/etc/zabbix_server.conf /opt/conf/zabbix/zabbix_server.conf
# grep -v "^#" zabbix_server.conf | grep -v "^$"
LogFile=/opt/logs/zabbix/zabbix_server.log
PidFile=/opt/logs/zabbix/zabbix_server.pid
DBHost=127.0.0.1
DBName=zabbix
DBUser=zabbix
DBPassword=xxxxxxxx
DBPort=3306
JavaGateway=xx.xx.xx.xx
JavaGatewayPort=10052
StartJavaPollers=5
Timeout=4
AlertScriptsPath=/opt/apps/zabbix/share/zabbix/alertscripts
LogSlowQueries=3000

5:替换zabbix主目录,用新的zabbix执行bin文件启动服务

# mv /opt/apps/zabbix /opt/apps/zabbix.3.0
# mv /opt/apps/zabbix.3.2 /opt/apps/zabbix
复制相关的脚本文件:
# cp -rp /opt/apps/zabbix.3.0/share/zabbix/alertscripts/* /opt/apps/zabbix
# /etc/init.d/zabbix_server start

正常情况下,新的zabbix服务会自动更新mysql数据库中的字段,如果出现以下相关错误:

query failed: [1060] Duplicate column name 'exec_params' [alter table media_type add exec_params varchar(255) default '' not null]

则需要在mysql中删除相关表的字段后再重新启动服务。

注:
需删除的字段:media_type表中的exec_params字段,hosts表中所有tls开头的字段。
这时登录zabbix页面会提示数据库版本不一致,那是因为前端页面使用的zabbix数据库版本与后端服务使用的版本不一致。需替换前端页面为新版本页面。

6:替换zabbix前端页面

# mv /opt/webapps/zabbix /opt/webapps/zabbix.3.0
# cp -rp /opt/src/frontends/php /opt/webapps/zabbix
# cp -p /opt/backup/zabbix/zabbix.conf.php.3.0 /opt/webapps/zabbix/conf/zabbix.conf.php

22 Zabbix系统版本升级过程的更多相关文章

  1. MQTT版本升级过程及源码解析

    MQTT版本升级过程及源码解析 首先说一下为什么要写这篇文章呢,在我发现网上对MQTT的文章介绍实在太少了,可能也是使用这个的频率比较低吧!还有对问题的定位以及解决的方式和办法也太少了,所以特意写这篇 ...

  2. 一个简单的CS系统打包过程图文版

    一个简单的CS系统打包过程图文版 1.     打包内容 1.1.  此次打包的要求和特点 主工程是一个CS系统: 此CS系统运行的先决条件是要有.Net Framework 3.5: 主工程安装完成 ...

  3. linux系统开机过程描述

    本文描述linux系统开机过程,属于个人理解范畴,如果文中表述有误请大家批评指正! 计算机开机之后,首先要加载BIOS(基本输入输出系统)信息,BIOS包含了很多重要的信息,包括CPU信息,设备启动顺 ...

  4. Zabbix系统数据采集方法总结

    转:http://www.blog.chinaunix.net/uid-9411004-id-4115731.html 老文章,直接拿来用了,官网也有最新分类,没高兴翻译 在Zabbix系统中有多达十 ...

  5. 25 Zabbix系统数据表结构介绍

    点击返回:自学Zabbix之路 点击返回:自学Zabbix4.0之路 点击返回:自学zabbix集锦 25 Zabbix系统数据表结构介绍 自学Zabbix之路15.1 Zabbix数据库表结构简单解 ...

  6. Zabbix系统中的历史数据和趋势数据

    原文:http://blog.chinaunix.net/uid-9411004-id-4139807.html 或许读者还记得,我们在介绍如何创建一个监控项目时,我们介绍过在“配置项目”表单页面上有 ...

  7. 【Linux系统引导过程】

    *** 第一步 开机自检 根据主板BIOS中的启动顺序,移交系统控制权. 当你打开计算机电源,计算机会首先加载BIOS信息,BIOS信息是如此的重要,以至于计算机必须在最开始就找到它. 这是因为BIO ...

  8. 轻松学习Linux之详解系统引导过程

    轻松学习Linux之详解系统引导过程-1 轻松学习Linux之详解系统引导过程-2 本文出自 "李晨光原创技术博客" 博客,谢绝转载!

  9. Linunx系统引导过程及MBR/GRUB故障

    Linunx系统引导过程 系统初始化进程 init进程 Systemd Systemd单元类型 允许级别所对应的systemd目标 修复MBR扇区故障 解决思路 操作 修复GRUB引导故障 解决思路 ...

随机推荐

  1. C#搭建CEF(CEFGLUE) 环境。

    CEF(CEFGLUE)如果想做浏览器的,对这个应该不陌生了,相关资料执行百度了,现在写这文章这是按当前时间做一个环境搭建时所需要的资料的一个收集. 1:下载Xilium.CefGlue项目源码. 链 ...

  2. CSS3选择器之:nth-child(n)

    第一次用到这个选择器还是为了解决下面了的问题: 手机的前端,我们使用了mint-ui,里面有一个日期选择控件,但是选择的时候没有提供年月的选择器,如: 而是提供了下面的方式: 为了达到上面的效果,使用 ...

  3. [Spark][Python]Mapping Single Rows to Multiple Pairs

    Mapping Single Rows to Multiple Pairs目的: 把如下的这种数据, Input Data 00001 sku010:sku933:sku02200002 sku912 ...

  4. CQOI2018简要题解

    CQOI2018简要题解 D1T1 破解 D-H 协议 题意 Diffie-Hellman 密钥交换协议是一种简单有效的密钥交换方法.它可以让通讯双方在没有事先约定密钥(密码)的情况下,通过不安全的信 ...

  5. Flutter - BottomNavigationBar底部导航栏切换后,状态丢失

    如果你用过BottomNavigationBar.TabBar.还有Drawer,你就会发现,在切换页面之后,原来的页面状态就会丢失. 要是上一页有一个数据列表,很多数据,你滚动到了下头,切换页面后, ...

  6. Flutter - 本地化启动列表中App名字

    上一篇讲了 Flutter - 本地化语言 但是这还有一点小欠缺,就是启动器中的App名字还是无法本地化. 比如英文系统中Play Store,在中文手机中就会显示Play 商店 那么为了解决这个问题 ...

  7. JS_各种排序方法

    排序有内部排序和外部排序,内部排序是数据记录在内存中进行排序,而外部排序是因排序的数据很大,一次不能容纳全部的排序记录,在排序过程中需要访问外存. 我们这里说说八大排序就是内部排序. 当n较大,则应采 ...

  8. zookeeper 动态管理nginx配置

    假设我们有一个场景,所有服务器共享同一份配置文件,我们肯定不可能单独手动维护每台服务器,这时可以利用zookeeper的配置管理功能. 环境:python + nginx + zookeeper 目的 ...

  9. gitblit 配置图文详解

    Windows平台下Git服务器搭建 前提是确保存在JDK环境. 第一步:下载Gitblit.下载地址:http://www.gitblit.com/ 第二步:解压缩下载的压缩包即可,无需安装. 第三 ...

  10. 【2016.3.19】作业 分析一个很有(wu)趣(liao)的小程序

    问题1:这个程序要找的是符合什么条件的数? 能够整除2-32中所有数仅除了在此之中的两个相邻的数,比如能整除2-29,且不能整除30,31.当然,这只是举个例子. 问题2:这样的数存在么?符合这一条件 ...