基于TimeScaleDB(PG时序数据库)离线部署Zabbix5.4

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

基于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)设置系统环境变量

cat >> /etc/pro

### CentOS 7 离线部署 Zabbix 指南 在CentOS 7系统上离线部署Zabbix监控系统,可以通过以下方法实现。此过程涵盖了从环境准备到最终配置的所有步骤。 #### 1. 系统环境准备 确保目标服务器已安装CentOS 7,并且没有联网的情况下,需要提前准备好所有依赖的软件包和脚本文件。可以参考一个完整的离线安装包资源[^1],其中包含了Zabbix Server、Web界面以及MySQL数据库的所有必要组件。 #### 2. 创建Zabbix用户和组 为了保证Zabbix服务的安全运行,首先需要创建专门的Zabbix用户和组。以下是创建命令: ```bash groupadd --system zabbix useradd --system -g zabbix -d /usr/lib/zabbix -s /sbin/nologin -c "Zabbix Monitoring System" zabbix ``` 这些命令确保了Zabbix以非特权用户身份运行,符合安全规范[^2]。 #### 3. 软件包准备 下载Zabbix相关的所有软件包并将其传输至目标服务器。建议从官方站点或其他可信来源获取最新版本的Zabbix软件包及其依赖项[^2]。对于CentOS 7,推荐使用RPM格式的软件包进行安装。 #### 4. 数据库初始化 选择MySQL作为后端数据库时,需先解压SQL脚本并导入到新创建的数据库中。执行如下命令完成数据库初始化: ```bash zcat /usr/share/zabbix-sql-scripts/mysql/server.sql.gz | mysql --default-character-set=utf8mb4 -uzabbix -p zabbix ``` 此步骤将为Zabbix建立所需的表结构及初始数据[^4]。 #### 5. 配置Zabbix Server 编辑Zabbix Server的配置文件`/etc/zabbix/zabbix_server.conf`,指定数据库连接参数以及其他必要的选项。例如: ```ini DBHost=localhost DBName=zabbix DBUser=zabbix DBPassword=your_password ``` #### 6. 启动服务并设置开机自启 启动Zabbix Server及相关服务,并将其添加到系统启动项中: ```bash systemctl start zabbix-server httpd systemctl enable zabbix-server httpd ``` #### 7. Web界面配置 通过浏览器访问服务器IP地址或域名下的Zabbix Web安装向导,按照提示完成最后的配置步骤。此时应确保PHP及相关模块已正确安装并启用[^3]。 以上即为在CentOS 7环境下离线部署Zabbix的具体流程。每一步均需仔细操作以避免潜在问题。
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值