基于TimeScaleDB(PG时序数据库)离线部署Zabbix5.4
原创 Zabbix开源社区 Zabbix开源社区 1周前
蔡斯 | Zabbix资深玩家
曾接管上千主机的上云迁移及应用运维,0到1构建Zabbix+Grafana监控体系。
精通互联网服务组件性能监控及告警优化,基于ZabbixAPI研发SDK对接蓝鲸CMDB,实现主机资产属性自动管理。
2021 Zabbix深圳大会圆桌讨论嘉宾。
一、背景介绍
考虑到安全因素,公司机房管理员通常会将服务器外网访问权限屏蔽,如应用运维有此方面的需求,在没有自建仓库的前提下,要走网络工单申请临时放通,而且只能针对特定网址开放,非常繁琐。这时源码编译就派上用场了。本文主要介绍如何在这种场景下通过源码编译方式,安装ZABBIX最新版及TimeScaleDB后端库(PG时序数据库)。
1.1、关于ZABBIX5.4
ZABBIX5.4系列已发布一段时间,其许多的新特性对运维有很大帮助。如定期生成的PDF可作为运维巡检的日报、周报或月报;基于标签式管理监控对象,包括:模板、主机、主机原型、触发器、指标和事件;在线Git模板存储库,可通过Zabbix API实时保持最新模板等等。更多特性可查看:官网中文介绍
1.2、关于TimeScaleDB
ZABBIX从4.2开始支持TimeScaleDB,它是一种基于PostGreSQL的数据库解决方案,可自动将数据划分为基于时间的块,以支持更快的大规模性能。Zabbix通过hypertable分区表实现监控数据自动清理和压缩,为大规模监控场景而生。值得注意的是,目前TimeScaleDB不支持ZABBIX PROXY作为后端库。
二、前置条件
2.1、环境介绍
环境 版本 备注
CentOS 7.9 x86_64
Zabbix 5.4.4 官网最新发行版,与DB同机部署
PHP 7.4.24 7.2.5+,暂不支持PHP8.0
Cmake 3.21.2 3.4+,编译TimeScale
PostgreSQL 13.4 官网最新发行版
TimeScaleDB 2.1.1 Zabbix5.4支持1.5~2.1
2.2、系统优化
1)将系统升级到最新
yum -y update
cat /etc/redhat-release
CentOS Linux release 7.9.2009 (Core)
2)关闭SeLinux/FireWall
systemctl disable --now firewalld
setenforce 0
sed -i ‘s/SELINUX=enforcing/SELINUX=disabled/’ /etc/selinux/config
reboot
3)核实操作有效性
sestatus
SELinux status: disabled
systemctl status firewalld
● firewalld.service - firewalld - dynamic firewall daemon
Loaded: loaded (/usr/lib/systemd/system/firewalld.service; disabled; vendor preset: enabled)
Active: inactive (dead)
Docs: man:firewalld(1)
三、部署后端库
3.1、后端库依赖包安装
在编译过程中,如提示缺少相关包的错误,一般情况下只需安装其对应的devel包即可解决问题,而CentOS的Yum Base仓会满足大部分场景,因此无需额外进行离线编译。
yum install -y perl-ExtUtils-Embed readline-devel zlib-devel pam-devel libxml2-devel libxslt-devel python-devel gcc-c++ openssl-devel cmake gcc readline-devel lbzip2 systemd-devel tcl-devl net-tools lrzsz
3.2、部署PostGreSQL
1)访问链接 ,下载PostGreSQL13.4,将pg安装包上传至包管理目录。
图片
mkdir -p /data/packages
cd /data/packages
rz -be
md5sum postgresql-13.4.tar.bz2
7bda65a37c46b8b2c1933d9d1cd677f2 postgresql-13.4.tar.bz2
2)创建组和用户
groupadd postgres
useradd -g postgres postgres
echo ‘<your_password>’ | passwd --stdin postgres
3)编译安装
mkdir -p /data/postgres/{data,logs}
tar xf postgresql-13.4.tar.bz2
cd postgresql-13.4
./configure --prefix=/data/postgres --enable-rpath --enable-nls --enable-dtrace --with-python --with-libxml --with-libxslt --with-openssl
make -j8 && make install
4)设置系统环境变量

本文详细指导在无公网访问权限的环境下,如何通过源码编译安装Zabbix 5.4并集成TimeScaleDB作为后端时序数据库,涉及环境准备、数据库部署、PHP和Zabbix安装配置,最终实现离线监控系统的搭建。
最低0.47元/天 解锁文章
8945

被折叠的 条评论
为什么被折叠?



