这是原厂英文文档的翻译页面. 欢迎帮助我们 完善文档.

Sidebar

Zabbix Summit 2022
Register for Zabbix Summit 2022

5 TimescaleDB 配置

概述

Zabbix支持TimescaleDB,这是一种基于PostgreSQL的数据库解决方案,可自动将数据分为基于时间的块,以支持更快的大规模性能。

目前,Zabbix代理不支持 TimescaleDB 。

此章节会介绍创建 TimescaleDB 数据库或从现有的 PostgreSQL 表迁移到 TimescaleDB

配置

我们假设数据库服务器上已经安装了 TimescaleDB 扩展 (详见installation instructions).

TimescaleDB 必须通过数据库管理员权限运行此命令:

echo "CREATE EXTENSION IF NOT EXISTS timescaledb CASCADE;" | sudo -u postgres psql zabbix

如果你使用的数据库schema不是 'public' 模式,则需要通过以上命令添加SCHEMA子句. E.g.:
echo "CREATE EXTENSION IF NOT EXISTS timescaledb SCHEMA yourschema CASCADE;" | sudo -u postgres psql zabbix

然后在database/postgresql 库中运行 timescaledb.sql 脚本 。对于新安装的数据库,必须在使用chema/data 创建常规 PostgreSQL 数据库后运行脚本 (详见 database creation):

cat /usr/share/doc/zabbix-sql-scripts/postgresql/timescaledb.sql | sudo -u zabbix psql zabbix

迁移历史和趋势数据可能需要花费大量时间。 Zabbix 服务器和前端在迁移期间必须关闭。

timescaledb.sql脚本设置以下内置数据管理housekeeping 参数:

  • Override item history period
  • Override item trend period

为了将用于历史和趋势的内置数据管理进行分区,这两个选项都必须打开。可以仅对趋势使用TimescaleDB分区 (by setting Override item trend period) 或仅用于历史记录 (Override item history period).

对于 PostgreSQL 10.2 或更高的版本和 TimescaleDB 1.5 及更高版本,timescaledb.sql 脚本会设置两个附加参数:

  • Enable compression
  • Compress records older than 7 days

安装好后可以在 AdministrationGeneralHousekeeping 更改这些参数.

您可能希望运行 TimescaleDB 提供的 timescaledb-tune 工具来优化postgresql.conf 中的 PostgreSQL 参数。

Compression can be used only if both Override item history period and Override item trend period options are enabled.

All of these parameters can be changed in AdministrationGeneralHousekeeping after the installation.

You may want to run the timescaledb-tune tool provided by TimescaleDB to optimize PostgreSQL configuration parameters in your postgresql.conf.

TimescaleDB 压缩

从 Zabbix 5.0(对于 PostgreSQL 10.2 或更高版本)和 TimescaleDB 1.5 或更高版本(对于由 TimescaleDB 管理的所有 Zabbix 表),都支持 TimescaleDB 压缩。在升级或迁移到 TimescaleDB 期间,数据量大的表的初始压缩可能花费大量时间。

推荐用户使用压缩之前,熟悉该文档 TimescaleDB

请注意,压缩会带来某些限制,特别是:

  • 不允许压缩块修改 (inserts, deletes, updates)
  • 不允许对压缩表的结构进行更改.

阻止 History and trends compression 压缩可以在前端设置 AdministrationGeneralHousekeeping .

参数 默认值 备注
Enable compression Enabled 选中或取消选中该复选框不会立即激活/停用压缩. 由于压缩由 Housekeeper 处理, 更改最多将在2倍 HousekeepingFrequency时间后生效 (set in zabbix_server.conf)

禁用压缩后,新块将不会压缩。但是,所有以前压缩的数据都将保持压缩状态。要解压缩以前压缩的块,请按照该说明进行操作TimescaleDB.

当从支持TimescaleDB的旧版本的Zabbix升级时,默认情况下不会启用压缩。
Compress records older than 7d 此参数配置不能少于 7 天.

由于压缩块的不可变性,早于此值的所有延迟数据将被丢弃(e.g. 代理延迟的数据) .