Zabbix 4.0升级5.0

一、升级方案

1影响范围

升级期间,不会影响到现有的系统,系统将保持正常的运行,升级完成后,将进行一段时间的可用性测试,待系统稳定后将替换生产上的监控。

2升级方法

本次升级采用蓝绿部署的方式,先在测试环境重新部署一套4.0,将原有的系统配置文件导入到测试环境中去,然后再通过从4.0升级到5.0的方法来实现。由于5.0较4.0相比变化较大,数据库中表数量和表字段较4.0有些变化,直接安装5.0再导入4.0的库会导致数据库数据导入失败。

3升级后的风险

由于官方Zabbix 5.0发布时间短,Zabbix 5.0中可能会存在一些bug,后期官方还会进行一些小的升级来修复bug。

4升级原则

新搭建的Zabbix 服务与原有4.0的环境应相同,各个服务的配置比照原有4.0的服务配置和Zabbix 监控的内容来设置。对一些组件要求的最低版本若不符合要求应进行升级,如Zabbix 中的MySQL服务内存使用过高,可在新环境中适当提高MySQL服务的内存配置。
做好网络之间的隔离,切勿与原有网络环境冲突。
保证原有数据可用,做好备份,可能会进入原4.0环境查看一些服务配置,切勿误操作造成数据丢失或导致服务不可用。
主机命名规范,能通过主机名字了解单个主机的用途,ES集群名字不要与现有集群名字冲突。
升级后服务可用性要求,mysql主从同步须正常,ES各节点同步数据正常,ES收集历史数据正常,集群健康状态为green,Zabbix proxy与server连接正常,能正常获取到数据,web服务采用lamp搭建。

二、升级ZABBIX

1 关闭Zabbix 进程和web进程

systemctl stop zabbix-server
systemctl stop zabbix-proxy
systemctl stop httpd php-fpm

2、备份4.0配置数据

mysqldump -uzabbix -p --single-transaction --master-data=2 --databases zabbix > olddata.sql
# mkdir /opt/zabbix-backup/
# cp /etc/zabbix/zabbix_server.conf /opt/zabbix-backup/
# cp /etc/httpd/conf.d/zabbix.conf  /opt/zabbix-backup/
# cp -R /usr/share/zabbix/ /opt/zabbix-backup/
# cp -R /usr/share/doc/zabbix-* /opt/zabbix-backup/

3、更新存储库

由于使用官方源网络不好,这里我使用了阿里云的Zabbix 源。

rm -rf /etc/repos.d/zabbix.repo
rpm -qa | grep zabbix-release && rpm -e zabbix-release
rpm -Uvh https://mirrors.aliyun.com/zabbix/zabbix/5.0/rhel/7/x86_64/zabbix-release-5.0-1.el7.noarch.rpm
sed -i 's@repo.zabbix.com@mirrors.aliyun.com/zabbix@g'/etc/yum.repos.d/zabbix.repo
yum clean all
yum makecache fast

4、升级Zabbix

yum upgrade zabbix-server-mysql zabbix-web-mysql zabbix-agent

5、升级Zabbix web前端

yum remove zabbix-web
yum install centos-release-scl -y
yum install https://mirrors.aliyun.com/zabbix/zabbix/5.0/rhel/7/x86_64/frontend/zabbix-web-deps-scl-5.0.0-1.el7.noarch.rpm
yum install https://mirrors.aliyun.com/zabbix/zabbix/5.0/rhel/7/x86_64/frontend/zabbix-web-5.0.0-1.el7.noarch.rpm
yum install https://mirrors.aliyun.com/zabbix/zabbix/5.0/rhel/7/x86_64/frontend/zabbix-web-mysql-scl-5.0.0-1.el7.noarch.rpm
yum install https://mirrors.aliyun.com/zabbix/zabbix/5.0/rhel/7/x86_64/frontend/zabbix-apache-conf-scl-5.0.0-1.el7.noarch.rpm

6、修改php时区

vim /etc/opt/rh/rh-php72/php-fpm.d/zabbix.conf
php_value[date.timezone] = Asia/shanghai

7、启动Zabbix

systemctl start zabbix-server zabbix-agent httpd rh-php72-php-fpm

8、启动之后可能会遇到这个报错

这里还是没有仔细看官方文档,是因为Zabbix 的历史数据和趋势数据的数值(浮点型)数据类型支持的精度更高,需要手动更新数据库补丁,

MySQL的补丁地址为:
https://git.zabbix.com/projects/ZBX/repos/zabbix/raw/database/mysql/double.sql

