个人博客

zabbix 4.4.4升级5.0.2(编译安装,数据库:TimescaleDB)

01 09月
作者:西洪室|分类:技术

由于网络上使用Postgresql TimescaleDB组件的比较少,从zabbix4到5,全是数据库的各种升级折腾,现在将官方升级文档和自己在升级中遇到的问题记录下来,供他人查询

一、备份zabbix-4.4.4

[root@Zabbix_Server ~]# mv /usr/local/zabbix /usr/local/zabbix-4.4.4  #程序文件备份
[root@Zabbix_Server ~]# cp -p -R /opt/zabbix /opt/zabbix-4.4.4   #配置文件备份
[root@Zabbix_Server ~]# mv /var/www/zabbix /var/www/zabbix-4.4.4    #web文件备份
二、编译zabbix-5.0.2
[root@Zabbix_Server ~]# tar zxvf zabbix-5.0.2.tar.gz
[root@Zabbix_Server ~]# cd zabbix-5.0.2
[root@Zabbix_Server zabbix-5.0.2]# ./configure --prefix=/usr/local/zabbix --sysconfdir=/opt/zabbix --enable-server --enable-agent --with-net-snmp --enable-java --with-libxml2 --with-libcurl --with-postgresql=/usr/pgsql-11/bin/pg_config --disable-dependency-tracking
....
.....
......
***********************************************************
*            Now run 'make install'                       *
*                                                         *
*            Thank you for using Zabbix!                  *
*              <http://www.zabbix.com>                    *
***********************************************************
[root@Zabbix_Server zabbix-5.0.2]# make install
三、配置zabbix服务
拷贝启动文件并配置可执行
cp misc/init.d/fedora/core/zabbix_agentd /etc/init.d/
cp misc/init.d/fedora/core/zabbix_server /etc/init.d/
chmod +x /etc/init.d/zabbix_agentd
chmod +x /etc/init.d/zabbix_server
根据安装目录修改zabbix_server和zabbix_agentd启动目录
vim /etc/init.d/zabbix_agentd
vim /etc/init.d/zabbix_server
BASEDIR=/usr/local  修改成下面的安装目录
BASEDIR=/usr/local/zabbix
拷贝zabbi web到httpd目录
mkdir /var/www/zabbix -p
cp -a ui/* /var/www/zabbix
chown -R apache. /var/www/zabbix
四、数据库升级
启用数字(浮点)值的扩展范围
数值(浮点)数据类型现在支持大约15位精度,范围从大约-1.79E + 308到1.79E + 308(PostgreSQL 11和更早版本除外)。默认情况下,新安装是这样的。但是,在升级现有安装时,必须应用手动数据库升级补丁。
如果不应用修补程序,则前端中的系统信息将显示:“数据库历史记录表已升级:否”。
该修补程序将更改历史记录和趋势表的数据列,这些数据列通常包含大量数据,因此预计需要一些时间才能完成。由于确切的估算值取决于服务器性能,数据库管理系统的配置和版本,并且无法预测,因此建议先在生产环境之外测试补丁程序。
请为您的数据库执行适当的补丁程序(SQL文件)
*仅对服务器数据库运行这些脚本。
*在运行这些脚本之前,请确保Zabbix服务器已停止。之后重新启动服务器。
[root@timescaledb ~]# su postgres
bash-4.4$ psql
could not change directory to "/root": Permission denied
psql (11.8)
Type "help" for help.
postgres=# \c zabbix
You are now connected to database "zabbix" as user "postgres".
zabbix=#
执行:
ALTER TABLE ONLY trends
    ALTER COLUMN value_min TYPE DOUBLE PRECISION,
    ALTER COLUMN value_min SET DEFAULT '0.0000',
    ALTER COLUMN value_avg TYPE DOUBLE PRECISION,
    ALTER COLUMN value_avg SET DEFAULT '0.0000',
    ALTER COLUMN value_max TYPE DOUBLE PRECISION,
    ALTER COLUMN value_max SET DEFAULT '0.0000';
ALTER TABLE ONLY history
    ALTER COLUMN value TYPE DOUBLE PRECISION,
    ALTER COLUMN value SET DEFAULT '0.0000';
这里遇到问题,提示:ERROR:  ONLY option not supported on hypertable operations,在Zabbix俄语论坛上找到了一个要求相同的人(根据google翻译)。建议只是从提供的double.sql中删除“ only”关键字
ALTER TABLE trends
    ALTER COLUMN value_min TYPE DOUBLE PRECISION,
    ALTER COLUMN value_min SET DEFAULT '0.0000',
    ALTER COLUMN value_avg TYPE DOUBLE PRECISION,
    ALTER COLUMN value_avg SET DEFAULT '0.0000',
    ALTER COLUMN value_max TYPE DOUBLE PRECISION,
    ALTER COLUMN value_max SET DEFAULT '0.0000';
ALTER TABLE history
    ALTER COLUMN value TYPE DOUBLE PRECISION,
    ALTER COLUMN value SET DEFAULT '0.0000';
升级数据库表后,还请在/ui/conf/zabbix.conf.php中将$ DB ['DOUBLE_IEEE754']值设置或更新为true。


浏览225 评论0
返回
目录
返回
首页
Centos8 安装 zabbix5.02(php74 + nginx1.18 + TimescaleDB12) zabbix对服务器接入IP流量监控

发表评论

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。