22 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系统版本升级过程的更多相关文章
- MQTT版本升级过程及源码解析
MQTT版本升级过程及源码解析 首先说一下为什么要写这篇文章呢,在我发现网上对MQTT的文章介绍实在太少了,可能也是使用这个的频率比较低吧!还有对问题的定位以及解决的方式和办法也太少了,所以特意写这篇 ...
- 一个简单的CS系统打包过程图文版
一个简单的CS系统打包过程图文版 1. 打包内容 1.1. 此次打包的要求和特点 主工程是一个CS系统: 此CS系统运行的先决条件是要有.Net Framework 3.5: 主工程安装完成 ...
- linux系统开机过程描述
本文描述linux系统开机过程,属于个人理解范畴,如果文中表述有误请大家批评指正! 计算机开机之后,首先要加载BIOS(基本输入输出系统)信息,BIOS包含了很多重要的信息,包括CPU信息,设备启动顺 ...
- Zabbix系统数据采集方法总结
转:http://www.blog.chinaunix.net/uid-9411004-id-4115731.html 老文章,直接拿来用了,官网也有最新分类,没高兴翻译 在Zabbix系统中有多达十 ...
- 25 Zabbix系统数据表结构介绍
点击返回:自学Zabbix之路 点击返回:自学Zabbix4.0之路 点击返回:自学zabbix集锦 25 Zabbix系统数据表结构介绍 自学Zabbix之路15.1 Zabbix数据库表结构简单解 ...
- Zabbix系统中的历史数据和趋势数据
原文:http://blog.chinaunix.net/uid-9411004-id-4139807.html 或许读者还记得,我们在介绍如何创建一个监控项目时,我们介绍过在“配置项目”表单页面上有 ...
- 【Linux系统引导过程】
*** 第一步 开机自检 根据主板BIOS中的启动顺序,移交系统控制权. 当你打开计算机电源,计算机会首先加载BIOS信息,BIOS信息是如此的重要,以至于计算机必须在最开始就找到它. 这是因为BIO ...
- 轻松学习Linux之详解系统引导过程
轻松学习Linux之详解系统引导过程-1 轻松学习Linux之详解系统引导过程-2 本文出自 "李晨光原创技术博客" 博客,谢绝转载!
- Linunx系统引导过程及MBR/GRUB故障
Linunx系统引导过程 系统初始化进程 init进程 Systemd Systemd单元类型 允许级别所对应的systemd目标 修复MBR扇区故障 解决思路 操作 修复GRUB引导故障 解决思路 ...
随机推荐
- 如何把js的代码写的更加容易维护(一)--面向对象编程
总是头疼javascript的代码写起来不可维护,那么看看下面的代码: (function (w, $) { var app = { init: function () { var me = this ...
- Jmeter(三十四)_Beanshell解析并提取json响应
1:前置条件 将fastjson-1.2.49.jar包置于jmeter的lib目录下,并将该jar包添加到测试计划的Library中:否则会报:Typed variable declaration ...
- shell+curl监控网站页面(域名访问状态),并利用sendemail发送邮件
应领导要求,对公司几个主要站点的域名访问情况进行监控.下面分享一个监控脚本,并利用sendemail进行邮件发送. 监控脚本如下:下面是写了一个多线程的网站状态检测脚本,直接从文件中读出站点地址,然后 ...
- [ERROR] Fatal error: Please read "Security" section of the manual to find out how to run mysqld as root!
测试mysqld启动mysql server的时候,报如下错误: 2015-12-17 00:46:02 10785 [ERROR] Fatal error: Please read "Se ...
- JS进阶系列之执行上下文
function test(){ console.log(a);//undefined; var a = 1; } test(); 也许你会遇到过上面这样的面试题,你只知道它考的是变量提升,但是具体的 ...
- 【2016.3.16】作业 VS2015安装&单元测试(1)
首先说下本机配置. CPU:Intel Atom x5-z8300 @1.44GHz 内存:2GB 操作系统:Windows10 家庭版 32位 硬盘:32GB 然后开始怒装visual studio ...
- java 计算器实验
1.计算器实验报告 2.https://github.com/xujinxia/text/tree/master 3.实验截图 7+8 清除 六.总结 通过本次实验让我对JFrame类.JPanel类 ...
- shell脚本--continue、break
shell中的continue和break和其他语言中的使用方法一模一样:continue用于跳过本次循环,break用于中断本层的循环 下面是使用例子: #!/bin/bash #文件名:test. ...
- TestNG—学习笔记2
关于TestNG,也是一边学一边总结,对于TestNG和Junit的比较其实也没有什么意义,都是一种测试框架,都是为了应用而生的东西,没有必要说谁好谁不好了.用的熟练用的好就是真的好啊. 下面简单的总 ...
- Activiti动态设置办理人扩展
关键词:Assignee.Candidate users.Candidate groups:setAssignee.taskCandidateUser.taskCandidateGroup 主要解决问 ...