ALTER TABLE trends MODIFY value_min DOUBLE PRECISION DEFAULT '0.0000' NOT NULL, MODIFY value_avg DOUBLE PRECISION DEFAULT '0.0000' NOT NULL, MODIFY value_max DOUBLE PRECISION DEFAULT '0.0000' NOT NULL;
ALTER TABLE history MODIFY value DOUBLE PRECISION DEFAULT '0.0000' NOT NULL;

还需要更新配置文件

vim /etc/zabbix/web/zabbix.conf.php
$DB['DOUBLE_IEEE754'] = true;

更新完之后重启Zabbix-server

systemctl restart zabbix-server

三、升级Elasticsearch

Zabbix 5.0 现在已经开始支持ES7.x版本,不再支持旧版本,升级后的好处之一就是ES从6.6版本开始支持索引生命周期管理,这样对Zabbix 收集到的历史数据索引管理更加方便。

ES新升级的这套Zabbix 可以直接部署7.x的ES集群。如果还需要以前的历史数据,可以将原来的历史数据从原先集群复制一份,可以使用ES的快照功能或者logstash进行复制。

下面介绍将ES的6.1升级到ES7.0的步骤,6.1-7.0.1不支持滚动升级,也就是必须要停止整个ES集群来进行升级。

参考ES官方文档:
https://www.elastic.co/guide/en/elasticsearch/reference/7.0/restart-upgrade.html

1、关闭Zabbix对接ES

Zabbix5.0支持7.x的ES,ES在升级成功之前先暂时停止历史数据到ES的写入,改用MySQL存储。
将对接ES的部分注释掉。

vim /etc/zabbix/web/zabbix.conf.php
//$HISTORY['url'] = 'http://192.168.179.134:9200';
//$HISTORY['types']=['uint','dbl','str','log','text'];
vim /etc/zabbix/zabbix_server.conf
#HistoryStorageURL=http://192.168.179.134:9200
#HistoryStorageTypes=uint,dbl,str,log,text
#HistoryStorageDateIndex=1
systemctl restart zabbix-server

2、禁用副本分片分配

PUT_cluster/settings
{  "persistent": {    "cluster.routing.allocation.enable": "primaries"}
}

3、停止ES集群下的所有节点

systemctl stop elasticsearch

4、升级所有节点

由于之前是使用二进制部署的,这里我也使用二进制升级。

wget https://artifacts.elastic.co/downloads/elasticsearch/elasticsearch-7.0.1-linux-x86_64.tar.gz
tar -zxvf elasticsearch-7.0.1-linux-x86_64.tar.gz

将6.1的配置文件覆盖至7.0.1的config目录。

cp /elasticsearch/elasticsearch-6.1.0/config/elasticsearch.yml /elasticsearch-7.0.1/config/elasticsearch.yml

修改后的配置文件如下,第一次启动集群时需要在集群中定义。
cluster.initial_master_nodes,为一组具有master节点资格的节点。

5、启动所有节点

su elker
./elasticsearch-7.0.1/bin/elasticsearch

查看节点状态,可以看到已经升级到7.0。

查看索引发现以前的索引也还在。

6、重新启用分片分配

当主分片恢复完成,集群状态为yellow后可以重新启用分片分配。

PUT_cluster/settings
{  "persistent": {    "cluster.routing.allocation.enable": null}
}

7、修改配置文件使Zabbix对接ES

vim /etc/zabbix/web/zabbix.conf.php
$HISTORY['url'] = 'http://192.168.179.134:9200';
$HISTORY['types']=['uint','dbl','str','log','text'];
vim /etc/zabbix/zabbix_server.conf
HistoryStorageURL=http://192.168.179.134:9200 HistoryStorageTypes=uint,dbl,str,log,text
HistoryStorageDateIndex=1
systemctl restart zabbix-server

参考链接 :

Zabbix 4.0升级5.0 &&ES 6.1升级7.0 :https://mp.weixin.qq.com/s/seqiel-5RFfISGyGGQGY8Q

