官网TimescaleDB 配置

官网:https://www.zabbix.com/documentation/current/zh/manual/appendix/install/timescaledb

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

安装好后可以在 Administration → General → Housekeeping 更改这些参数.

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

TimescaleDB 压缩

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

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

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

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

阻止 History and trends compression 压缩可以在前端设置 Administration → General → Housekeeping .

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

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

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

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

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
好的,我明白您的问题了。要在Nacos中配置TimescaleDB的连接信息,您可以按照以下步骤进行操作: 1. 在Nacos中创建一个数据源配置,包括数据库的连接URL、用户名、密码等信息。 2. 在您的应用程序中使用Nacos Config来获取数据源配置,以连接TimescaleDB。 3. 在应用程序中使用JDBC连接池来获取数据库连接。 具体步骤如下: 1. 在Nacos中创建一个配置文件,例如:timescaledb.properties,并添加以下内容: ``` spring.datasource.url=jdbc:postgresql://[timescaledb_host]:[timescaledb_port]/[database_name]?sslmode=require spring.datasource.username=[username] spring.datasource.password=[password] spring.datasource.driver-class-name=org.postgresql.Driver ``` 其中,将`[timescaledb_host]`替换为您的TimescaleDB主机名或IP地址,将`[timescaledb_port]`替换为TimescaleDB的端口号,将`[database_name]`替换为您要连接的数据库名称,将`[username]`和`[password]`替换为您的数据库用户名和密码。 2. 在您的应用程序中添加以下依赖: ``` <dependency> <groupId>com.alibaba.nacos</groupId> <artifactId>nacos-client</artifactId> <version>1.4.1</version> </dependency> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-jdbc</artifactId> <version>2.5.2</version> </dependency> <dependency> <groupId>org.postgresql</groupId> <artifactId>postgresql</artifactId> <version>42.2.23</version> </dependency> ``` 3. 在您的应用程序中添加以下配置,以从Nacos Config获取数据源配置: ``` @Configuration public class DataSourceConfig { @Value("${spring.datasource.url}") private String url; @Value("${spring.datasource.username}") private String username; @Value("${spring.datasource.password}") private String password; @Value("${spring.datasource.driver-class-name}") private String driverClassName; @Bean public DataSource dataSource() { DriverManagerDataSource dataSource = new DriverManagerDataSource(); dataSource.setUrl(url); dataSource.setUsername(username); dataSource.setPassword(password); dataSource.setDriverClassName(driverClassName); return dataSource; } } ``` 4. 在您的应用程序中使用JDBC连接池来获取数据库连接,例如: ``` @Autowired private DataSource dataSource; // ... try (Connection conn = dataSource.getConnection()) { // 使用连接进行数据库操作 } catch (SQLException e) { // 处理异常情况 } ``` 这样,您就可以在Nacos中配置TimescaleDB的连接信息,并在您的应用程序中使用Nacos Config和JDBC连接池来获取数据库连接了。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值