张世宏(当代张思德)
Zabbix开源社区签约专家
-年连续5届Zabbix中国峰会演讲嘉宾
年Zabbix全球峰会演讲嘉宾
自主研发开源组件Zabbix报表系统ZbxTable,在社区大获好评
前言
Zabbix6.0目前已发布beta1版本,包含众多新功能和新特性,本文主要介绍Zabbix6.0配置TimescaleDB,此安装配置方法可基本通用与其他版本。
TimescaleDB
TimescaleDB基于PostgreSQL数据库打造的一款时序数据库,插件化的形式部署,随着PostgreSQL的版本升级而升级,具备以下特点:
基于时序优化;
自动分片(按时间、空间自动分片(chunk));
全SQL接口;
支持垂直于横向扩展;
支持时间维度、空间维度自动分区。
空间维度指属性字段(例如传感器ID,用户ID等);
支持多个SERVER,多个CHUNK的并行查询。
分区在TimescaleDB中被称为chunk;
自动调整CHUNK的大小;
内部写优化(批量提交、内存索引、事务支持、数据倒灌);
复杂查询优化(根据查询条件自动选择chunk,最近值获取优化(最小化的扫描,类似递归收敛),limit子句pushdown到不同的;
server,chunks,并行的聚合操作);
利用已有的PostgreSQL特性(支持GIS,JOIN等),方便的管理(流复制、PITR);
支持自动的按时间保留策略(自动删除过旧数据);
Zabbix从5.0版本开始全面支持TimescaleDB,并针对其特性做了优化。可自动压缩历史数据存储,节省50-70%的存储空间,同时具备自动分区功能。通过ZabbixHousekeeper清理历史数据时直接清理对应的分区,大大提高了历史数据的清理效率。建议新建系统采用TimescaleDB方案。
环境介绍
此为实验环境,生产环境建议按照实际需要调整机器硬件配置。所有机器配置时间同步,并添加对应的hosts.
.16.66.61zbx-srv-61.16.66.63zbx-web-63.16.66.64zbx-db-61
ZabbixDB
安装好系统对系统进行初始化配置,安装必要的包.
初始化
yumupdate-ysed-is/SELINUX=enforcing/SELINUX=disabled//etc/selinux/configsystemctldisable--nowfirewallddnfinstallchronywget-ysystemctlenable--nowchronydsetenforce0
Zabbix6.0目前支持PostgreSQL13不支持最新的14版本,本次使用PostgreSQL13+TimescaleDB。
安装PostgreSQL
dnfinstall-y