Zabbix 4.0升级5.0 ES 6.1升级7.0相关推荐

  1. 【6年开源路】海王星给你好看!FineUI v4.0正式版暨《FineUI3to4一键升级工具》发布!...

    去年10-28号,我发布了一篇文章<海王星给你好看!FineUI v4.0公测版发布暨<你找BUG我送书>活动开始>,标志着FineUI开始向4.0版本迈进.经过4个月3个公测 ...

  2. 升级 asp.net core 1.1 到 2.0 preview

    Upgrading to .NET Core 2.0 Preview 1 更新 依赖的类库 改为 标准库 2 web app  更改 csproj 文件---升级版本 <PropertyGrou ...

  3. wavecn 2.0.0.5 正式版_微信7.0.5怎么更新?微信7.0.5安卓版下载与更新升级教程

    6月29日,腾讯发布了微信7.0.5安卓正式版,带来了不少细节变化,不过很多安卓机用户反馈并没有接收到推送,不少粉丝朋友表示不知道微信7.0.5怎么更新升级.今天,芝麻科技网详细介绍下微信7.0.5安 ...

  4. 【Zabbix】使用zabbix 3.4自带Mysql模板,监控Redhat 7.0上的Mysql

    前言 使用zabbix监控Mysql. zabbix 3.4 zabbix server已安装完成(yum方式安装zabbix) Mysql服务器操作系统(OS) :Redhat 7.0 在Mysql ...

  5. 手机升级android5.0,Android 7.0就要来了?你家手机升级到5.0了吗?

    原标题:Android 7.0就要来了?你家手机升级到5.0了吗? 时间来到 2016 年,中国人民在期盼着过年的到来,而国外友人则没闲着,比如谷歌就早早开始准备今年的开发者大会 ... 谷歌 I/O ...

  6. 手环升级鸿蒙设备名单,鸿蒙2.0升级名单已确认-可首批升级的42款机型推荐

    原标题:鸿蒙2.0升级名单已确认-可首批升级的42款机型推荐 鸿蒙系统2.0已确认有42款机型可以首批升级,比安卓快60%,那么鸿蒙系统2.0已确认的升级机型都有哪些?不少小伙伴们还不是很了解,小编为 ...

  7. 从1到N迈向从0到1:华为创新理念升级详解

    智能社会扑面而来,而作为基石的ICT技术在理论上.在工程上开始遭遇瓶颈与挑战.下一步应该如何突破?已经独自奔跑在"无人区"的华为选择升级创新理念,从创新1.0时代迈向创新2.0时代 ...

  8. 阿里云史上最大技术升级:面向万物智能的飞天2.0

    1991年,<科学美国人>杂志描绘了一种"无处不在的计算设备,没人会感觉到它的存在",拉开了万物智能的序幕. 27年后的2018杭州•云栖大会上,阿里云公布了面向万物智 ...

  9. 如何将lnmp 0.5里面的php5.2.14升级到php 5.3.3???

    如何将lnmp 0.5里面的php5.2.14升级到php 5.3.3??? --------------- 注意:不要百度Google找到的教程发来 那个升级不了::: CentOS5.3的php版 ...

最新文章

  1. Azkaban与Oozie的区别及如何调度spark任务
  2. Intellij IDEA 自动生成 serialVersionUID
  3. 推荐16款最棒的Visual Studio插件
  4. opencv9-膨胀和腐蚀
  5. 网抑云体验室PHP网站源码
  6. 演练:调试多线程应用程序
  7. ROS-手势控制小海龟移动
  8. 钢条分割 动态规划java_【动态规划】初识,钢条切割问题
  9. 热门用户推荐能否支持分类筛选?
  10. github上一些酷炫效果
  11. android进阶(三)数据存储之Internal Storage
  12. OpenGL超级宝典(第7版)笔记7 细分曲面初介绍 清单3.7-3.8
  13. 2013年全国天线年会参展商名录及观展指南
  14. linux内核 quota,Linux系统磁盘配额(quota)
  15. html5行走的机器人,HTML5 不倒翁体型的机器人
  16. python画笔属性_python 画图 turtle 模块介绍之(一)
  17. csc函数(csc函数值)
  18. 微信公众号消息如何添加小程序链接
  19. JavaWeb用户信息管理系统-修改用户操作的实现
  20. DFIG虚拟惯性控制+下垂控制的系统一次调频的simulink模型

热门文章

  1. 《重磅 | 机器学习特训营,硅谷导师直播授课,现加入仅需68元!》
  2. SSD物体检测模型Keras版
  3. 他是BAT 100万+年薪大数据专家,今天你可以免费学习他的内部课程,仅限100人...
  4. html如何实现表格效果,DIV+CSS技术实现类似table表格的效果
  5. wordpress 后台慢_WordPress网站优化加速的5个技巧
  6. Struts2 action的扩展名两种修改方法
  7. 上位机与1200组态步骤_图解组态王一组态王软件
  8. python txt文件 报文分析_Python读写txt文本文件的操作方法全解析
  9. 行为型模式——状态模式(十一)
  10. 第20本:《拖延心理学》