干货视频 | Zabbix5.0升级最佳实践以及常见问题排查

“分享升级5.0常见的问题和最佳解决方案,方便大家能够在自己的环境中顺利升级Zabbix。”
——Arturs Lontons,高级技术支持工程师,Zabbix SIA


本文整理自Arturs 在2020Zabbix中国峰会的演讲,更多演讲视频可关注官方Bilibili账号主页(ID:Zabbix中国)。

01 - 升级准备

首先,在升级之前需要做一些准备,所以我想跟先大家讲一下升级的一些新要求、备份和可能的停机等相关内容。我将分别说明新版本对php和数据库后端的要求更新、备份Zabbix实例以及如何预估需要的停机时间,这些点对于更新而言非常重要,你肯定想要确定大概有多长的时间监控系统不能运行。首先我们来看一下新版本的基本要求更新,正如你所看到的,我们已经对php支持的最低版本进行了更新,之前是5.4,而现在则是7.2。我们不再支持embedTLS,因为它已经被弃用,安全性是我们最为注重的一个方面,而支持不受支持的加密库(特别是不推荐使用的加密库)的潜在风险和潜在成本太大。我们在较新的平台比如RHEL8上添加了对LIBSSH的支持。MySQL也从5.0.3版升级到5.5.62至8.0.x。Oracle支持的版本也有更改,还有PostgreSQL,如果你使用的是Timescale,那么这正是我们的新功能之一,目前我们支持Timescale 1.0或更高版本。我们没有找到关于IBM DB2的可行用例,我们确实有尽力的找,所以在新版本中,IBM DB2支持已被取消,因为这是一个非常小众的数据库后端,尽管我们在测试实验室中使用这一数据库后端,但似乎没有其他人在使用。因此,我们决定放弃这项的维护,让开发团队集中于更有意义的任务。现在我们知道了新的最低要求,让我们在考虑到这些要求的情况下开始做准备吧。

02 - 对所有的OS更新进行检测

首先,我们需要对所有的OS更新进行检测,如果我们有一些占存非常大的OS正在等待更新,那么我们就需要决定是否对它们执行更新,我们需要做一些规划:我们需要做这件事吗?会导致多久的停机时间?我们需要这样做吗?如果确实需要对它们进行更新的话,那么什么时候最为合适?如果我们决定更新,那么就让我们来执行。在完成OS更新之后,需要记住的是,在进行下一步之前,我们需要在环境中运行几天的时间,以便于对任何新出现的潜在问题进行详细的盘查,因此,这里我们的基本思路是,一次只更新一部分,首先执行OS更新,然后扫描问题,然后检查数据库后端,必要时执行数据库后端更新,然后查找和排除可能发生的任何问题、错误和性能故障,这样我们可以根除这些潜在的问题,然后一旦所有这些都完成了,我们就已经准备好了基础架构,准备好了运行环境,然后我们就可以继续进行Zabbix本身的升级了。否则,如果我们同时进行所有的更新,那么在出现问题时,我们就真的很难找出问题的根源。就无法确定问题是不是来自Zabbix?还是来自OS?还是来自数据库?因为我们在很短的时间里做了太多改动,这就是为什么需要一步一步来更新的原因。

03 - 为备份工作做好准备

接下来,为备份工作做好准备,这是在将Zabbix升级到5.0之前需要进行的一项大型工作。首先,确认下Zabbix监控实例中是否使用到了任何自定义解决方案。如果是,请备份,当然还要进行测试。这个非常重要。如果这些是专门为现有的旧版本定制的解决方案,那么就需要在新版本上首先进行测试,然后才能将其用于生产环境中。例如你采用的可能是某个社区开发的模板,它使用自定义脚本或一些前端修改、数据库修改,虽然不是必然,但是在升级的过程中这些自定义很可能会导致一些问题。例如,如果你正在使用分区,要从版本等于或早于3.0的版本升级到5.0,则在继续升级之前必须关闭这些分区。不过,对于较新的版本而言并不是一个问题,因为历史表在升级过程中不会受到干扰。但是对于旧版本,我们需要在升级时禁用该分区,然后重新创建。就像我说的,自定义模块和

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值